Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-教程

Access2003数据库快速开发教程(九)

时 间:2013-10-30 21:54:25
作 者:竹笛   ID:8  城市:上海  QQ:2851379730点击这里给张志发消息
摘 要:学习要求:本节预计学习课时为0.5小时,重点是:学会创建一个查询。
正 文:

6 查询的设计



学习说明

    在前面的课程中,为了讲述的方便,我们已经往tblCodelb表中手工录入了一些测试数据,现在,为了以后的课程讲述的方便,我们仍然需要录入一些数据——接下来,请按住【Shift】键,双击打开【Main.mdb】文件,然后单击【对象】区的 按钮,然后,双击打开链接表tblCodeyg,录入一些测试数据——为了更好地学习,在学习的过程中,录入的测试数据,最好与本教程中录入的测试数据保持一致。


    录入完成之后,如下图所示:

    


    关闭tblCodeyg,然后双击打开tblBxmx表,录入一些测试数据(lbID和ygID字段通过点选下拉列表来完成录入),如下图所示:


    需要再次强调的是,按照原则,是严禁用户直接在表中录入数据的,但我们为了表述的方便,就暂且录入一些数据——需要值得注意的是,手工录入,因为缺少输入的辅助手段,也缺少一些相应的约束措施,因此,很容易出错,因而在录入的过程中,请严格按照遵守表设计说明书(第3课)中所提到的全部规范,比如,编号字段的规则(报销编号的编号规则是:首字母M+年份4位+月份2位+4位递增流水号)——如若录入的数据,不符合表设计说明书的规则,由于表中字段的【字段属性】中的约束仍然有效,因此,系统可能会报错,导致无法完成正常的录入(表的属性只能执行表设计说明书的部分基本约束,还有一些约束,需要借助窗体的控件或相关代码来完成)。

此外,还有一点需要说明——对于当前的录入,每一个表的首个编号字段,固然是需要手工来填写的,但在开发完成之后,该编号字段将交由系统托管,所以,这项繁琐的工作,并不再需要人工来干预,所以,毋须为此多生疑虑。


    当前,我们是在链接表中录入数据的,为了检验链接表的效果,录入完成之后,可以将当前已经打开的【Main.mdb】关闭,然后再打开【Data.mdb】文件,一一检查刚才录入数据的2个表,可以看到,刚才录入的数据已经被同步过来了,如下图所示:


    如上图所示,我们可以发现,有一个现象,好像有些异常——那就是tblBxmx表中的lbID和ygID字段,存储的好像并不是编号,而是我们所点选的选项值,如此一来,好像完全违背了我们先前反复强调,并加以详细解说的设计目标,也不符合表设计说明书的规范——为什么这么说呢?


    比如,lbmc字段,我们知道,其【字段大小】是3个字符,而其中的一个值,比如电话费,三个中文汉字,按照常识,一个中文汉字的长度是2个字符(字母和数字都是1个字符),那么,电话费这三个汉字要想存储在表格中,其对应的【字段大小】,最小也不能低于6个字符,但是现在却存储在一个【字段大小】只有3字符的字段中,这不是很奇怪么?ygID字段也是如此,其【字段大小】也是3字符,其中任意一个,即便只有2个中文汉字的姓名也是不能容纳的。


    其实,这种表面看起来的异常,只是假象——实际上,这两列数据,真正存储的数据,都是货真价实的编号,而并非实际的中文字符,为了还原其本来的面目,请按以下的方法操作:


    关闭当前已经打开的tblBxmx表,然后点选tblBxmx表,再单击 按钮,如下图所示:

    


    然后,就进入了tblBxmx表的设计视图,接下来,我们选中lbID字段,然后将其【字段属性】由默认的【常规】选项卡,切换到【查阅】选项卡——在第5课中,我们已经很熟悉这个位置了。接下来,现在我们将【显示控件】由组合框再改回文本框,然后,ygID字段,也同样如此操作,完成之后,保存表设计,然后关闭tblBxmx表,并再次双击打开tblBxmx表,则如下图所示:


    进行到这里,真相就大白于天下了,先前这两列,显示为中文字符,那是因为表在打开的时候,就已经根据字段的【字段属性】中【查阅】选项卡的属性设置,执行了相应的计算,所以,计算完成之后,这两列实际上显示的都是编号字段所对应的实质性内容(类别名称和员工姓名),这样就能提高表的可读性,不然,如上图一样的表,可读性极差,其中的数据,完全让人不知所云——这也是使用组合框的优势所在——这是通过表的【字段属性】设置来完成的——事实上,这个功能,通常是由【查询】这个数据库对象来完成的,而配置字段的【字段属性】中【查阅】选项卡的相关属性值,与建立一个比较简单的查询的工作,几乎也是完全一样的,接下来,我们就来讲述查询的创建。


