Access数据库开发技巧
2024-06-22 11:28:49阅读量:45 字体:大 中 小
在当前数据库领域,已有越来越多的人开始采用Access。它是一个功能强大的数据库管理系统和MIS系统开发工具,具有界面友好、易学易用、开发简单、接口灵活等特点。现将本人在使用Access时体会到的一些经验在此与大家交流。
数据库设计的技巧
1. 统一规划
所谓数据库设计是指从对现行非计算机管理的数据库系统的分析到最终实现由计算机管理的数据库系统的全过程。它包括表、查询、报表等的设计。总的原则应从提高数据处理效率及便于数据处理两方面考虑。
以设计学生成绩管理系统为例,在表的设计中,是将全校学生成绩设计成一个表,还是分年级设表,经分析按年级设表将提高数据处理速度且便于数据的处理,相应须设置一个参数表以描述各年级的一些情况,这样以后在进行数据处理时可从参数表中提取有关参数。考虑到在输入学生成绩时可能出错,故应设计相应的副成绩表,这样每一成绩分二次输入,然后再建立相应的主副查询来核对主副表中的成绩是否一致,不一致则进行修改。再比如要进行十分段、单科每分段、总分每分段等数据的统计,可设计相应的表用Visual Basic程序来进行处理并将统计数据自动填入相应的表中。在字段的设计中要尽量减少字段数,比如,学生名次有班级名次与年级名次,我们可以将这两个名次用一个字段来表示,如用“m/ n”表示,“m“表示班级名次,“n“表示年级名次,这同样可用Visual Basic程序来实现。在设计报表时是以表为基础来建立报表还是以查询为基础来建立报表,显然以查询为基础来建立报表灵活方便,可以方便地通过修改查询及查询中的有关条件从而打印出所需要的报表。总之在进行数据库设计时要全盘考虑才能设计出合理的数据库对象。
2. 设置好关键字和表间关系
表的设计中关键字的设置很重要,设置关键字可以提高查询等操作的速度。有时可以用多字段作关键字。两个表的关系也很重要,比如主成绩表与副成绩表间若没有建立正确的关系,则主副查询将得不到正确的结果。
3. 设计好字段的缺省值
字段的缺省值有时也需引起注意。比如,在数字型字段中,因有些记录中可能没有输入过数据,在用Visual Basic程序处理时可能会出现一些不正确的结果(不知这是否是Access 97的Bug),但当将其缺省值设置为“0”后一切正常。
将窗体、查询、报表、宏联合使用可以解决许多问题,是一项重要的技巧。
1、从窗体中获得查询中的条件
对于这个问题这里以成绩表的打印为例来说明。我们要打印不同班级的成绩表,首先建立相应报表的查询,在查询中的班级字段下的条件中输入条件:Between [forms]![打印表格]![开始班号] And [forms]![打印表格]![结束班号]。然后再建立一个“打印表格”窗体,在窗体中添加两个组合框控件,即“开始班号”、“结束班号”两个组合框控件,并且通过“打印表格”窗体中的命令按钮来执行报表的打印,则报表所依赖的查询中的班级条件可以从“打印表格” 窗体中的“开始班号”、“结束班号”两个组合框中所输入的数据而获得。
2、从窗体中获得宏中所需要的条件
对于这个问题现以主副成绩比较查询为例来说明。我们可以为不同的科目建立不同的主副成绩比较查询,然后再建立相应的宏,在宏中根据不同的条件如 [选择科目]=“语文”来打开相应科目的查询。然后再建立一个“主副比较”窗体,在窗体中添加一个组合框控件,即 “选择科目”组合框控件,并且通过“主副比较”窗体中的命令按钮来执行相应的宏,则宏所依赖的条件可以从“主副比较” 窗体中的“选择科目”组合框中所输入的数据而获得。
报表的生成技巧
1、运用查询生成报表
如何产生报表在前面已经讲过,应以查询为基础来建立报表,这样灵活方便。具体来说就是先由基表生成一个查询,将条件设置好,再用报表生成器以该查询为基础生成报表,不需要的字段可以从报表中删去,若以后需要可再在报表中添上,报表中需要的表头信息若经常变动,也可从窗体中来获得表头中所需的信息,可参见前面所述。
2、表格线的制作
报表中若需要表格线,不能再用制表符来构造,可以在报表的设计视图中用画线工具来制作,程序中不便画表格线。
Access最重要的特征就是一般不必去写程序,然而可能因为要执行复杂或专业的操作而必须在模块中用Visual Basic编写程序,然后通过窗体中的命令按钮来执行相应的程序完成相应的任务。比如排名次、分段统计等。在编写Visual Basic程序时要注意以下一些问题和技巧。
1、变量的运用
①对象变量的运用
在Access中运用Visual Basic编写程序,需要运用其数据访问对象。它包括数据库引擎(DBEngine)、工作空间(Workspace)、数据库以及数据库对象中的表、查询、记录集等对象。如缺省工作空间:DBEngine.Workspaces(0),当前数据库:DBEngine.Workspaces(0). Databases(0)。我们可以用一个对象变量来表示一个对象,这样将为编程带来很大方便。为对象变量赋值要用Set语句,而不要直接赋值。例如:
Dim thedb As Database
Set thedb = DBEngine.Workspaces(0).Databases(0)
②Variant 数据类型的运用
Variant 数据类型是所有没被显示声明(如 Dim、Private、Public 或 Static等语句)为其他类型变量的数据类型。Variant 是一种特殊的数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据。Variant 也可以包含 Empty、Error、Nothing 及 Null特殊值。Empty 值用来标记尚未初始化(给定初始值)的 Variant 变量。内含 Empty 的 Variant 在数值的上下文中表示 0,如果是用在字符串的上下文中则表示零长度的字符串 ("")。Null 表示未知数据或丢失的数据,即无效数据。不应将 Empty 与 Null 弄混。Null 是表示 Variant 变量确实含有一个无效数据。
当有些量可能出现Null值时,可将该变量定义为Variant 数据类型。Variant 数据类型为编程者提供很大的灵活性,但牺牲了代码的速度和长度。
③通过变量来间接引用数据库对象及限定条件
为了增加灵活性,提高控制能力,减少代码的重复和运用循环语句,在程序中应充分运用变量来间接引用数据库对象和限定条件。比如各个年级学生成绩排名次的处理程序,只是各年级的成绩表名不同,我们可以将程序中的成绩表名用一个变量如“bzcjb”来表示,具体处理时再替换为具体的表名,如替换为高一年级的成绩表名“g1cjb”。
各子系统集成的技巧
1、选项组、开关按钮、组合框等控件的运用
在窗体上将这些控件巧妙地加以运用可以有机地将有关系统通过一个窗体来控制,这些控件选择值可以传递到查询、报表及宏中的条件中去,从而使得对查询、报表及宏的控制显得灵活方便。
2、选项卡控件的运用
在Access 97 版中新增加了“选项卡”控件,这更使Access可以在有限的窗体中集成更多的子系统。比如在“打印表格”窗体中就可集成“成绩表”、“十分段统计表”、单科每分段统计表“等子系统”,每个子系统对应一个标签页。
3、开关面板窗体的运用
运用开关面板窗体可以将所有的子窗体集成到一起。开关面板窗体可以运用新建一个窗体并在其上放置各命令按钮来集成各子系统窗体的方法来建立。开关面板窗体可以说就是一个系统主窗体,它可以指引用户选择所需进行的操作。我们也可以运用Access中的“开关面板管理器”来建立开关面板窗体。具体方法如下:
①单击“工具”、“加载项”,然后单击“开关面板管理器”命令。
②如果 Microsoft Access 询问是否要新建开关面板时,请单击“是”按钮。
③在“开关面板管理器”对话框中,单击“编辑”按钮。
④在“编辑开关面板页面”对话框中的“开关面板名”框中输入开关面板的名称,然后单击“新建”按钮。
⑤在“编辑开关面板项目”对话框的“文本”框中,为第一个开关面板按钮输入相应的文本,然后在“命令”框中单击所需的命令。如在“文本”框中输入“打印表格”,然后单击“命令”框中的“以编辑方式打开窗体”命令。
⑥Microsoft Access 是否会在“命令”框下显示另一方框取决于单击的命令。如果有必要,请单击该方框中的项目。例如,如果在步骤 5 的“命令”框中单击了“以编辑方式打开窗体”命令,可以在“窗体”框中单击要打开的窗体
⑦重复步骤 4 至 6,直到已经在开关面板中添加了所有要添加的项目。如果要编辑或删除项目,可以在“开关面板上的项目”框中单击该项目,然后单击“编辑”或“删除”按钮。如果要重新安排项目,可以在框中单击项目,然后单击“往上移”或“往下移”按钮。
⑧单击“关闭”按钮。
以上就是Access数据库开发技巧的全部内容,望能这篇Access数据库开发技巧可以帮助您解决问题,能够解决大家的实际问题是谜爱阁生活网一直努力的方向和目标。
免责声明:
本文《Access数据库开发技巧》版权归原作者所有,内容不代表本站立场!
如本文内容影响到您的合法权益(含文章中内容、图片等),请及时联系本站,我们会及时删除处理。
推荐阅读

