ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3810|回复: 2

[分享] ACCESS2007中命名名称的限制和技巧

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-7-4 19:05 | 显示全部楼层 |阅读模式
之前讲过中英文名称在数据库中的利弊

下面说一下名称在定义后使用时具体有什么限制和技巧:

在ACCESS2007中,文件名最长可达 255 个字符。文件名中可以使用大写或小写字母。文件名会保留在创建它时使用的大小写,但文件名不区分大小写。
需要注意的是,在文件名中使用某些字符会导致名称无效,具体如下:

问号 ?
引号  "
斜杠 /
反斜杠 \
小于号 <
大于号 >
星号 *
竖线 |
冒号 :

下面是我总结的一些命名问题及注意事项,大家可以借鉴:

1、向ACCESS导入表时不要在源表中使用特殊字符。因为将包含制表符或其他特殊字符的文本文件导入ACCESS时,特殊字符会转化为方框,当使用导入的表时,ACCESS会遇到意外错误;

2、不要在数据库对象的名称或控件的名称中使用全角字符。因为在对象或控件的事件过程中可能存在代码,全角字符如圆括号会引起编译错误;

3、创建超级链接时不要使用数字标记。数字标记在ACCESS中被视为保留字,超级链接会存储为一些经修改的“备注”字段,以数字标记 (#) 作为分隔符;

4、当将数据库对象导出到其他文件格式(Excel、HTML或某种文本文件)时,不要在数据库对象名称或字段名称中使用数字标记 (#) 或句号 (.);

5、使用 ASP 窗体在ACCESS 数据库中添加或修改数据时,不要在窗体中使用百分号 (%)、加号 (+)、或乘幂符号(^)。这些特殊字符在ACCESS数据库中不能正确转换。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-7-4 19:06 | 显示全部楼层
分享我曾经打工的一家私企的命名标准:

定义或命名任何文件、控件、变量,都以属性+类型+描述的结构来进行,中间用下划线连接,大、小写混合使用且每一部分首字母都要求大写。举例:

表:Sys_Tbl_Workform(系统表)
查询:Qry_User(普通查询)
窗体:Frm_Activeframe(普通窗体)
报表:Hid_Rpt_Database(隐藏报表)

具体规则记不清了。这使不同的程序员定义的名称都很容易理解其类型和用途,便于记忆和修改,使代码统一易读,减少注释和完善环节。公司不大,但在命名规则这点做的不错的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-7-4 19:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
下面的命名标准是硬盘上的留存资料,以前学习时在网上找到的,提供给大家作参考。

以Reddick VBA Naming Conventions (RBVA)为基础的命名标准:

变量:
    变量名应总是混合使用大小写,变量名中的每个字或缩写都用大写字母开
    在变量名中不要使用下划线
    只有在必要时才缩写变量名
    使每个变量名的开始都描述它所包含的数据类型
  
对象格式如下:   [前缀] 标记 [基本名[后缀]]
如: mstrFirstName
一、ACCESS对象标记使用的前缀  
前缀 控件类型 实例
app Application appInfoBase
chk CheckBox chkReadOnly
cbo ComboBox cboLanguages
cmd CommandButton cmdRefreshTable
ctl Control ctlAny
ctls Controls ctlAll
ocx CustomControl ocxCalendar
dcm DoCmd dcmOpenForm
frm Form frmDataEntryView
frms Forms frmsClientsAndOrders
img Image imgHeadShot
lbl Label lblShowAllCheckBox
lin Line linDivider
lst ListBox lstLastTenSites
bas Module basErrorControl
ole ObjectFrame oleWorksheet
opt OptionButton optReadOnly
fra OptionGroup fraColorSchemes
brk PageBraek brkTopOfForm
pal PaletteButton palBackgroundColor
prps Properties prpsActiveForm
shp Rectangle shpHidableFrame
rpt Report rptOrders
rpts Reports rptsTodaysChanges
scr Screen  scrSecondSplashScreen
fsub Subform fsubBillableHours
rsub SubReport rsubTopFiveSales
Txt 文本Box txtAdditionalNotes
Tgl ToggleButton tglShow格式ting

二、ACCESS标准变量类型的前缀及存储空间
前缀 数据类型  存储(字节)
byte或byt  1
bool或f Boolean 2
int Integer 2
Ing Long 4
sng Single 4
dbl Double 8
cur 货币 8
dat Date and Time 8
obj Object 可变
str String 每个字符占一个字节
stf String(固定长度) 每个字符占10+1个字节
var Variant 每个字符占16+1个字节

       Jet Engine 使用了对象,在VBA代码中,你可能需要引用这些对象。下面表-3列出了Data Access Objects(数据访问对象,DAO)对象类型及其标准的命名前缀  
三、Jet对象/集合前缀  
前缀 对象类型
cnt Container
cnts Containers
db Database
dbs Databases
dbe DBEngine
doc Document
docs Documents
err Error
errs Errors
fld Field
flds Fields
grp Group
grps Groups
idx Index
idxs Indexs
prm Parameter
prms Parameters
pdbe PrivDBEngine
prp Property
prps Properties
qry(或qdf) QueryDdf
qrys(或qdfs) QueryDefs
rst Recordset
rsts Recordsets
rel Relation
rels Relations
tbl(或tdf) TableDef
tbls(或tdfs) TableDefs
usr User
usrs Users
wrk Workspace
wrks Workspaces

四、作用范围和生存期的前缀  
前缀 说明
(无) 局部变量,过程级的生存期
s 局部变量,程序级的生存期(静态变量)
m 私有(模块)变量,程序级的生存期
g 公共(全局)变量,程序级的生存期

五、“数据库”窗口对象的标记
前缀 对象类型  
tbl Table(表)
qry Query(查询)
frm Form(窗体)
rpt Report(报表)
mcr Macro(宏)
bas Module(模块)

六、特定“数据库”窗口对象的标记
前缀 后缀 对象类型
tlkp Lookup Table(Lookup)(查阅表)
qsel (无) Query(select)(选择查询)
qapp Append Query (append)(追加查询)
qxtb Xtab Query(crosstab)(交叉表查询)
qddl DDL Quer(DDL)(DDL查询)
qdel Delete Query(delete)(删除查询)
qflt Filter Query(filter)(筛选查询)
qlkp Lookup Query(lookup)(查阅查询)
qmak MakeTable Query(make table)(生成表查询)
qstp PassThru Query(SQL pass-through)(SQL传递查询)
qtot Totals Query(totals)(总计查询)
quni Union Query(union)(联合查询)
qupd Update Query(update)(更新查询)
fdlg Dlg Query(dialog)(对话查询)
fmnu Mnu Query(menu)(菜单查询)
fmsg Msg Query(message)(消息查询)
fsfr Subform Query(subform)(子窗体查询)
rsrp SubReport Query(subreport)(子报表查询)
mmnu Mnu Query(menu)(菜单查询)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-12 12:27 , Processed in 0.017451 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表