Access 命名规则Word文件下载.docx
- 文档编号:17676299
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:16
- 大小:26.94KB
Access 命名规则Word文件下载.docx
《Access 命名规则Word文件下载.docx》由会员分享,可在线阅读,更多相关《Access 命名规则Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
LNC命名规则提倡所有的对象的名称均由下面四个部分组成:
一个或多个前缀、一个标记符、基本名字、限定词
[prefixes]tag[Basename][Qualifier]
注:
[]里的内容表示为可选内容。
标记符是必须的内容,但一般情况下,你都需要一个基本名字来准确描述你的变量的实际功能,以用来区分同类型的不同意义的变量。
如果你仅仅使用一个标记符来标记一个变量,那么就比较难以分辨不同的变量,但有一种情况除外,那就是你传一个对象参数给另一个函数时,可以不需要指定基本名字,例如你需要传递一个窗体对象给一个初始化窗体颜色的函数,那么这个作为参数传递的窗体对象实际上是作为一种通用的窗体对象,所以你不必为它指定一个具体的名字,而直接使用标记符即可。
下面举出几个简单的例子:
名称
前缀
标记符
基本名字
限定符
备注
tblCustomer
tbl
Customer
客户表
aintPartNum
a
int
PartNum
零件号数组
strCustNamePrev
str
CustName
Prev
原来的客户名
前缀和标记符总是小写的,这样当我们的眼光扫过对象名称时,目光就会停留在以大写字母开头的基本名字上面,这样提高了名称的可读性,基本名字和限定符都是以大写字母开头的。
基本名字简洁地描述了这个对象的意义,而非描述它的类别,例如在查询qryPartNum这个名称中,PartNum就是基本名字,它是“PartNumber”的缩写,对象的标记符应该是简单且易记忆的,而前缀是放在对象名和标记符之前,用来提供更多或额外的信息,例如数字对象intPartNum前加个a,代表这个零件号数组,即aintPartNum,更进一步,如果我们需要一个变量来指定aintPartNum这个数组的索引,那需要在这个数组的前面再加一个前缀I,那这个变量的名称应该是iaintPartNum。
当然,你会发现,如果严格按照上述的规范来命名你所有的对象,需要你付出更多的努力并增加你现有的工作量,但如果一年后让你重新来修改下面这两种风格的代码,你会觉得哪种更易于修改和更易于重用呢。
第一种风格:
Z=Y(X)
第二种风格:
intPart=aintPartNum(iaintPartNum)
对象限定符是在基本名字后面再加一个符号以更具体阐明这个对象,我们还是以前面的iaintPartNum为例,如果你想为这个数组保存两个索引号,一个是第一个索引号,一个是最后一个索引号,在iaintPartNum加上限定符就变成了iaintPartNumFirst和iaintPartNumLast
命名数据库对象:
数据库对象(表、查询、窗体、报表、宏、模块)是在ACCESS应用程序中经常被引用的对象,它们会出现在宏、VBA代码和属性中,所以如何对它们正确命名是非常重要的。
微软所带的Northwind数据库例程以及微ACCESS手册中允许对象名中存在空格,但我们不建议这种命名风格,在许多数据库引擎和编程语言中,包括ACCESSBASIC,空格是一种分隔符,它不是对象名称的一个逻辑部分,而且,在许多数据库平台中包括微软的SQLSERVER数据库和WORD文字处理程序,带有空格的名称是不能工作的。
相反,使用一种大小写混合的方式来指定名称,例如:
tblAccountsPayable,如果一定要使用空格,那就用下划线“_”来取代它。
对LNC命名规则中,所有数据容器对象都有一个标记符,在对象名称前面加上标记符对非编程人员来说可以不会增加太多可读性,但对于编程新手来说,当他们需要在报表精灵的数据源列表框或一个窗体的控件源选择一个表或查询时,添加标记符会带来很大帮助,因为ACCESS会把表和查询不加分别地放在一个长列表里。
下面是级别1的数据库容器对象的标记符:
对象
例子
Table
TblCustomer
Query
qry
qryOverAchiever
Form
frm
FrmCustomer
Report
rpt
rptInsuranceValue
Macro
mcr
mcrUpdateInventory
Module
bas
BasBilling
在级别1,数据库容器对象唯一需要的一个限定符就是Sub,它是放在那些子窗体或子报表的窗体名的后面.例如窗体frmProductSupplier拥有一个相关的子窗体frmProductSupplierSub.这样,一旦排序时,对象和它的子对象就会顺序排在一起。
下面是级别2的数据库容器对象的标记符:
Table(lookup)
tlkp
tlkpShipper
Query(select)
qry(orqsel)
Query(append)
qapp
qappNewProduct
Query(crosstab)
qxtb
qxtbRegionSales
Query(datadefinition)
qddl
qddlAddWorkColumn
Query(delete)
qdel
qdelOldAccount
Query(formfilter)
qflt
qfltSalesToday
Query(lookup)
qlkp
qlkpStatus
Query(maketable)
qmak
qmakShipTo
Query(pass-through)
qspt
qsptArchiveQuantity
Query(union)
quni
quniOrderDetail
Query(update)
qupd
qupdDiscount
frmCustomer
Form(dialog)
fdlg
fdlgLogin
Form(menu)
fmnu
fmnuUtility
Form(message)
fmsg
fmsgWait
Form(subform)
fsub
fsubOrder
Report(subreport)
rsub
rsubOrder
Macro(forform)
m[formname]
mfrmCustomer
Macro(menu)
mmnu
mmnuEntryFormFile
Macro(forreport)
m[rptname]
mrptInsuranceValue
basBilling
如果使用级别2的命名规则,则在数据库容器里排序时,有着类似功能的对象会排在一起,当你的应用越来越大时,在你的数据库系统中可能会包含100个窗体或者更多,而其中30个窗体是用来显示消息用的,如果有一天,你需要将这个消息窗体里面的文本框的文字由黑色全部改成红色,你必须逐一打开每个窗体确定它是否消息窗体然后再修改文本框的颜色,但如果你把它们的名称设为包含同样的标记符fmsg,那么排序时它们会排在一起,那你修改的时候就不必一个一个去筛选了,大大节约了你修改时间。
请小心仔细地选择表的名称,因为改变ACCESS对象的名称并不会自动应用到整个数据库,所以当在ACCESS对象创建时给它正确命名是非常重要的。
例如,在以后的开发过程中如果需要改变表的名称,你可需要改变所有引用到到这个表名的表、查询、窗体、报表、宏和模块中引用到到这个表名,虽然,有一些辅助工具可以帮你减轻一些工作量,但最好还是在一开始就给它正确地命名。
你可能希望引用了一个表的每个数据对象都有一个与表名一样的基本名字,而使用相应的标记符来区分它们,例如,你的表名是tblCustomer,它的主窗体名应该是frmCustomer,它的主报表名应该是rptCustomer,而引发相关这些事件的宏名应该是mfrmCustomer和mrptCustomer,我们也建议表的名称不宜用复数形式,例如使用tblCustomers,因为一个表通常都是包含多条记录的,这暗示它本身就是复数的。
数据库对象前缀
?
我们使用四种数据库对象前缀:
"
zz"
表示那些你已经废弃的但是可能想要在数据库中将来作为参考或保存使用的对象(举例来说,zzfrmPhoneList)."
将导致对象名称排在数据库容器的底部,这样,它就会放在一个不显眼的地方,但它仍然是有效的。
zt"
表示一些临时的对象(举例来说,ztqryTest).
..1
zs"
表示系统对象(举例来说,zstblObjects).系统对象是那些不被最终用户使用的那些有关系统开发和维护方面的对象,例如错误日志,开发注解,文档,关联信息等等.(注意"
是前缀.这样系统对象就会尽量排在数据库容器的底部).
_"
来表示那些正在开发中的对象(举例来说,_mcrNewEmployee).一个对象名字前面加上下划线可使它排在数据库容器的顶端,提醒你它需要注意.当这个对象已经全部完成后,除去下划线,它将会正常地排序.
字段标志符
在字段上使用标志符一直是一个争议的话题,甚至在这个文章的作家之间也存在不同的见解.Greg主张字段标志符也应该统一使用与其它ACCESS数据对象及VBA中使用的一样的命名规则,而Stan则更喜欢使用一种与平台和数据类型无关的命名方式,即字段名称不需要加字与字段类型相关的标志符,这样有助于数据库移植和相互连通。
考虑到两者的立场,连同你自己的需求,你们可以选择在命名时是否加入下表这些标志符:
数据类型
标志符
Binary
Bin
binInternal
Byte
Byt
bytFloorNum
Counter
Lng
lngPKCnt
Currency
Cur
curSalary
Date/Time
Dtm
dtmHireDate
Double
dbl
dblMass
Integer
int(Cprogrammersmayprefer"
w"
)
intUnit
Long
lng(Cprogrammersmayprefer"
dw"
lngPopulation
Memo
mem
memComments
Ole
ole
oleEmpPhoto
Single
sng(Someusersfind"
sgl"
moremnemonic)
sngScore
Text
str(Usedasopposedto"
txt"
becauseatextboxcontroluses"
.Cprogrammersmayprefer"
sz"
strFirstName
Yes/No
ysn(Cprogrammersmayprefer"
f"
ysnDiscounted
注意:
..2
ACCESS引擎("
jet"
)支持二进制的数据类型,但它并没有对用户开放这种功能,但是你可以通过汇入或链接到外部表来实现这种数据类型,而且,一些系统表也使用这种数据类型命名。
..3
在ACCESS内部,自动编号数据类型是当作是一种长整型来对待,只是增加了一个auto-increment的特殊属性,而自动编号字段经常会作为外键被其它表引用,所以Greg使用了与长整型同样的标记符,但如果你想区分长整型与自动编号类型,则可以在对象名称最后加上Cnt限定符
..4
标签控件对象
当你创建一个新的绑定控件时,窗体或报表会自动分配字段的名称给这个控件名称,控件与字段使用相同的名称会导致命名的混乱,特别你在VBA代码中同时引用到字段和控件,有时会导致一些错误,为避免这种情况,需要在控件名称前面加上标记符,例如一个文本框控件,它的控件来源是Customer,那么我们给它取的名称就是txtCustomer.
在级别1中,使用者只是想区分活动控件和标签,对不太关心控件的类型,这样,控件的标记符就如下所示:
Object
Tag
Example
Label
lbl
lblLastName
Othertypes
ctl
ctlLastName
级别1描述了了控件之间一个很小的差异性的,不过,它在函数、宏或程序文档还是非常有用的,例如,通过它可以区别哪些控件是属于标签,那些是其它控件,其中前者是不可修改的,而后者则可从用户输入或代码中接受值
级别2指明了窗体或报表中控件的类型,这样VBA代码或宏更容易区分这些控件的属性和事件
Chart(graph)
cht
chtSales
Checkbox
chk
chkReadOnly
Combobox
cbo
cboIndustry
Commandbutton
cmd
cmdCancel
Frame(object)
fra
fraPhoto
lblHelpMessage
Line
lin
linVertical
Listbox
lst
lstPolicyCode
Optionbutton
opt
optFrench
Optiongroup
grp
grpLanguage
Pagebreak
brk
brkPage1
Rectangle(VisualBasicusestheterm"
shape"
shp
shpNamePanel
Subform/report
sub
subContact
Textbox
txt
txtLoginName
Togglebutton
tgl
tglForm
对控件来说,唯五的前缀就是“zs”,它只出现在级别2中,它表明这是一个系统控件,只被窗体或代码使用,而不对用户开放,例如有些控件在运行时是不可见的,但它可能用来存储一些临时值或传递参数给窗体
唯一的前缀为控制,"
出现在水平2.它指示系统-水平被形式用或编码的控制但是不对使用者显示.如此的控制通常不对~感到看得见的跑计时但是他们可能储存暂时的价值,否则叁数传给形式.
命名代码或宏中的对象:
使用标准的描述性强的变量、常量、和函数名可大大增强代码的共享、维护、和联接的能力
变量的标记符
每个变量都应有一个如下表所示的标记符
变量类型
Container
con
DimconTablesasContainer
Control
DimctlVaporAsControl
cur
DimcurSalaryAsCurrency
Database
db
DimdbCurrentAsDatabase
Document
doc
DimdocRelationshipsasDocument
DimdblPiAsDouble
Dynaset
dyn
DimdynTransactAsDynaset
Flag(Y/N,T/F)
f
DimfAbortAsInteger
Field
fld
DimfldLastNameasField
DimfrmGetUserAsForm
Group
gru
DimgruManagersasGroup
Index
idx
DimidxOrderIdasIndex
DimintRetValueAsInteger
lng
DimlngParamAsLong
obj
DimobjGraphAsObject
Parameter
prm
DimprmBeginDateasParameter
Property
prp
DimprpUserDefinedasProperty
QueryDef
qdf(orqrd)
DimqdfPriceAsQueryDef
Recordset
rec(orrst)
DimrecPeopleasRecordset
Relation
rel
DimrelOrderItemsasRelation
DimrptYTDSalesAsReport
sng
DimsngLoadFactorAsSingle
Snapshot
snp
DimsnpPartsAsSnapshot
String
DimstrUserNameAsString
DimtblVendorAsTable
TableDef
tdf(ortbd)
DimtdfBookingasTableDef
Type(user-defined)
typ
DimtypPartRecordAsmtPART_RECORD
User
usr
DimusrJoeasUser
Variant
var
DimvarInputAsVariant
Workspace
wrk(orwsp)
DimwrkPrimaryasWorkspace
Yes/No18
ysn
DimysnPaidAsInteger
在我们的命名方式中,不使用$和%这些数据类型前缀,因为在ACCESS和Visualbasic的文档中是不推荐使用这些前缀的
象窗体和报表这样的数据库对象变量的标记符是与数据库对象的标记符是一样的,这样命名有助于编程,因为通常你分配给一个变量的名称(如tblVendor)与它所引用的对象(tblVendor)有同样的名称,这样就会在编程中提供统一的对象
常量和自定义数据类型
使用大写名字作为常量,这是WINDOWS编程的一种习惯,
范围前缀
命名级别2中引入了变量和常量的范围前缀的概念,范围放在其它所有前缀的前面
➢
局部定义的变量没有前缀
局部定义的静态变量前缀为"
s"
例如"
sintAc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Access 命名规则 命名 规则
![提示](https://static.bdocx.com/images/bang_tan.gif)