5.2、窗体设计向导
5.2.1、应用窗体设计向导创
建主窗体
5.2.2、应用窗体设计向导进
行子窗体设计
返回
为了便于说明窗体设计向导的应用方
法, 下面以, 商品进货数据录入,
窗体的创建作为实例来讲解应用窗
体设计向导的操作过程 。
利用窗体设计向导创建, 商品进货数据录
入, 窗体的操作步骤可以是 。
5.2.1 应用窗体设计向导创建主窗体
在数据库设计视图的窗体对象卡上,
单击, 新建, 按钮,,,即
弹出, 新建窗体, 对话框,如图 5-7
所示。在, 新建窗体, 对话框中选
定, 窗体向导, 选项,并在该对话
框的下端列表框中选择本窗体所需
的数据源,此处选择, 库存数据记
录, 表。然后单击, 确定, 按钮
,”,即进入, 窗体向导,
对话框( 1),如图所示。
1、选择窗体向导方式新建窗体对象
图 5-6,,新建窗体, 对话框
一个窗体对象并不一定需要包含数据源
中的所有数据字段,也并不一定要按照
数据源中的字段顺序排列字段,因此应
该根据需要来选择所建窗体对象所包含
的数据字段,并设定各个字段的排列顺
序。我们可以在图所示的, 窗体向导,
对话框( 1)中完成这些操作。
2.选定窗体对象包含的数据字段
在, 窗体向导, 对话框( 1)内的, 可用
字段, 列表框中,依次选择需要包含在窗
体中的字段,并单击,, 按钮,使其
逐个进入, 选定字段, 列表框中。如果数
据源中的所有字段都是需要的,可以单击
,” 按钮,使其全部字段一次性进
入, 选定字段, 列表框中。如果选入了本
不该选入的字段,可以单击,, 按
钮或,, 按钮,使其逐个或全部离
开, 选定字段, 列表框。
选定字段操作完毕,单击对话框上的, 下一
步, 按钮,,,即进入, 窗体向导,
对话框( 2),如图所示。
图 5-7,,窗体向导, 对话框( 1)
如图所示,可以有四种数据布局形式可
选,它们分别是, 纵栏式,,, 表格,,
,数据表, 和, 调整表, 。单击其中的
一个单选框,即可在本对话框的左侧看
到对应的窗体布局示意。此处,应该根
据需要选择一种合适的窗体布局。, 商
品进货数据录入 1” 窗体采用的是, 数
据表, 布局形式,即单击, 数据表, 单
选框,使其中显示, ·” 符号。选定后,
单击, 下一步, 按钮,,,即进
入, 窗体向导, 对话框( 3)。
3.为新创建的窗体选择数据布局形式
图 5-8,,窗体向导, 对话框( 2)
如图所示, 可以有十种显示样式供选择, 单
击不同的显示样式, 对话框左端即显示其相应的
样式示意 。 应该根据实际需要选择合适的一种显
示样式 。
对于这里介绍的实例,我们为, 商品进货
数据录入 1” 窗体选择, 标准, 样式。选定显示
样式后,单击, 下一步, 按钮,,,即进
入, 窗体向导, 对话框( 4)。这是窗体向导的
最后一步操作,输入该窗体对象的名字,可以根
据命名需要输入一个你觉得合适的窗体对象名字。
此处输入, 商品进货数据录入,,然后单击, 完
成, 按钮,,,即完成了利用向导创建窗
体的操作。
4.为新创建的窗体选择显示样式
图 5-9,,窗体向导, 对话框( 3)
图 5-10,,窗体向导, 对话框( 4)
应用窗体设计向导完成窗体创建操作之后,
可以在数据库设计视图的窗体选项卡中看到这
个窗体对象 。 选中这个新建窗体, 单击, 设计,
按钮, 进入窗体设计视图, 即可以看到这个新
建的, 商品进货数据录入 1” 窗体 。 实际上,
一个利用窗体设计向导创建的窗体对象很难满
足既定的设计目的 。 无论是各窗体控件的设置,
还是整个窗体的结构安排, 它都还不是最终所
需要的窗体形式 。 因此, 还需要在窗体设计视
图中对窗体对象作进一步地设计修改 。
综上所述,利用窗体向导创建一个初步的
窗体对象,然后再加以设计修改,是一种创建
窗体的有效方法。在窗体设计视图中进行窗体
的设计修改操作。
在很多情况下,一个数据库应用系统的窗
体数据源都不是基于一个数据表对象或一个查询
对象的。如图 5-12所示为 CMMIS数据库中的
,商品上柜数据录入, 窗体视图,可以看到它是
一个源于两个数据表的窗体,这两个数据表分别
是, 柜存数据记录, 和, 库存数据记录, 。其中,
,库存数据记录, 表中的数据位于窗体的页面页
眉上,据此提供某一件商品的, 进货单价,,
,库存数量, 等信息;, 柜存数据记录, 表以数
据表的形式显示在窗体主体中,用以显示柜存商
品数据的当前值,包括, 销售单价,,, 柜存数
量, 等等。每一件商品的上柜操作,实际上就是
,库存数据记录, 表中该商品数量的减少,而
,柜存数据记录, 表中该商品数量的增加。
5.1.5、利用窗体设计向导进行子窗
体设计
图 5-12,,商品上柜数据录入, 窗体
视图
利用 Access窗体对象处理来自多个数据源的
数据, 需要在主窗体对象中开设子窗体 。 即, 主
窗体基于一个数据源, 而任一其他数据源的数据
处理则必须为其开设对应的子窗体 。 如上述,
,库存数据记录, 表为主窗体提供数据源, 而
,柜存数据记录, 表则为子窗体提供数据源 。 若
需要在一个窗体中处理 n个数据表或查询中的数
据, 则必须在该窗体中至少开设 n-1个子窗体 。
因此, 就涉及到含有子窗体的窗体设计问题 。 而
子窗体的创建也可以采用窗体设计向导来完成基
本的创建任务 。
,商品上柜数据录入, 窗体就是一个含有
一个子窗体的窗体。以下,以, 商品上柜数据录
入, 窗体中子窗体的创建为例,介绍利用窗体设
计向导创建包含于一个主窗体中的子窗体的操作
方法。
5.2.2 应用窗体设计向导进行子窗体设计
在很多情况下,一个数据库应用系统的窗体数据
源都不是基于一个数据表对象或一个查询对象的。
如图 5-12所示为“零售商店管理信息系统”数据
库中的“商品上柜数据录入”窗体视图,可以看
到它是一个源于两个数据表的窗体,这两个数据
表分别是“柜存数据记录”和“库存数据记录”。
其中,“库存数据记录”表中的数据位于窗体的
页面页眉上,据此提供某一件商品的“进货单
价”、“库存数量”等信息;“柜存数据记录”
表以数据表的形式显示在窗体主体中,用以显示
柜存商品数据的当前值,包括“销售单价”、
“柜存数量”等等。每一件商品的上柜操作,实
际上就是“库存数据记录”表中该商品数量的减
少,而“柜存数据记录”表中该商品数量的增加。
在数据库设计视图的窗体对象卡上,应
创建一个基于, 库存数据记录, 表的窗
体,命名为, 商品上柜数据录入 1”,该
窗体中所选用的字段是那些希望出现在
,窗体页眉, 中的数据。当然,所选字
段在如此创建的窗体中肯定位于该窗体
的主体节中。而根据最终设计目标,需
要进入窗体设计视图,逐一将所有字段
拖曳至窗体中的, 窗体页眉, 节中。
1.创建主窗体
为此,可以在数据库设计视图的窗体对
象卡上,选定, 商品上柜数据录入 1”,
单击, 设计, 按钮,,,进入窗
体设计视图。在窗体设计视图中,分别
将所有数据字段对象逐一拖至窗体页眉
节中,摆放到合适的位置上,并根据需
要调整它们的尺寸。如此,窗体主体部
分无任何控件存在,如所示。
图 5-13 使用向导初建成并移动各文本框位置后
的“商品上柜数据录入”窗体
在, 商品上柜数据录入 1” 的窗体设计视
图中,将窗体主体节拉大至合适的尺寸
(可以使用鼠标向下拖曳, 窗体页脚,
来实现拉大窗体主体尺寸的操作)。接
着,在窗体主体中设置一个称为, 子窗
体, 的控件。其操作方法是,在窗体设
计视图工具栏上单击, 子窗体 /子报表,
按钮,,,在窗体主体中拖曳出
所希望的子窗体区域。随即弹出, 子窗
体向导, 对话框( 1),如图所示。
2.在主窗体中确定子窗体区域
在图所示的, 子窗体向导, 对话框( 1)中,
应该选择所建子窗体是将一个表对象或查询对象
的数据作为数据源,还是使用一个已经创建完成
了的窗体对象作为子窗体。如果所建子窗体是基
于一个表对象或查询对象的数据,则应该选定
,使用现有的表和查询, 单选框,然后待下一步
再指定表对象或查询对象的名字。如果是使用一
个已有的窗体作为子窗体,则应该选定, 使用现
有窗体, 单选框,并在对话框下端的列表框中选
定已建窗体的名字。
对于本实例,所建子窗体是基于一个数据
表对象的,因此,选定, 使用现有的表和查询,
单选框,而选择数据源的操作将在下一个对话框
中进行。单击, 下一步, 按钮,即进入, 子窗体
向导, 对话框( 2),如图所示。
图 5-14,,子窗体向导, 对话框( 1)
在图 5-15所示的, 子窗体向导, 对话框 ( 2)
中, 首先需在对话框上的下拉式列表框中选定
子窗体的数据源, 然后需选定希望包含在子窗
体中的各个字段 。
选定子窗体包含字段的操作方法是,依次
在, 可用字段, 列表框中选择需要包含在子窗
体中的字段,并单击,, 按钮,使其逐
个进入, 选定字段, 列表框中。如果数据源中
的所有字段都是需要的,可以单击,,
按钮,使其全部字段一次性进入, 选定字段,
列表框中。如果选入了本不该选入的字段,可
以单击,, 按钮或,, 按钮,使
其逐个或全部离开, 选定字段, 列表框。
3.为子窗体指定数据源和包含字段
对于本实例,,商品上柜数据
录入, 窗体中的子窗体为, 柜存数
据记录子窗体,,应选定, 柜存数
据记录, 表中的全部字段作为该子
窗体的数据字段。然后单击, 下一
步, 按钮,,,即进入
,子窗体向导, 对话框( 3),如
图 5-16所示。
图 5-15,,子窗体向导, 对话框( 2)
子窗体是作为主窗体的一个组成
部分运行的,子窗体中的数据必需
与主窗体中的数据相互关联,这是
因为主、子两个窗体数据在整个窗
体中以联接( Join) 表的形式出现。
为此,可以通过在, 子窗体向导,
对话框( 3)中的相关操作,确定主
窗体中数据与子窗体中数据的联接
方式。为了建立子窗体数据与主窗
体数据间的关联,可能会有两种情
况出现。
4.确定子窗体数据与主窗体数据间的关联
两种情况
( 1)主窗体数据源和子窗体数据源
之间的联接已经存在
( 2)主窗体数据源和子窗体数据源
之间的联接尚未建立
如果子窗体中包含的表或查询与主窗体中
包含的表或查询已经存在联接关系,而这个联
接关系应该是在创建表对象或创建查询对象时,
即已经建立完成了的。那么,可以在, 子窗体
向导, 对话框( 3)中选定, 从列表中选择,
单选项。这时,对话框下端的列表框中会显示
已建联接所允许的关联方式。我们应该根据需
要从中选定一种。观察图 5-16所示内容,主窗
体数据源, 库存数据记录, 与子窗体数据源
,柜存数据记录, 之间的已建联接允许三种关
联方式。
( 1)主窗体数据源和子窗体数据源之间的
联接已经存在
( 2)主窗体数据源和子窗体数据源之间的
联接尚未建立
如果子窗体中包含的表或查询与主窗体中
包含的表或查询事先并未建立联接关系,则因
该选定, 自行定义, 单选框,然后在随之打开
的关系设计视图中指定其间的联接关系 。
总之,一个子窗体的数据源与主窗体数据
源之间必需存在关联。对于本实例中的, 商品
上柜数据录入, 窗体,可以选定, 从列表中选
择, 单选框,并在 Access支持的三种联接关系
中选定, 对库存数据记录中的每个记录用货号
显示柜存数据记录, 选项(如图 5-16所示)。
然后单击, 下一步, 按钮,,,即进
入, 子窗体向导, 对话框( 4),如图 5-17所
示。
图 5-16,,子窗体向导, 对话框( 3)
图 5-17,,子窗体向导, 对话框( 4)
,子窗体向导, 对话框( 4)是子窗体向
导的最后一步,这里应该给所创建的子
窗体命名。对于, 商品上柜数据录入 1”
窗体的子窗体,可以命名为, 上柜数据
录入子窗体 1” 。单击, 完成, 按钮
,”,即完成了在主窗体中利用
窗体向导创建一个子窗体的操作过程。
5.为子窗体命名
回到数据库设计视图中的窗体对象
卡上,可以看到增加了一个窗体对象,其
名为, 柜存数据记录子窗体 1” 。在窗体
设计视图中打开, 柜存数据记录子窗体
1”,会发现其显示特性为, 数据表, 。
且这个子窗体的打开与设计都可以随着
,商品上柜数据录入 1” 窗体同时进行。
应用子窗体向导创建一个子窗体,应
该说是很方便的。但是,如此创建的子窗
体还不能满足窗体功能设计的需求。在一
般情况下,总是可以利用子窗体向导草创
子窗体,而后再进入窗体设计视图,完成
这个子窗体的全面设计。