qq打开文件默认设置怎么改
qq,为腾讯qq的简称,是一款基于互联网的即时通信软件。修改qq打开文件默认设置的具体操作如下: qq打开文件默认设置怎么改 1、点击手机设置”-应用与权限”-应用管理&rdq...
阅读: 833

微信注销后聊天记录还能恢复吗
如果对聊天记录进行备份或迁移的话,微信注销后聊天记录可以恢复。如果没有对聊天记录进行备份或迁移的话,微信注销后聊天记录无法恢复。以下是注销微信的操作步骤: 微信注销后聊天记录还能恢复吗 1、打开微信A...
阅读: 941

微信群太多怎么实现分组管理
微信群太多可以使用折叠群的功能进行分组管理,将群设置为折叠群的具体操作步骤如下: 微信群太多怎么实现分组管理 1、打开微信app,点击下方的通讯录,再点击群聊进入群聊界面。 2、进入群聊界面后,选择...
阅读: 892

微信预约挂号怎样切换就诊人
以梧州市中医院公众号为例,在梧州市中医院微信公众号预约挂号切换就诊人的具体操作步骤如下: 微信预约挂号怎样切换就诊人 1、打开微信APP,搜索梧州市中医院公众号”,点击该公众号,再点击发消...
阅读: 832

快手别人怎么关注不了我
如果别人关注不了你的快手账号的话,可能是你开启了隐私用户”,关闭隐私账户”的具体操作方式如下: 快手别人怎么关注不了我 1、打开快手,点击左上角的三条横线”,进入功...
阅读: 869

