1、Access应用五,人机界面设计的优劣将直接反映一个计算机应用系统的设计水平,对于计算机数据库应用系统的设计尤其如此。因此,为数据库应用系统设计操作性能良好的操作界面,是一项至关重要的内容。在Access 2003数据库应用系统中,窗体对象是应用系统提供的最主要的操作界面对象。,窗体的作用,根据针对“零售商店管理信息系统”的需求分析,应用Access 2003开发数据库应系统,操作界面主要采用窗体对象实现。,窗体的类别,1数据交互型窗体 2命令选择型窗体,一个完整的Access 2003窗体对象包含五节。它们的名称分别是,“窗体页眉”、“页面页眉”、“窗体主体”、“页面页脚”及“窗体页脚”。图
2、5-3所示为五个窗体节的示意说明。在一般情况下,一个应用型窗体对象都只使用窗体页眉、窗体主体、窗体页脚,其中,窗体主体是用于操作数据的主要窗体节。,Access窗体的结构,图5-3 窗体中的五个节,窗体显示特性的分类(默认视图),连续窗体 单一窗体 数据表窗体,单一窗体,连续窗体,数据表窗体,应用窗体设计向导创建主窗体,应用窗体设计向导进行子窗体设计,学习任务,1、“商品进货数据录入”窗体设计 2、 “商品上柜数据录入”窗体设计 3、 “销售数据录入”窗体设计,1、“商品进货数据录入”窗体设计,“商品上柜数据录入”窗体设计,“销售数据录入”窗体设计,在数据库设计视图的窗体卡上选定一个窗体对象后
3、,单击“设计”按钮“ ”,即进入窗体设计视图。窗体设计视图中的工具栏如图所示。正是依靠这些工具提供的功能,窗体的设计操作才可能全面的进行。,窗体设计视图工具栏,窗体设计视图中的工具栏,1常用工具栏中的工具按钮,2工具箱中的按钮,接上表,接上表,1窗体的常用格式属性及其取值含义,(1)标题 其属性值为字符串。在窗体视图中,该字符串显示为窗口标题栏。 (2)默认视图 其属性值需在“连续窗体”、“单一窗体”、“数据表”三个选项中选取,它决定窗体的显示形式。 (3)滚动条其属性值需在“两者均无”、“水平”、“垂直”、“水平和垂直”四个选项中选取,它决定窗体显示时是否具有窗体滚动条。,(4)记录选定器
4、其属性值需在“是”、“否”两个选项中选取,它决定窗体显示时是否具有记录选定器,即数据表最左端的标志块。 (5)浏览按钮 其属性值需在“是”、“否”两个选项中选取,它决定窗体运行时是否具有记录浏览按钮,即数据表最下端的按钮组“ ”。 (6)分隔线其属性值需在“是”、“否”两个选项中选取,它决定窗体显示时是否显示窗体各节间的分隔线。,(7)自动居中其属性值需在“是”、“否”两个选项中选取,它决定窗体显示时是否自动居中于Windows窗口中。 (8)控制框其属性值需在“是”、“否”两个选项中选取,它决定窗体显示时是否显示窗体控制框,即窗口右上角的按钮组“ ”,(1)记录源其属性值需是本数据库中的一个
5、数据表对象名或查询对象名,它指明该窗体的数据源。 (2)筛选 其属性值需是一个字符串表达式,它表示从数据源中筛选数据的规则。 (3)排序依据 其属性值需是一个字符串表达式,由字段名或字段名表达式组成,指定排序规则。 (4)允许编辑、允许添加、允许删除其属性值分别需在“是”、“否”两个选项中选取,它们分别决定窗体运行时是否允许对数据进行编辑修改、添加或删除操作。,2窗体的数据属性及其取值含义,(5)数据入口 其属性值需在“是”、“否”两个选项中选取。取值为“是”,则窗体打开时,只显示一个空记录;取值为“否”(默认值),则窗体打开时,显示已有的记录。 (6)数据集类型其属性值需在“动态集”、“动态
6、集(不一致地更新)”、“快照”三个选项中选取。取值为“动态集”(此属性值为默认设置),则允许编辑基于单个表或具有一对一关系的多个表的结合控件。对于基于具有一对多关系的表中的字段的结合控件,则不能编辑位于关系中的“一”端的联接字段中的数据,除非在表间允许使用连锁更新。取值为“动态集(不一致的更新)”,则允许编辑所有的表以及结合到它们的字段的所有控件。取值为“快照”,则不许编辑表以及结合到其字段的控件。,(7)记录锁定其属性值需在“不锁定”、“所有记录”、“编辑的记录”三个选项中选取。取值为“不锁定”(此属性值为默认设置),则在窗体中允许两个或更多用户能够同时编辑同一个记录,这也称为“开放式”锁定
7、。取值为“所有记录”,则当在窗体视图打开窗体时,所有基表或基础查询中的记录都将锁定,用户可以读取记录,但在关闭窗体以前不能编辑、添加、或删除任何记录。取值为“编辑的记录”,则当用户开始编辑某个记录中的任一字段时,即锁定该页记录,直到用户移动到其他记录,这样一个记录一次只能由一个用户进行编辑。这也称为“保守式”锁定。,5.4、窗体基本控件及其应用,5.4.1、标签(Label),5.4.2、文本框(Text),5.4.3、组合框(Combo)和列表框(List),5.4.4、命令按钮(Command),5.4.5、图像(Image),5.4.6、子窗体/子报表(Child),5.4.7、幻灯片3
8、其他基本控件,返回,5.4.1、标签(Label),1、标签控件的应用,2、标签控件的属性,当需要在窗体上显示一些说明性文字,就可以使用“标签”控件。单击窗体设计视图工具箱中的“标签”工具按钮“ ”,然后用鼠标在窗体上所需的位置处拖曳,可以看到一个动态矩形框随着鼠标的拖曳而变化。至该矩形框尺寸合适时,放开鼠标。此时,光标停在该矩形框中,即可输入需要的文字信息。如果输入文字后,觉得标签尺寸不合适。可以单击该标签,使该标签控件呈现“ ”形式,即可通过鼠标在该控件四周所现的八个黑点上拖曳,来改变其尺寸或改变其位置。,1、标签控件的应用,2、标签控件的属性,(1)标签控件的格式属性,(2)标签控件的事
9、件属性,1)标题 标签控件的标题属性值将成为标签中显示的文字信息。注意,不要与标签控件的“名称”属性相混淆。 2)背景颜色、前景颜色它们分别表示标签显示时的底色与标签中文字的颜色。设定颜色的操作可以通过调色板进行。例如,为了设定标签控件中文字的颜色,可以单击“前景颜色”属性栏右侧的“生成器”按钮“ ”,即弹出调色板,从中选取所希望的颜色即可设置文字信息的色彩。可以采用类似的方法设置标签背景颜色,即单击“背景颜色”属性栏右侧的“生成器”按钮,在随之弹出的调色板中,选取所希望的颜色作为背景色彩。,(1)标签控件的格式属性,3)特殊效果 特殊效果属性值用于设定标签的显示效果。Access提供“平面”
10、、“凸起”、“凹陷”、“蚀刻”、“阴影”、“凿痕”等几种特殊效果取值供选择,可以从中选取一种满意的。 4)字体名称、字体大小、字体粗细、斜体这些属性值用于设定标签中显示文字的字体、字号、字型等参数。可以根据所需适当配置。 5)超级链接地址/超级链接子地址指定其链接对象、文档、Web页的路径。其属性值为代表文件路径(UNC 路径)或 Web 页(URL)的字符串表达式。可以单击属性表中属性框右边的“生成器”按钮“ ”,进入“插入超级链接”对话框来设置此属性。,1)单击 当鼠标在该标签上单击左键时,这个事件发生。 2)双击 当鼠标在该标签上双击左键时,这个事件发生。 3)鼠标按下 当鼠标在该标签上
11、按下左键时,这个事件发生。 4)鼠标移动 当鼠标在该标签上来回移动时,这个事件发生。 5)鼠标释放 当鼠标左键按下后,移至在该标签上放开时,这个事件发生。,(2)标签控件的事件属性,5.4.2、文本框(Text),1、文本框控件的应用,2、文本框控件的属性,(1)文本框控件的数据属性,(2)文本框控件的事件属性,文本框控件可以是结合、非结合或计算型的。结合型文本框控件与基表或查询中的字段相连,可用于显示、输入及更新数据库中的字段。计算型文本框控件则以表达式作为数据来源。表达式可以使用窗体或报表的基表或基查询字段中的数据,或者窗体或报表上其他控件中的数据。而非结合型文本框控件则没有数据来源。使用
12、非结合型文本框控件可以显示信息、线条、矩形及图像。,1、文本框控件的应用,1)控件来源用于设定一个结合型文本框控件时,它必须是窗体数据源表或查询中的一个字段。用于设定一个计算型文本框控件时,它必须是一个计算表达式,可以通过单击属性栏右侧的“生成器”按钮“ ”,进入表达式生成器向导,利用表达式向导生成表达式已经在第四章中介绍过了。用于设定一个非结合型文本框控件时,就等同于一个标签控件。 2)输入掩码用于设定一个结合型文本框控件或非结合型文本框控件的输入格式,仅对文字型或日期型数据有效。也可以通过单击属性栏右侧的“生成器”按钮“ ”,进入表达式生成器向导来确定输入掩码。,(1)文本框控件的数据属性
13、,3)默认值用于设定一个计算型文本框控件或非结合型文本框控件的初始值。可以使用表达式生成器向导来确定默认值。 4)有效性规则用于设定在文本框控件中输入数据的合法性检查表达式,可以使用表达式生成器向导来建立合法性检查表达式。 5)有效性文本在窗体运行期间,当在该文本框中输入的数据违背了有效性规则时,即显示有效性文本中填写的文字信息。即,该属性用于指定违背了有效性规则时,将显示给用户的提示信息。,6)是否有效(Enable)用于指定该文本框控件是否能够获得焦点(Focus)。 7)是否锁定(Locked)用于指定该文本框控件是否允许在“窗体”运行视图中接收编辑本文本框控件中显示数据的操作。 8)筛
14、选查询用于指定该文本框控件以何种方式接收按窗体筛选的数据。 文本框控件的数据属性设置对话框如图所示。,图5-23、文本框控件数据属性,文本框控件的事件属性较多,说明该控件处理事件的能力很强。如果需要令某一控件能够在某一事件发生时,做出相应的响应,就必须为该控件针对该事件的属性赋值。事件属性的赋值可以在三个处理事件的方法种类中选择一种:设定一个表达式、指定一个宏操作、或为其编写一段VBA程序。单击属性栏右侧的“生成器”按钮“ ”,即弹出“选择生成器”对话框,如图所示。可以在对话框中选择处理事件方法的种类。文本框控件的事件属性设置对话框如图所示,(2)文本框控件的事件属性,图5-24、文本框控件事
15、件属性,图5-25、“选择生成器”对话框,5.4.3、组合框(Combo)和列表框(List),1组合框控件和列表框控件的应用,2组合框控件和列表框控件的属性,如果在窗体上输入的数据总是取自某一个表或查询中记录的数据,就应该使用组合框控件或列表框控件。这样设计可以保证输入数据的正确性,同时还可有效地提高数据输入的速度。例如,对于在“商品进货数据录入”窗体上的“进货商”字段数据的录入,输入“金鑫食品经销处”和输入“金 鑫 食 品 经 销 处”将被Access 2003认作为是不同的进货商。而使用组合框或列表框就可以避免这种输入错误的发生,同时也减少了汉字输入量。因为,组合框或列表框总是从一个指定
16、的数据源中取得数据,而后根据实际的选定操作获得一项数据,并将其填入窗体数据源的对应字段中。,1组合框控件和列表框控件的应用,要创建列表框控件或组合框控件,需要考虑以下三点:1、在列表框或组合框控件中完成选择操作后,将如何使用这个选定值?2、列表框控件与组合框控件的差别何在?3、在一般情况下,我们可以利用Access提供的控件向导来创建一个组合框控件或一个列表框控件。,创建一个列表框控件的过程,(1)创建组合框控件并进入组合框向导,(2)为组合框控件设定数据来源,(3)为组合框控件选择数据字段并调整组合框控件的列宽,(4)为组合框控件运行时的选定数据指定使用方式,在“商品进货数据录入”窗体设计视
17、图中,首先单击工具箱中的“控件向导”按钮“ ”,使其呈凹陷形式,即表明控件向导为有效。然后在“商品进货数据录入”窗体的合适位置放置一个组合框控件,该组合框的位置可参阅图所示。此时,由于控件向导有效,即会弹出“组合框向导”对话框(1),如图所示。,(1)创建组合框控件并进入组合框向导,图5-26、“组合框向导”对话框(1),在图所示“组合框向导”对话框(1)中,有三个单选框可供选择。它们分别是:“我想让组合框在一个表或查询中查找这些值”单选框,“我想键入我要的值”单选框,和“在基于我在组合框中选择的值的窗体上查找一个记录”单选框。为了在“商品进货数据录入”窗体中创建“供货商”组合框,应该选择“我
18、想让组合框在一个表或查询中查找这些值”单选框。选定后,单击“下一步”按钮“ ”,即进入“组合框向导”对话框(2),如图所示。,图5-27、“组合框向导”对话框(2),在图所示“组合框向导”对话框(2)中,即应选择数据库中的一个表或一个查询作为该组合框的数据源,这就回答了上述的第一个问题。对于“商品进货数据录入”窗体中的“供货商”组合框,应该选择“供货商名单”表作为数据源。单击“下一步”按钮,即进入“组合框向导”对话框(3),如图所示。,(2)为组合框控件设定数据来源,图5-28、“组合框向导”对话框(3),在图所示“组合框向导”对话框(3)中,需从为该组合框指定的数据源中,选择几个字段作为在该
19、组合框控件中显示的数据字段。对于“商品进货数据录入”窗体中的“供货商”组合框,应该选择“供货商名单”数据表中的“供货商”字段。单击“下一步”按钮“ ”,即进入“组合框向导”对话框(4),限于篇幅,此处不加附图。在“组合框向导”对话框(4)中,会出现所选数据源的数据列表,可以在此处调整该列表的宽度,这个调整好的列表宽度将成为组合框下拉列表的宽度。调整完成以后,单击“下一步”按钮“ ”,即进入“组合框向导”对话框(5)。,(3)为组合框控件选择数据字段并调整组合框控件的列宽,图5-29、“组合框向导”对话框(5),在图所示“组合框向导”对话框(5)中所要解决的问题是,当在窗体运行视图中通过组合框选
20、定一个数据后,应如何使用这个数据,此处是在回答开始讨论组合框控件时提出的第二个问题。对于“商品进货数据录入”窗体的“供货商”组合框,应该选择“保存该值到这个字段中”单选框,并从对应的下拉式组合框中选定“供货商”。这是因为,我们要求在窗体运行时,令组合框中选定的数据回填至“库存数据记录”表中的“供货商”字段中。,(4)为组合框控件运行时的选定数据指定使用方式,其实,这个向导对话框中所使用的下拉式组合框也就是正在讨论的组合框控件。可以想象,此处所设计的窗体,在其运行时的表现完全相同于“组合框向导”对话框中的组合框控件的表现。 至此,“商品进货数据录入”窗体中“供货商”组合框的创建操作就完成了。单击
21、“下一步”按钮“ ”,即进入“组合框向导”对话框(6)。,在“组合框向导”对话框(6)中,应该完成组合框控件创建的最后一步操作:为组合框控件命名一个标签控件,根据图所示,应该命名为“供货商”。从这里可以看到,创建一个组合框控件的同时,也产生了一个相应的标签控件。实际上,Access总是为一个新创建的非标签控件附带一个标签控件的。最后,单击“组合框向导”对话框(6)上的“完成”按钮“ ”,即完成了一个组合框控件的全部创建操作。一个控件创建完成后,经常还需要在窗体设计视图中调整其位置与尺寸。,通过这两个控件的创建过程可以看出,它们的格式属性以及数据属性都已经在其创建过程中一一设定了。组合框控件和列
22、表框控件的格式属性及其数据属性均可借助控件向导来完成属性的取值操作,一般不再需要另作更改。也可以在完成创建操作之后,察看通过控件向导设定的各个属性值,并根据需要作相应的修改。组合框控件和列表框控件的事件属性项目如图5-27所示。从图中可以看到,组合框控件和列表框控件都具有很强大的事件处理能力。从实际应用的角度看,组合框控件和列表框控件的“更新后”事件是一个经常需要编写相应方法的事件。,2组合框控件和列表框控件的属性,图5-30、组合框控件的事件属性,在窗体上设置命令按钮是为了实现某种功能操作,诸如“确定”、“退出”等等。因此,一个命令按钮必须具有对其“单击”事件进行处理的能力。下面以“商品进货
23、数据录入”窗体上的“退出”按钮创建为例,说明其命令按钮相关属性的设置方法。进入“商品进货数据录入”窗体设计视图,在“商品进货数据录入”窗体上放置一个命令按钮控件,在“控件向导”有效的前提下,即会弹出“命令按钮向导”对话框(1),如图所示。,5.4.4、命令按钮(Command),图5-31、“命令按钮向导”对话框(1),在“命令按钮向导”对话框(1)中,可以为命令按钮控件的“单击”事件设定所需进行的操作。先选定所需操作的类别,然后在随之出现的该类具体操作中选择真正需要进行的操作。从图中可以看到,Access的“命令按钮向导”提供六种不同的操作类别,而每一操作类别中又各自包含若干个具体操作。 “
24、商品进货数据录入”窗体上的“退出”按钮是一个具有关闭窗体功能的命令按钮,属于窗体操作的一种。在这个对话框中,应先在对话框的左端列表框中,选择“窗体操作”类别,然后在对话框的右端列表框中,选择“关闭窗体”操作。为该控件的单击事件创建了如下程序代码(下列VBA程序源代码可以在该命令按钮创建完毕后,通过单击工具栏上的“代码”工具按钮“ ”进入窗体源代码窗口看到):,Private Sub Command18_Click() On Error GoTo Err_Command18_ClickDoCmd.Close Exit_Command18_Click:Exit Sub Err_Command18_
25、Click:MsgBox Err.DescriptionResume Exit_Command18_Click End Sub 选择完毕,单击“下一步”按钮“ ”,进入“命令按钮向导”对话框(2),如图所示。,“命令按钮向导”对话框(2),在“命令按钮向导”对话框(2)中,需要为所创建的命令按钮设定“标题”属性值,这个设定值可以是图片,也可以是文字。当窗体运行时,此处设置的“标题”属性值将显示在该命令按钮上。 如果需要为新创建的命令按钮设置图片作为其“标题”属性值,可以单击对话框中的“图片”单选框,会出现一些Access常用的命令按钮图片供选择。如果对Access提供的常用图片不满意,可以单击
26、对话框中的“浏览”按钮,选择已存放在磁盘上的任一图形文件作为命令按钮图片使用。 如果需要为新创建的命令按钮设置文字作为其“标题”属性值,可以单击对话框中的“文本”单选框,然后在对话框上端的文本框中输入所希望的文字。,本实例为命令按钮设定文字作为其“标题”属性值,即选定“文本”单选框,并在对话框上端的文本框中输入“退 出”二字。设定完毕,单击“下一步”按钮“ ”,进入“命令按钮向导”对话框(3),如所示。,“命令按钮向导”对话框(3),在“命令按钮向导”对话框(3)中,需确定该命令按钮控件的“名称”属性,其默认值为“Command*”,一般可以不加修改,因为它并不是一个显示属性而仅仅是作为VBA
27、程序调用的标识符。单击“完成”按钮“ ”,即完成了“退出”按钮的创建操作。如同组合框创建时存在的问题,命令按钮创建完成后,也需要调整其位置与尺寸。,在窗体上设置图像控件,一般是为了美化窗体。可以在窗体上需要放置图片的位置,放置图像控件,在随即弹出的向导对话框中选定图形或图像文件,即完成了在窗体上设置图片的操作。,5.4.5、图像(Image),在一般情况下,子窗体的创建都是使用子窗体向导实现的。此处可以在窗体设计视图中查看已经建成的“上柜数据录入子窗体”的各项属性。其中,“上柜数据录入子窗体”的相关数据属性取值如图所示。,5.4.6、子窗体/子报表(Child),图5-32 “柜存数据录入子窗
28、体”数据属性,在图5-31中可以看到,子窗体的数据源是一个SQL语句。单击“上柜数据录入子窗体”的“数据”属性卡上的“记录来源”行右端的“代码生成器”按钮“ ”,可以进入对应的查询设计视图,将其转至SQL视图状态,即看到下列SQL语句: SELECT DISTINCTROW 柜存数据记录.货号, 柜存数据记录.货名, 柜存数据记录.计量单位,柜存数据记录.销售单价, 柜存数据记录.柜存数量, 柜存数据记录.柜存金额,柜存数据记录.上柜日期, 柜存数据记录.上柜人, 柜存数据记录.营业员 FROM 柜存数据记录;,1复选框控件在窗体或报表上可以使用复选框作为单独控件来显示基础表、查询或SQL语句中的“是/否”值。 2选项按钮控件在窗体上可以使用选项按钮作为单独的控件来显示基础表、查询或SQL语句上的“是/否”值。 3选项组控件可以在窗体或报表中使用选项组来显示一组限制性的选项值。选项组可以使选择值变得很容易,因为只要单击所需的值。在选项组中每次只能选择一个选项。,5.4.7、其他基本控件,4选项卡控件可以在窗体中使用选项卡控件来展示单个集合中的多页信息,这对于处理可分为两类或多类的选项卡是特别有用的。 5切换按钮控件在窗体上可以使用切换按钮作为单独的控件来显示基础表、查询或 SQL 语句上的“是/否”值。,