第一个查询的设计与创建

    在前面一节的课程中,我们已经修改了tblBxmx表中lbID和ygID字段的【字段属性】, 即将【显示控件】由组合框改回文本框——为了本课讲述的方便,我们暂时保持这样的设置——接下来,我们关闭【Data.mdb】文件,然后再打开【Main.mdb】文件,开始讲述查询的创建。


    首先,我们要明白什么是查询——比如刚才所看到的tblBxmx表,在未启用【字段属性】中【查阅】选项卡的相关属性的情况下,ygID字段(员工编号)和lbID字段(类别编号),都是一些让人难以阅读的编号,如若是以这样的数据,直接展示给前台用户,那极不友好,甚至难以使用,因此,我们要进行一些数据整合的工作——也就是说,要建立查询,通过计算,将不友好的、难以阅读的编号字段,替换成比较友好的,可以直接阅读的相应的字段,这就是查询最基本的功能——就当前的情况的来说,就是将ygID字段(员工编号)和lbID字段(类别编号)的编号,替换成可以直观理解的员工姓名和类别名称。


    接下来,我们将介绍如何通过查询的建设,来实现上述的设计目标。


    首先,在已经打开的【Main.mdb】数据库文件中(按住Shift键打开),单击 按钮,则如下图所示:

    


    然后,单击选择 ,然后再选择 按钮,或者双击 按钮,则如下图所示:

    


    这个界面,我们已经在第4课中见过了,无非是激活这个界面的入手处有所不同——接下来,我们将表tblBxmx、tblCodelb、tblCodeyg依次添加,然后关闭【显示表】对话框,则如下图所示:


    我们注意到,当表添加完成之后,系统已经自动地建立了关联——这种智能关联,很清晰地勾勒出了数据表的结构。接下来,我们依次把tblBxmx表的mxID、bxrq,tblCode表的lbmc,tblCodeyg表的ygxm,tblBxmx表的bxje、bxzy、czsj添加到设计窗格中,完成之后,如下图所示:


    在第4课中,我们建立类似的查询只是为了生成我们所需要的SQL代码,所以,当时的查询设计,并没有保存,现在则有所不同——接下来,单击工具栏上的按钮,或者依次单击【文件(F)】——【保存为(S)】按钮,则会弹出【另存为】对话框,如下图所示:


    接下来,删除默认的名称,然后将该查询命名为:qryBxmx,然后单击【确认】按钮,完成保存——这样,一个很实用的查询就创建完毕了,然后单击工具栏上 按钮,在下拉菜单中选择【数据表视图(S)】,如下图所示:


    然后,切换到数据表视图,如下图所示:


    这个时候,我们就可以发现,查询建立完成之后,实际的浏览效果,实际上和早先启用了字段的【字段属性】的【查阅】选项卡相关属性的tblBxmx表几乎是一样,但是,也不能就因此认为查询是可以被第4课中的相关【查阅】属性所代替的——我们要知道,刚才所建立的,只是最简单的查询——当我们需要建立一些比较复杂的查询,比如联合查询,比如附带比较复杂计算条件(比如分组、过滤、汇总)的选择查询的时候,这就不是表的字段的【查阅】选项卡中的相关属性所附带的那一点功能所能完成的了。


    当然,表中字段的【字段属性】还是很重要的,比如,以tblBxmx表为例,如若其字段的【字段属性】中【常规】选项卡的【标题】属性没有配置,则浏览起来,如下图所示(可以先将tblBxmx表中【字段属性】中【常规】选项卡的【标题】属性先行全部删除,以达到以下的浏览效果):


    如上图所示,这样的显示效果,比刚才更加难以阅读,除了设计者和开发者,普通用户很难知道每一列是何意——比如bxzy数据列,很难知道这一栏究竟是代表什么,由此可见,每一个对象都有每一个对象的特征和重要性,因此,我们需要同等重视,切不可顾此失彼。


    好了,由于本教程只是初级教程,所以,查询的设计,就讲述的这里,接下来,恢复所有的配置,以便为为下一课做好准备。需要恢复的主要有两项:

    第一项:恢复tblBxmx表的【字段属性】中【常规】选项卡的【标题】属性的值;

    第二项:恢复tblBxmx表的【字段属性】中【查阅】选项卡中相关属性的设置。


    接下来,我们就要学习窗体的制作,本来这是整个数据库系统开发过程中,难度最大,耗时最多的环节,但是因为一键生成功能的出现,这个过程将变的快速而且简单。




Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助