设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4782|回复: 13
打印 上一主题 下一主题

[Access本身] [原创]access设计中值的注意的一些问题,欢迎接龙

[复制链接]
跳转到指定楼层
1#
发表于 2005-6-10 23:16:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面是俺的一些经验和体会,在平时设计时请避免以下提到的问题







一、库项目(表、窗体、控件等)名称中带有空格、引号、点号之类的特殊符号或是纯数字(当你想把字符格开,最好的办法是用_格开)











注:用MS的向导做窗体,特别是子窗体时,容易出有空格的窗体名,这时应该手动改过来













造成结果是在VBA、函数、查询中引用该控件时极易出错







特别是把控件写成纯数字的,你会发现在VBA中更本不能用。







另外如果有字段是数字加字母的,在查询中最好用[]括起来,不然有可能出错













二、控件名和字段名同名引起这个最大的原因是用向导生成窗体或报表时,MS自动用字段名做为显示其内容的控件名(这个MS真是误人啊!)













造成结果是引用混淆,搞不清楚是在引用控件,还是引用字段,从而发生错误。













三、表中定义数据不符合实际类型,如把应该是数字型的字段定义成文本字段



















四、不显示定义变量







例如 你没定义 StrA 这个变量是文本变量(dim Stra as String)就直接用 Stra="你好" 这样的语句来给stra变量赋值最好的解决办法是 在代码编辑窗体中的工具菜单-选项-编辑器,把要求变量声明勾上













造成结果是 这时Stra 被系统定义成Variant类型,而这个类型是很占系统资源的,另外还容易造成变量类型混淆







              













五、用Excel习惯来设计Access表







如下面







数量 项目A 项目B 日期







应该改成数量 项目类型 日期













六、把可以用查询得到的数据放在原表中















姓名 出生日期 年龄







这个年龄字段完全可以不要













在你需要用年龄的时候可以用 当前日期-出生日期 得到













七、在查询中 当比较数据或限定条件时 对相应的格式没有采取格式化操作如 where 姓名=张三   在这里姓名是文本格式的字段 应该改成 where 姓名="张三"

    where 日期=<st1:chsdate Year="2005" Month="1" Day="1" IsLunarDate="False" IsROCDate="False" w:st="on">2005-1-1</st1:chsdate>  在这里日期是日期格式的字段,最好改成 where 日期=#<st1:chsdate Year="2005" Month="1" Day="1" IsLunarDate="False" IsROCDate="False" w:st="on">2005-1-1</st1:chsdate>#







这样就不会出现一些关于数据不匹配的错误了













八、设计需要连续编号字段时采用自动编号,自动编号这种格式当你删除了一条记录后,他并不会对编号进行重排







如   1    你

      2 我

      3 他当你 删除了 他 这条记录时后 ,想再增加一条记录 ,编号从 4开始,而不是从3开始 













<FONT face=宋体>大家如果有自己的体会,可以跟贴写上



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-6-10 23:29:00 | 只看该作者
谢谢帅哥!呵呵!
3#
发表于 2005-6-11 01:45:00 | 只看该作者
最好能详细说一下为什么要这样。我们好长见识,也能记得牢。
4#
 楼主| 发表于 2005-6-11 03:52:00 | 只看该作者
ok,我加点说明,也欢迎大家接龙,把自己的体会写出来
5#
发表于 2005-6-13 19:22:00 | 只看该作者

好资料

顶!  能举点更多的例子吗?呵呵

不过对于初学者可以讲的更详细点吗?

确实很多地方对于新手来说不懂原因叫做知其然,不知其所以然



6#
发表于 2005-6-14 19:12:00 | 只看该作者
以下是引用samsonhg在2005-6-13 11:22:00的发言:



顶!  能举点更多的例子吗?呵呵

不过对于初学者可以讲的更详细点吗?

确实很多地方对于新手来说不懂原因叫做知其然,不知其所以然



7#
发表于 2005-6-15 19:33:00 | 只看该作者
字段设计应尽可能细化,如“班级”字段值为“三年级二班”,最好应分为“年级”字段和“班级”字段,即将“三年级”和“二班”分开。
8#
发表于 2005-6-16 00:57:00 | 只看该作者
六、把可以用查询得到的数据放在原表中



















姓名 出生日期 年龄









这个年龄字段完全可以不要















在你需要用年龄的时候可以用 当前日期-出生日期 得到

关于这个问题,我通常都会先考虑数据量是否庞大,如果数据量庞大的话我会保留年龄字段,起码省掉运算实际
9#
发表于 2005-6-16 07:35:00 | 只看该作者

vb文件命名和该文件中自编涵数命名问题

在自编的vb代码的时候,vb代码的名字不能和程序是一个名字.

如:vb代码的名字叫   wenjian          那么涵数的名字就不能叫wenjian

否则调用涵数是要出现    提示  :            错误#

嘿嘿,我人笨,吃过亏哈.拿给大家分享分享.

哈哈.这一条对初学者有用哦~~~

10#
发表于 2005-6-17 19:25:00 | 只看该作者
补充1楼中的四事项:在我们设定变量如:类似 Dim x01 as Variant ,x02 as recordset,x03 as Object 等等后,在程序完成之后为了释放系统资源,我们还须加上以set x01=nothingset x02=nothingset x03=nothingset 变量=nothing这样的语句能够释放我们对变量赋加值所占用的系统资源,当然在少量应用中并不明显,但如在大量应用,如数组的应用里可以会变的突出些,但为了养成良好的编程习惯,望大家好好掌握名类规与技巧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-1 18:23 , Processed in 0.108703 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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