access实验报告五Word格式文档下载.docx
《access实验报告五Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《access实验报告五Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
6、熟悉和掌握常用的标准函数。
7、熟悉和掌握VBA的程序结构:
顺序结构、选择结构和循环结构。
8、熟悉和掌握为窗体和控件事件编写VBA程序代码的方法。
二、实验任务:
1、为“出货信息”窗体中的“商品编号”和“客户编号”字段文本框控件分别创建“查看商品名称”宏和“查看客户名称”宏。
当单击“商品编号”或“客户编号”字段文本框控件时,弹出消息框显示对应的“商品名称”或“客户名称”。
2、为“退货信息窗体”中的“查看退货返款”命令按钮创建“查看退货返款”条件宏。
当单击“查看退货返款”命令按钮时,根据“商品类别”确定不同商品的退货返款的比率,在弹出的信息框中显示“出货货款”和“退货返款”信息。
具体规定如下:
“商品类别”为“0001”和“0002”的商品退货返款的比率为:
0.8“商品类别”为“0003”、“0004”、“0006”、“0007”、“0008”、“0009”的商品退货返款的比率为:
0.9“商品类别”为“0005”的商品退货返款的比率为:
0.953、首先在窗体设计视图中按照实践指导书p73页图7-13创建“窗体管理”窗体,然后为“窗体管理”窗体中的各命令按钮创建“窗体管理”宏组。
当单击命令按钮时,打开相应的窗体功能。
4、创建自动运行宏“autoexec”,使“窗体管理”窗体随着“进销存管理系统”数据库一起打开。
5、创建“进货信息操作窗体”,为“清空记录”、“查询记录”、“添加记录”、“修改记录”、“删除记录”和“关闭窗体”等命令按钮编写VBA程序代码。
三、实验原理:
1.宏的功能是什么。
调用方法有哪些。
(学生自行总结)2.宏操作命令如下:
分类宏操作OpenDataAccessPageOpenFormOpenModule打开OpenQueryOpenReportOpenTable焦点GoToControl功能学生自行总结学生自行总结学生自行总结学生自行总结学生自行总结学生自行总结学生自行总结学生自行总结GoToPage学生自行总结SelectObject学生自行总结SendKeys设置值学生自行总结SetValue学生自行总结RepaintObject更新学生自行总结Requery学生自行总结ApplyFilter学生自行总结FindRecord学生自行总结FindNext学生自行总结GoToRecord学生自行总结RunApp学生自行总结记录RunCode学生自行总结RunCommand学生自行总结RunMacro学生自行总结RunSQL学生自行总结StopAllMacro学生自行总结StopMacro学生自行总结Maximize学生自行总结Minimize窗口学生自行总结MoveSize学生自行总结Restore学生自行总结打印PrintOut学生自行总结Beep学生自行总结信息MsgBox学生自行总结SetWarnings学生自行总结复制CopyObject学生自行总结删除DeleteObect学生自行总结重命名rename学生自行总结保存save学生自行总结close关闭学生自行总结quit学生自行总结outputto学生自行总结TransferDatabase导入导出TransferSpreadsheet学生自行总结学生自行总结TransferText3.结构化程序设计思想是什么。
包括哪些程序控制结构。
不同的过程如何调用,参数如何传递。
(学生自行总结)4.面向对象程序设计基本思想是什么。
核心是什么。
(学生自行总结)5.ADO的对象集合是什么。
请写出VBA利用对象访问数据库的基本步骤。
(学生自行总结)四、实验操作步骤(可略)(参考课本上过程)注意:
1、宏的实验需要输入的表达式参考实验指导书的步骤部分,不要仅看图,图上的表达式未完整显示。
2、vba和模块的实验代码中的控件名称需要自行改动,请不要生搬硬套。
五、实验中遇到的问题(根据个人具体情况记载,选做)附:
部分代码,需要根据实际情况调整,直接照搬有可能运行不了宏实验:
查看商品名称:
="
商品编号:
"
&
[商品编号]&
商品名称:
DLookUp("
商品名称"
"
商品信息表"
商品编号=[forms]!
[出货信息窗体]!
[商品编号]"
)“条件”列第一行:
商品类别"
[退货信息窗体]!
)="
0001"
OrDLookUp("
0002"
“消息”:
出货货款:
[Forms]!
[退货数量]*DLookUp("
出货单价"
出货信息表"
)&
退货货款:
)*.8“条件”列第二行:
0003"
0004"
)*.9VBA和模块实验:
OptionCompareDatabasePrivateSub查询记录_Click()DimcnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetDimsqlstrAsStringSetcn=CurrentProject.ConnectionIfIsNull(Me.Text16)Then"
Text16"
为本窗体中"
请输入进货编号"
文本框的"
名称"
属性值MsgBox"
请输入进货编号,进货编号不能为空!
vbOKOnly+vbCritical,"
提示"
Me.Text16.SetFocusExitSubElsesqlstr="
select*from进货信息表where进货编号="
Me.Text16&
rs.Opensqlstr,cn,adOpenDynamic,adLockOptimistic,adCmdTextIfNotrs.EOFThenMe.进货编号=Trim(rs(0))Me.商品编号=Trim(rs
(1))Me.进货单价=Trim(rs
(2))Me.进货数量=Trim(rs(3))Me.供货单位=Trim(rs(4))Me.进货日期=Trim(rs(5))Me.存放位置=Trim(rs(6))Me.经手人=Trim(rs(7))ElseMsgBox"
该进货编号不存在,请重新输入!
vbOKOnly+vbInformation,"
Me.Text16="
EndIfEndIfrs.Closecn.CloseSetrs=NothingSetcn=NothingEndSubPrivateSub修改记录_Click()DimcnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetDimsqlstrAsStringSetcn=CurrentProject.ConnectionIfIsNull(Me.进货编号)AndIsNull(Me.商品编号)AndIsNull(Me.进货单价)And_IsNull(Me.进货数量)AndIsNull(Me.供货单位)And_IsNull(Me.进货日期)AndIsNull(Me.存放位置)AndIsNull(Me.经手人)Then"
每个字段都不能为空!
Me.进货编号.SetFocusExitSubElsesqlstr="
rs.Opensqlstr,cn,adOpenDynamic,adLockOptimistic,adCmdTextrs(0)=Trim(Me.进货编号)rs
(1)=Trim(Me.商品编号)rs
(2)=Trim(Me.进货单价)rs(3)=Trim(Me.进货数量)rs(4)=Trim(Me.供货单位)rs(5)=Trim(Me.进货日期)rs(6)=Trim(Me.存放位置)rs(7)=Trim(Me.经手人)rs.UpdateEndIfrs.Closecn.CloseSetrs=NothingSetcn=NothingEndSubPrivateSub删除记录_Click()DimcnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetDimsqlstrAsStringSetcn=CurrentProject.ConnectionIfIsNull(Me.Text16)Then"
rs.Opensqlstr,cn,adOpenDynamic,adLockOptimistic,adCmdTextIfNotrs.EOFThenrs.DeleteElseMsgBox"
EndIfEndIfrs.Closecn.CloseSetrs=NothingSetcn=NothingEndSubPrivateSub关闭窗体_Click()DoCmd.CloseacForm,"
实验8:
进货信息操作窗体"
EndSubPrivateSub清空记录_Click()Me.Text16="
Me.进货编号="
Me.商品编号="
Me.进货单价="
Me.进货数量="
Me.供货单位="
Me.进货日期="
Me.存放位置="
Me.经手人="
EndSubPrivateSub添加记录_Click()DimcnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetDimsqlstrAsStringSetcn=CurrentProject.ConnectionIfIsNull(Me.进货编号)Then"
select*from进货信息表"
rs.Opensqlstr,cn,adOpenDynamic,adLockOptimistic,adCmdTextrs.MoveLastrs.AddNewrs(0)=Trim(Me.进货编号)rs
(1)=Trim(