微信一打就是对方忙是不是设置了
微信一打就是对方忙不是设置了,因为无法设置。打微信电话提示对方忙”有以下两种情况:1、对方在忙线,正在与别人打微信或者视频电话。2、对方不想接听电话,选择挂断。以下是拨打微信语音电话的具体...
阅读: 763
热门文章
1.快手上的流动文字怎么弄
- 1

- 快手上的流动文字怎么弄
- 2022-12-28
- 1
2.英语趣配音怎么导出视频
- 2

- 英语趣配音怎么导出视频
- 2022-12-28
- 2
3.上传群相册怎么不在群里显示
- 3

- 上传群相册怎么不在群里显示
- 2022-12-28
- 3
4.电子稿怎么弄
- 4

- 电子稿怎么弄
- 2022-12-28
- 4
5.在喜马拉雅上怎么接配音任务
- 5

- 在喜马拉雅上怎么接配音任务
- 2022-12-28
- 5
6.微信删除好友频繁了怎么继续删除
- 6

- 微信删除好友频繁了怎么继续删除
- 2022-12-28
- 6
7.朋友圈动图怎么不动
- 7

- 朋友圈动图怎么不动
- 2022-12-28
- 7
8.拉黑了怎么加回来
- 8

- 拉黑了怎么加回来
- 2022-12-28
- 8
9.超话等级怎么快速升
- 9

- 超话等级怎么快速升
- 2022-12-28
- 9
10.支付宝买彩票在网上怎么买
- 10

- 支付宝买彩票在网上怎么买
- 2022-12-31
- 10
最近更新

酷狗音乐中使用蝰蛇音效制作工具的具体操作方法
2024-11-11

win7电脑中出现声音图标不见了的具体解决方法
2024-11-11

车到哪app的详细软件介绍
2024-11-11

小米9se中查看序列号的具体操作方法
2024-11-11

迅雷中使用FTP探测器的详细操作方法
2024-11-11

ppt制作出小荷才露尖尖角动画场景的具体操作步骤
2024-11-11
