在窗体设计视图中设计窗体_第1页
在窗体设计视图中设计窗体_第2页
在窗体设计视图中设计窗体_第3页
在窗体设计视图中设计窗体_第4页
在窗体设计视图中设计窗体_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5.4、在窗体设计视图中设计窗体,窗体上还有一些控件不与数据源相关联,或者以更复杂的方式联接于数据源中的记录。另外,有些控件还必须能够处理一些事件,即必须为这些控件的某些事件属性编程。所有这些需求都必须在窗体设计视图中进行相应的设计操作方能实现。本节介绍窗体设计视图中的操作方法,并以前面使用向导创建的窗体为基础,介绍如何在窗体设计视图中完成“商品进货数据录入”窗体与“商品上柜数据录入”窗体的设计。,主目录,5.4、在窗体设计视图中设计窗体,5.4.1、完成“商品进货数据录入”窗体的设计,5.4.2完成“商品上柜数据录入”窗体的设计,5.4.1、完成“商品进货数据录入”窗体的设计,“商品上柜数据录入”窗体是一个源于多重数据集的窗体,在5.1.5节我们已经使用窗体向导创建了“商品上柜数据录入”窗体的基本形式,图5-17所示为该窗体创建操作完毕时的形式。那个形式并不是所需要的完整窗体,最终的“商品上柜数据录入”窗体形式应该如图5-33所示。,图5-33、“商品上柜数据录入”窗体设计视图,对照图5-33所示的形式,首先须修改子窗体的数据显示内容,使其增加一个显示字段“柜存金额”。其操作方法是,打开“柜存数据子窗体”的窗体设计视图,依照5.4.1节介绍的为“商品进货数据录入”窗体增加“库存金额”字段的第二种办法完成所需操作。即,“柜存数据子窗体”记录源属性行为一条SQL语句:SELECTDISTINCTROW柜存数据记录.货号,柜存数据记录.货名,柜存数据记录.规格,柜存数据记录.计量单位,柜存数据记录.销售单价,柜存数据记录.柜存数量,柜存数据记录!销售单价*柜存数据记录!柜存数量AS柜存金额,柜存数据记录.上柜日期,柜存数据记录.上柜人,柜存数据记录.营业员FROM柜存数据记录;,完成“柜存数据子窗体”的数据显示内容后,保存它。然后打开“商品上柜数据录入”窗体设计视图,调整窗体上已经设置了的各个控件位置与尺寸,最后还需在窗体上添加一些控件。1添加一个标签控件作为窗体标题该控件位于窗体页眉上部正中,标题属性值为“商品上柜数据录入操作”,前景颜色属性值为红色,字体大小属性值为14。2添加两个文本框控件放在窗体页脚中各自的放置位置以及伴随标签的“标题”属性值见图5-33,均为非结合型文本框(图中显示为未绑定)。,3添加三个命令按钮控件(“退出”、“查阅商品库存数据记录”和“保存数据”按钮)各自的放置位置见图中。其中,“退出”命令按钮控件的单击事件属性为一段VBA程序代码。这段代码由命令按钮向导生成,并已在5.3.4小节中介绍过了。“查阅商品库存数据记录”命令按钮控件的单击事件属性也是一段VBA程序代码,也可以由命令按钮向导生成,与“退出”命令按钮控件的单击事件不同之处在于:这一段VBA程序代码为打开一个名为“商品库存数据查询”的窗体。请读者根据5.3.4节所介绍的方法,自行确定如何利用命令按钮向导生成如下这一段程序。,PrivateSub命令63_Click()OnErrorGoToErr_命令63_ClickDimstDocNameAsStringDimstLinkCriteriaAsStringstDocName=商品库存数据查询DoCmd.OpenFormstDocName,stLinkCriteriaExit_命令63_Click:ExitSubErr_命令63_Click:MsgBoxErr.DescriptionResumeExit_命令63_ClickEndSub,“保存数据”命令按钮控件的单击事件属性也是一段VBA程序代码,但是这段代码不能由命令按钮向导生成,应该在命令按钮向导对话框出现时,单击“取消”按钮。然后,在其“单击”事件属性行右端单击“代码生成器”按钮“”,进入VBA代码编辑窗口,输入下列程序代码。这段程序将使用从键盘输入的上柜数据修改原有库存数据中与之相关的记录。,PrivateSubCommand35_Click()OnErrorGoToErr_Command35_ClickMe!柜存数据记录子窗体.SetFocusDoCmd.FindRecordMe!Text19,True,TrueIfMe!柜存数据记录子窗体!货号Me!Text19ThenDoCmd.GoToRecord,acNewRecMe!柜存数据记录子窗体!柜存数量=0EndIf,Me!柜存数据记录子窗体!货号=Me!Text19Me!柜存数据记录子窗体!货名=Me!Text21Me!柜存数据记录子窗体!规格=Me!规格Me!柜存数据记录子窗体!计量单位=Me!计量单位Me!柜存数据记录子窗体!销售单价=Me!Text25Me!柜存数据记录子窗体!柜存数量=Me!Text27+Me!柜存数据记录子窗体!柜存数量Me!柜存数据记录子窗体!上柜日期=Me!Text29Me!柜存数据记录子窗体!营业员=Me!Combo45Me!柜存数据记录子窗体!上柜人=Me!Combo58,Me!Text52=Me!Text52+Me!Text27Me!Text54=Me!Text54+Me!Text27*Me!Text25Me!库存数量=Me!库存数量-Me!Text27DoCmd.DoMenuItemacFormBar,acRecordsMenu,acSaveRecord,acMenuVer70Me.RefreshExit_Command35_Click:ExitSubErr_Command35_Click:MsgBoxErr.DescriptionResumeExit_Command35_ClickEndSub,程序代码中涉及到的各控件名称列于下表:,此外,还需将“规格”、“计量单位”、“库存数量”、“进货单价”、“商品名称”四个文本框控件的“是否锁定”属性设置为“是”,以保证在这个窗体运行时,不能够更改这四项数据。“货号”、“货名”、“库存金额”三个文本框控件的“是否锁定”属性也设置为“是”,“前景颜色”和“背景颜色”属性均设置为窗体底色,其目的是在窗体运行时,令这三个文本框中的数据不可更改,也看不见。,在这个窗体中,还需要能够具有这样的功能:当在伴随标签“标题”属性值为“货号”的对应文本框(文本框“名称”属性值为“Text19”)中输入一个货号并按下回车键后,该货号如果已经存在于“库存数据记录”表中,则在“商品名称”等几个文本框内显示对应该货号的商品数据;该货号如果不存在于“库存数据记录”表中,则弹出一个对话框,提示库存中无此商品,商品货号输入有误。从而拒绝将一个库存中不存在的商品调入销售柜台上。因此,必须为Text19控件的“更新后”事件编写一段程序。在窗体设计视图中选中“Text19”文本框,在其“单击”事件属性行右端单击“代码生成器”按钮“”,进入VBA代码编辑窗口,输入下列程序代码:,PrivateSubText19_AfterUpdate()OnErrorGoToErr_Text19_AfterUpdateMe!货号.SetFocusDoCmd.FindRecordMe!Text19,True,TrueIfMe!货号Me!Text19ThenIfMsgBox(货号输入错误!,vbOKCancel,错误!)=vbOKThenMe!Text19.SetFocusElseMe!Text19.SetFocusEndIf,ElseMe!Text21=Me!货名Me!Text25=Me!进货单价Me!Text27=0Me.RefreshMe!柜存数据记录子窗体.SetFocusDoCmd.FindRecordMe!Text19,True,TrueMe!Text27.SetFocusEndIfExit_Text19_AfterUpdate:ExitSubErr_Text19_AfterUpdate:MsgBoxErr.DescriptionResumeExit_Text19_AfterUpdateEndSub,至此,“商品上柜数据录入”窗体设计完毕。保存起来,然后打开它,看看它所具有的功能。,“商品上柜数据录入”窗体是一个源于多重数据集的窗体,在5.1.5节我们已经使用窗体向导创建了“商品上柜数据录入”窗体的基本形式,图5-17所示为该窗体创建操作完毕时的形式。那个形式并不是所需要的完整窗体,最终的“商品上柜数据录入”窗体形式应该如图5-33所示。,5.4.2完成“商品上柜数据录入”窗体的设计,图5-33“商品上柜数据录入”窗体设计视图,对照图5-33所示的形式,首先须修改子窗体的数据显示内容,使其增加一个显示字段“柜存金额”。其操作方法是,打开“柜存数据子窗体”的窗体设计视图,依照5.4.1节介绍的为“商品进货数据录入”窗体增加“库存金额”字段的第二种办法完成所需操作。即,“柜存数据子窗体”记录源属性行为一条SQL语句:,SELECTDISTINCTROW柜存数据记录.货号,柜存数据记录.货名,柜存数据记录.规格,柜存数据记录.计量单位,柜存数据记录.销售单价,柜存数据记录.柜存数量,柜存数据记录!销售单价*柜存数据记录!柜存数量AS柜存金额,柜存数据记录.上柜日期,柜存数据记录.上柜人,柜存数据记录.营业员FROM柜存数据记录;完成“柜存数据子窗体”的数据显示内容后,保存它。然后打开“商品上柜数据录入”窗体设计视图,调整窗体上已经设置了的各个控件位置与尺寸,最后还需在窗体上添加一些控件。,1添加一个标签控件作为窗体标题该控件位于窗体页眉上部正中,标题属性值为“商品上柜数据录入操作”,前景颜色属性值为红色,字体大小属性值为14。2添加两个文本框控件放在窗体页脚中各自的放置位置以及伴随标签的“标题”属性值见图5-33,均为非结合型文本框(图中显示为未绑定)。,3添加三个命令按钮控件(“退出”、“查阅商品库存数据记录”和“保存数据”按钮)各自的放置位置见图中。其中,“退出”命令按钮控件的单击事件属性为一段VBA程序代码。这段代码由命令按钮向导生成,并已在5.3.4小节中介绍过了。“查阅商品库存数据记录”命令按钮控件的单击事件属性也是一段VBA程序代码,也可以由命令按钮向导生成,与“退出”命令按钮控件的单击事件不同之处在于:这一段VBA程序代码为打开一个名为“商品库存数据查询”的窗体。请读者根据5.3.4节所介绍的方法,自行确定如何利用命令按钮向导生成如下这一段程序。,PrivateSub命令63_Click()OnErrorGoToErr_命令63_ClickDimstDocNameAsStringDimstLinkCriteriaAsStringstDocName=商品库存数据查询DoCmd.OpenFormstDocName,stLinkCriteriaExit_命令63_Click:ExitSubErr_命令63_Click:MsgBoxErr.DescriptionResumeExit_命令63_ClickEndSub,“保存数据”命令按钮控件的单击事件属性也是一段VBA程序代码,但是这段代码不能由命令按钮向导生成,应该在命令按钮向导对话框出现时,单击“取消”按钮。然后,在其“单击”事件属性行右端单击“代码生成器”按钮“”,进入VBA代码编辑窗口,输入下列程序代码。这段程序将使用从键盘输入的上柜数据修改原有库存数据中与之相关的记录。,PrivateSubCommand35_Click()OnErrorGoToErr_Command35_ClickMe!柜存数据记录子窗体.SetFocusDoCmd.FindRecordMe!Text19,True,TrueIfMe!柜存数据记录子窗体!货号Me!Text19ThenDoCmd.GoToRecord,acNewRecMe!柜存数据记录子窗体!柜存数量=0EndIf,Me!柜存数据记录子窗体!货号=Me!Text19Me!柜存数据记录子窗体!货名=Me!Text21Me!柜存数据记录子窗体!规格=Me!规格Me!柜存数据记录子窗体!计量单位=Me!计量单位Me!柜存数据记录子窗体!销售单价=Me!Text25,Me!柜存数据记录子窗体!柜存数量=Me!Text27+Me!柜存数据记录子窗体!柜存数量Me!柜存数据记录子窗体!上柜日期=Me!Text29Me!柜存数据记录子窗体!营业员=Me!Combo45Me!柜存数据记录子窗体!上柜人=Me!Combo58Me!Text52=Me!Text52+Me!Text27Me!Text54=Me!Text54+Me!Text27*Me!Text25Me!库存数量=Me!库存数量-Me!Text27,DoCmd.DoMenuItemacFormBar,acRecordsMenu,acSaveRecord,acMenuVer70Me.RefreshExit_Command35_Click:ExitSubErr_Command35_Click:MsgBoxErr.DescriptionResumeExit_Command35_ClickEndSub上述程序代码中涉及到的各控件名称列于下表:(若所建各控件名称不同,请用正确的控件名称替换上述各控件名称),控件名列表,此外,还需将“规格”、“计量单位”、“库存数量”、“进货单价”、“商品名称”四个文本框控件的“是否锁定”属性设置为“是”,以保证在这个窗体运行时,不能够更改这四项数据。“货号”、“货名”、“库存金额”三个文本框控件的“是否锁定”属性也设置为“是”,“前景颜色”和“背景颜色”属性均设置为窗体底色,其目的是在窗体运行时,令这三个文本框中的数据不可更改,也看不见。,在这个窗体中,还需要能够具有这样的功能:当在伴随标签“标题”属性值为“货号”的对应文本框(文本框“名称”属性值为“Text19”)中输入一个货号并按下回车键后,该货号如果已经存在于“库存数据记录”表中,则在“商品名称”等几个文本框内显示对应该货号的商品数据;该货号如果不存在于“库存数据记录”表中,则弹出一个对话框,提示库存中无此商品

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论