![信息管理系统实验指导书5_第1页](http://file4.renrendoc.com/view/267ca5248111d2810f117845e1b07fa7/267ca5248111d2810f117845e1b07fa71.gif)
![信息管理系统实验指导书5_第2页](http://file4.renrendoc.com/view/267ca5248111d2810f117845e1b07fa7/267ca5248111d2810f117845e1b07fa72.gif)
![信息管理系统实验指导书5_第3页](http://file4.renrendoc.com/view/267ca5248111d2810f117845e1b07fa7/267ca5248111d2810f117845e1b07fa73.gif)
![信息管理系统实验指导书5_第4页](http://file4.renrendoc.com/view/267ca5248111d2810f117845e1b07fa7/267ca5248111d2810f117845e1b07fa74.gif)
![信息管理系统实验指导书5_第5页](http://file4.renrendoc.com/view/267ca5248111d2810f117845e1b07fa7/267ca5248111d2810f117845e1b07fa75.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验五宏实验类型: 验证性 实验课时:2学时指导教师:_时间:_年_月—日课次:第 节教学周次:第—周―、实验目的掌握宏的创建掌握宏的运行二、实验内容及要求创建宏运行宏宏的创建、运行创建并运行只有一个操作的宏要求:在“人事管理.accdb”数据库中创建宏,功能是打印预览“南航人文学院员工工资发放记录报表”。操作步骤:齐在“人事管理.accdb”数据库中,选择“创建”选项卡一一“宏与代码”组,单击“宏”按钮 ,进入宏设计窗口。OpenForrnOpenQueryOpenReportOpenTable-PririiObjectPriritPr^viewQuitAccessOpenForrnOpenQueryOpenReportOpenTable-PririiObjectPriritPr^viewQuitAccessRefreshoE3DpcnRepoctX鬆釣崩咖就11£麺薛殊T湄打碗V窗匚獻耀T图5-1宏设计器组合框及操作参数的设置在“添加新操作”列第1行选择“OpenReport”操作,“操作参数”区中的“报表名称”选“南航人文学院员工工资发放记录报表”,“视图”选择“打印预览”。如图5-1所示。单击“保存”按钮,“宏名称”文本框中输入“预览报表宏”。单击“运行”按钮,运行宏。创建并运行操作序列宏要求:创建宏,功能是打开“员工信息”表,打开表前要发出“嘟嘟”声;再关闭“员工信息”表,关闭前要用消息框提示操作。操作步骤:(1) 在“人事管理.accdb”数据库中,选择“创建”选项卡一一“代码与宏”组,单击“宏”按钮,进入宏设计窗口。(2) 在“添加新操作”列的第1行,选择“Beep”操作。(3) 在“添加新操作”列的第2行,选择“OpenTable”操作,“操作参数”区中的“表名称”选择“员工信息”表。(4) 在“添加新操作”列的第3行,选择“MsgBox”操作。“操作参数”区中的“消息”框中输入“关闭表吗?”。(5) 在“添加新操作”列的第4行,选择“RunMenuCommand”操作,再选择“Close”操作如图5-2所示。BeepOpenTable-表容和员工信息视圏舞表Me&sageBox:肖皂关诩表吗孑笈唏嶷声昙-RunM&nuCommand命令Clote勵Q新燥件图5-2宏设计视图(6) 单击“保存”按钮,“宏名称”文本框中输入“操作序列宏”。(7) 单击“运行”按钮,运行宏。创建并运行条件操作宏在“人事管理”数据库中,创建一个登录验证宏,使用命令按钮运行该宏时,对用户所输入的密码进行验证,只有输入的密码为“123456”才能打开启动窗体,否则,弹出消息框,提示用户输入的系统密码错误。操作步骤如下:(1)首先使用窗体设计视图,创建一个外围登录窗体。外围登录窗体包括一个文本框,用来输入密码。一个命令按钮用来验证密码(此命令按钮留待后面再进行创建)以及窗体标题,该登录窗体的创建结果,如图5-3所示。属性表 ▼X所逛内容时类型:命令按钮梧式站2寻件梧式站2寻件具他全部壬-1-获得嵐F富书舞I宏组左去组,Eubl孟咫下宏 |C&mmandS图5-3登录窗体设计视图及“确定”按钮单击事件选择在“创建”选项卡的“宏与代码”组中,单击“宏”按钮,打开“宏设计器”在添加新操作组合框中,输人“IF”,单击条件表达式文本框右侧的按钮。打开“表达式生成器”对话框,在“表达式元素”窗格中,展开“人事管理/Forms/所有窗体”,选中“外围登录”窗体。在“表达式类别”窗格中,双击“TextO”,在表达式值中输入“〈>123456”,如图5-4所示。单击“确定”按钮,返回到“宏设计器”中。图5-4“表达式设计器”对话框在“添加新操作”组合框中单击下拉箭头,在打开的列表中选择“MessageBox”,在“操作参数”窗格的“消息”行中输人“密码错误!请重新输人系统密码!”,在类型组合框中,选择“警告!”,其他参数默认。如图5-7所示重复步骤(2)和(3),设置第2个IF。在IF的条件表达式中输人条件:[Forms]![外围登录]![Text0]=""123456""”。在添加新操作组合框中,选择“Closewindows",其他参数分别为“窗体、验证密码、否”。设计结果如图5-5所示。
在添加新操作中,选择“OpenForm”,各参数分别为“员工信息、窗体、普通”,设置的结果,如图5-5所示。保存宏名称为“外围登录验证”。打开“验证密码”窗体切换到设计视图中,选中“确定”按钮,在属性窗口中“事件”选项卡,“单击”项选“登陆验证”。如图5-7所示。□IfForms![^»tt]!n'extO]<>"123456"□IfForms![^»tt]!n'extO]<>"123456"ThenMessageBox消息密码错误!请重新抜人葩密码!发韩韩声是日If[Forms]! 1|TextO]='123456"Then/'i\ClG5-eWindow对蠡类型窗低对魚名称登录裔钛躁存否OpenForm窗庫名称迤课I靖视囹窗体艇名称当案件窗口欖式普通EndIf EndIf图5-5登录验证宏的设计视图选“窗体”对象,打开“登录窗体”窗体,分别输入正确的密码、错误的密码,单击“确定”按钮,查看结果。创建自动运行宏要求:当用户打开数据库后,系统弹出登录窗口。操作步骤:在“创建”选项卡的“宏与代码”组中,单击“宏”按钮,打开“宏设计器”在“添加新操作”组合框中单击下拉箭头,在打开的列表中选择“openform”,在“窗体名称”参数中选择“登录”,其他参数默认。如图5-6所示保存宏,宏名为“AutoExec”。关闭数据库。重新打开“人事管理.accdb”数据库,宏自动执行,弹出登录窗口。日OpenForm日OpenForm蹴[]新擾作图5-6自动运行宏设计视图
实验六模块与VBA程序设计实验类型:验证性实验课时:丄学时指导教师:_时间:_年_月—日课次:第 节教学周次:第—周―、实验目的掌握建立标准模块及窗体模块的方法熟悉VBA开发环境及数据类型掌握常量、变量、函数及其表达式的用法4•掌握程序设计的顺序结构、分支结构、循环结构5.了解VBA的过程及参数传递6.掌握变量的定义方法和不同的作用域和生存期二、实验内容及要求1•创建标准模块与窗体模块常量、变量、函数及表达式的使用数据类型、输入、输出函数及程序的顺序结构选择结构if语句及SelectCase语句的使用DoWhile循环、For循环语句的使用VBA过程、过程的参数传递、变量的作用域和生存期三、实验步骤案例一:创建公用模块在“人事管理.accdb”数据库中创建一个通用模块以建立数据库的连接和用户登录等,保存为“公共模块”。操作步骤:打开“人事管理.accdb”数据库,选择“创建”选项卡一一“宏与代码”组一一单击“模块”按钮,打开VBA编辑器。如图6-1所示。倉槿块Visual宏与代码图6-1倉槿块Visual宏与代码图6-1打开VBA编辑器在代码窗口中输入如下内容:OptionCompareDatabaseOptionExplicitPubliccheckAsBoolean'通过字符串StrQuery所引用的SQL语句返回一个ADO.Recordset对象PublicFunctionGetRs(ByValStrQueryAsString)AsADODB.RecordsetDimrsAsNewADODB.RecordsetDimconnAsNewADODB.ConnectionOnErrorGoToGetRS_ErrorSetconn=CurrentProject.Connectionrs.OpenStrQuery,conn,adOpenKeyset,adLockOptimisticSetGetRs=rsGetRS_Exit:Setrs=NothingSetconn=NothingExitFunctionGetRS_Error:MsgBox(Err.Description)ResumeGetRS_ExitEndFunction单击“保存”按钮,输入模块名“公共模块”单击“确定”按钮即可。案例二:编写“登录”窗体代码1•给窗体添加“加载”事件过程操作步骤:用设计视图打开“登录”窗体。下拉列表框,表,如图-2设置窗体的记录源。在窗体的“属性表”窗格中,单击“所选内容的类型:窗体”选择“窗体”选项。切换到“数据”选项卡,在“记录源”行的下拉列表框中选择“管理员所示。下拉列表框,表,如图-2JE性去肝述内容柴矣型;mT记录源全业工怪计輙则tn载时的歸迁詐fflseaE忙戢时的徉字方式软庄续上浬企业工贾发放记聂交叉袁2尘业工放记最交夏却企业工资岌枚记寻却左企业tn载时的歸迁詐fflseaE忙戢时的徉字方式软庄续上浬锻别工沒團旻图6-2打开登录窗体的属性表
将“属性表”中的选项卡切换到“事件”在“加载”行中选中“事件过程”选项,并单击右边的省略号按钮,如图6-3所示。屈性兼 *所逛内客的类型:搐式窗体 [V成左当前禺书癖]▼・・・羊击叔琳嶄其他|知图6-3给窗体添加“加载”事件过程进入VBA编辑器,自动新建一个名称为“Form_Load()”的Sub过程。输入如下VBA代码,为窗体添加“加载”事件过程。PrivateSubForm_Load()'最小化数据库窗体并初始化该窗体.OnErrorGoToForm_Open_ErrDoCmd.SelectObjectacForm,"主切换面板",TrueDoCmd.Minimizecheck=FalseForm_Open_Exit:ExitSubForm_Open_Err:MsgBoxErr.DescriptionResumeForm_Open_ExitEndSub保存后,单击工具栏中的“视图MicrosoftofficeAccess”按钮厨,返回Access。为“OK”按钮添加事件过程操作步骤:在“登录”窗体的“设计视图”中单击“确定”按钮,以选中OK按钮控件。将OK按钮控件的属性表窗格切换到“事件”选项卡,在“单击”行中选择“事件过程”选项,并单击右边的省略号按钮,如图6-4所示。图6-4图6-4给OK按钮添加事件过程系统进入VBA编辑器,并自动新建一个名称为“OK_Click()”的Sub过程。在代码窗口中输入以下VBA代码:PrivateSubOK_Click()OnErrorGoToErr_OK_ClickDimstrSQLAsStringDimrsAsNewADODB.RecordsetIfIsNull(Me.UserName)OrMe.UserName=""ThenDoCmd.BeepMsgBox("请输入用户名称!")ElseIfIsNull(Me.Password)OrMe.Password=""ThenDoCmd.BeepMsgBox("请输入密码!")ElsestrSQL="SELECT*FROM管理员WHERE用户名='"&Me.UserName&"'and密码='"&Me.Password&"'"Setrs=GetRs(strSQL)Ifrs.EOFThenDoCmd.BeepMsgBox("用户名或密码错误!")Me.UserName=""Me.Password=""Me.UserName.SetFocusExitSubElseDoCmd.Closecheck=TrueDoCmd.OpenForm("主切换面板")EndIfEndIfSetrs=NothingExit_OK_Click:ExitSubErr_OK_Click:MsgBox(Err.Description)Debug.PrintErr.DescriptionResumeExit_OK_ClickEndSub保存该VBA编码,就为OK按钮控件添加了“单击”事件过程。3.为“Cancel”按钮添加事件过程。操作步骤:在“登录”窗体的“设计视图”中单击“取消”按钮,以选中Cancel按钮控件。将Cancel按钮控件的属性表窗格切换到“事件”选项卡,在“单击”行中选择“事件过程”选项,并单击右边的省略号按钮,如图6-5所示。系统进入VBA编辑器,并自动新建一个名称为“Cancel_Click()”的Sub过程。在代码窗口中输入以下VBA代码:PrivateSubCancel_Click()
check=FalseDoCmd.CloseEndSub保存该VBA编码,就为Cancel按钮控件添加了“单击”事件过程。屈性麦 xCiancel▼阚娠Wt其他|鋼-I-鼠饭按下进入退出图6-5给Cancel按钮添加事件过程案例三:编写“主切换面板”窗体代码1.为“主切换面板”窗体上的“Btnl”按钮控件添加“单击”事件过程操作步骤:选择“主切换面板”窗体对象,右键单击选择“设计视图”命令,进入该窗体的设计视图。在“属性表”空格中,选择“数据”选项卡,单击“记录源”行的小箭头,在弹出的下拉列表中选择“WwitchboardItems”表,如图6-6所示。图6-6设置主切换面板窗体的记录源
单击btnl按钮,选择“属性表”中“事件”选项卡,在“单击”行的属性框中输入“=HandleButtonClick(l)”,以添加“btnl”按钮“单击事件”的响应程序。依次为btn2-btn8按钮控件设置单击属性“=HandleButtonClick(2)”至到“=HandleButtonClick(8)”。在该窗体的设计视图“主体”节任意位置右击,弹出快捷菜单,选择“事件生成器”如图6-7所示。亘;Tab舷序(Ih,盘埴充/背訟CD ►—1寄卜埴充/背冕色B►F 1tt网格(Ki」i;直面页眉须腳囲凰窗体真1烦脚凹雪雇性曰 |图6-7选择事件生成器在“选择生成器”的对话框中选择“代码生成器”单击“确定”后进入VBA编辑器,如图6-8所示。图6-8选择代码生成器(6)删除系统自动生成的“主体_Click()”过程代码,新建一个新的Function函数HandleButtonClick,代码如下:PrivateFunctionHandleButtonClick(intbtnAsInteger)'处理按钮click事件ConstconCmdGotoSwitchboard=1ConstconCmdNewForm=2ConstconCmdOpenReport=3ConstconCmdExitApplication=4ConstconCmdRunMacro=8ConstconCmdRunCode=9ConstconCmdOpenPage=10ConstconErrDoCmdCancelled=2501DimrsAsADODB.RecordsetDimstrSQLAsStringOnErrorGoToHandleButtonClick_ErrSetrs=CreateObject("ADODB.Recordset")strSQL="SELECT*FROM[SwitchboardItems]"strSQL=strSQL&"WHERE[SwitchboardID]="&Me![SwitchboardID]&"AND[ItemNumber]="&intbtnSetrs=GetRs(strSQL)If(rs.EOF)ThenMsgBox"读取SwitchboardItems表时出错。"rs.CloseSetrs=NothingExitFunctionEndIfSelectCasers![Command]'进入另一个切换面板CaseconCmdGotoSwitchboardMe.Filter="[ItemNumber]=0AND[SwitchboardID]="&rs![Argument]'打开一个新窗体CaseconCmdNewFormDoCmd.OpenFormrs![Argument]'打开报表CaseconCmdOpenReportDoCmd.OpenReportrs![Argument],acPreview'退出应用程序CaseconCmdExitApplicationCloseCurrentDatabase'运行宏.CaseconCmdRunMacroDoCmd.RunMacrors![Argument]'运行代码.CaseconCmdRunCodeApplication.Runrs![Argument]'打开一个数据存取页面CaseconCmdOpenPageDoCmd.OpenDataAccessPagers![Argument]'未定义的选项.CaseElseMsgBox"未知选项。"EndSelect'Closetherecordsetandthedatabase.rs.CloseHandleButtonClick_Exit:OnErrorResumeNextSetrs=NothingExitFunctionHandleButtonClick_Err:If(Err=conErrDoCmdCancelled)ThenResumeNextElseMsgBox"执行命令时出错。”,vbCriticalResumeHandleButtonClick_ExitEndIfEndFunction(7)单击保存按钮保存代码,完成“主切换面板”上“按钮”控件的“单击”消息事件。2•为“主切换面板”窗体添加“成为当前”事件过程操作步骤:选择“属性表”中“窗体”对象,在“事件”选项卡中选择“成为当前”单击下拉列表框,选择“事件过程”选项,如图6-9所示。图6-9选择成为当前属性单击“成为当前”右边的省略号按钮,进入VBA编辑器,系统自动建立一个“Form_Current()”过程,写入以下代码:PrivateSubForm_Current()'更新标题并显示列表.Me.Caption=Nz(Me![ItemText],"")FillbtnsEndSub上述代码中的“Fillbtns”是另外一个过程,其功能是为实现“主切换面板”上的控件数量和控件标题等信息,代码如下:PrivateSubFillbtns()'显示切换框中的列表'按钮数量.ConstconNumButtonsAsInteger=8DimrsAsNewADODB.RecordsetDimstrSQLAsStringDimintbtnAsIntegerMe![btnl].SetFocusForintbtn=2ToconNumButtonsMe("btn"&intbtn).Visible=FalseMe("lbl"&intbtn).Visible=FalseNextintbtn'打开表SwitchboardItemsstrSQL="SELECT*FROM[SwitchboardItems]"strSQL=strSQL&”WHERE[ItemNumber]>0AND[SwitchboardID]="&Me![SwitchboardID]strSQL=strSQL&”ORDERBY[ItemNumber];"Setrs=GetRs(strSQL)If(rs.EOF)ThenMe![lbll].Caption="此切换面板页上无项目。”ElseWhile(Not(rs.EOF))Me("btn"&rs![ItemNumber]).Visible=TrueMe("lbl"&rs![ItemNumber]).Visible=TrueMe("lbl"&rs![ItemNumber]).Caption=rs![ItemText]rs.MoveNextWendEndIf'关闭数据集合和数据库rs.CloseSetrs=NothingEndSub3•为“主切换面板”窗体添加“加载”事件过程操作步骤:选择“属性表”中“窗体”对象,在“事件”选项卡中选择“加载”单击下拉列表框,选择“事件过程”选项,如图6-10所示。成为当刖劃题寸“单击更新后图6-10选择“加载”属性(2)单击“加载”右边的省略号按钮,进入VBA编辑器,系统自动建立一个“Form_Load()”过程,写入以下代码:PrivateSubForm_Load()IfNotcheckThenMsgBox("请先登录!”)DoCmd.CloseDoCmd.OpenForm("登录")EndIfEndSub4•为“主切换面板”窗体添加“打开”事件过程操作步骤:选择“属性表”中“窗体”对象,在“事件”选项卡中选择“打开”单击下拉列表框,选择“事件过程”选项,如图6-11所示。图6-11选择“打开”属性单击“打开”右边的省略号按钮,进入VBA编辑器,系统自动建立一个“Form_Open()”过程,该过程使得用户在打开主切换面板时有默认的选择值,代码如下:PrivateSubForm_Open(CancelAsInteger)OnErrorGoToForm_Open_Err'显示默认的选项.Me.Filter="[ItemNumber]=0AND[Argument]=默认'"Me.FilterOn=TrueForm_Open_Exit:ExitSubForm_Open_Err:MsgBoxErr.DescriptionResumeForm_Open_ExitEndSub案例四:编写“员工考勤记录查询”窗体代码1•向“员工考勤记录查询”窗体添加“加载”事件过程操作步骤:打开“员工考勤记录查询”窗体,切换到“设计视图”,如图6-12所示。图6-12用“设计视图”打开“员工考勤记录查询”窗体
选择“属性表”中“窗体”类型,单击“数据”选项卡,在“记录源”行的下拉列表框中选择“员工考勤记录查询”选项,如图6-13所示。窗施 卜他曲吕TT吕TT資彌班兄ffl&U人尿签已记录企匹资馳»口栽时的筛选器排序依摒血栽时的却侑方式企虹瓷融企业工资发啟记录困企匹贵馳疑加班记录期!图6-13设定“记录源”属性切换属性表选项卡到“事件”,在“加载”行中选择“事件过程”选项,并单击右边的省略号按钮,如图6-14所示。图6-14设定“加载”属性(4)进入VBA编辑器窗口,自动新建一个名称为“Form_Load()”的Sub过程,输入以下代码:PrivateSubForm_Load()IfNotcheckThenMsgBox("请先登录!”)DoCmd.CloseDoCmd.OpenForm("登录")EndIfEndSub(5)保存后切换回设计视图。2.为“考勤查询”按钮添加单击事件操作步骤:(1) 在“员工考勤记录查询”窗体的“设计视图”中单击“考勤查询”按钮。(2) 选择“属性表”中“事件”选项卡,在“单击”行中选择“事件过程”选项,如图6-15所示。图6-15设定“考勤查询”的“单击”属性(3) 点击右边的省略号按钮,进入VBA编辑器,系统自动创建一个名称为“考勤查询_Click()”的Sub过程,输入代码如下:PrivateSub考勤查询_Click()IfIsNull([员工号])OrIsNull([开开始时间])OrIsNull([结束时间])ThenMsgBox"您必须输入员工号、开始时间和结束时间。"DoCmd.GoToControl"开始时间"ElseIf[开始时间]>[结束时间]ThenMsgBox"结束时间必须大于开始时间。"DoCmd.GoToControl"开始时间"ElseDoCmd.OpenReport"员工考勤记录查询报表",acViewPreview,,,acWindowNormalMe.Visible=FalseEndIfEndIfEndSub(4) 保存后切换回设计视图。3•为“取消”按钮添加单击事件操作步骤:(1) 在“员工考勤记录查询”窗体的“设计视图”中单击“取消”按钮。(2) 选择“属性表”中“事件”选项卡,在“单击”行中选择“事件过程”选项,如图6-16所示。
图6-16设定“取消”的“单击”属性点击右边的省略号按钮,进入VBA编辑器,系统自动创建一个名称为“取消_Click()”的Sub过程,输入代码如下:Pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025如何写农村土地承包合同范文
- 2025服装代理商合同协议书范本
- 2《花的学校》说课稿-2024-2025学年统编版语文三年级上册
- 2024年五年级数学上册 二 小数乘法 2小数的乘法第2课时 小数乘小数说课稿 冀教版
- 军训训合同范例
- 2024-2025学年高中化学上学期《化学计量在试验中的应用》说课稿 新人教版必修1
- 出口货代合同范例
- 出国劳务采购合同范例
- 出让土地盖楼合同范本
- 客户信息保护与商业推广分离准则
- 排球正面上手传球 说课稿-2023-2024学年高一上学期体育与健康人教版必修第一册
- 2025年浙江省交通投资集团财务共享服务中心招聘2名高频重点提升(共500题)附带答案详解
- 做投标文件培训
- 9.4+跨学科实践:制作简易活塞式抽水机课件+-2024-2025学年人教版物理八年级下册
- 建筑工程工作计划
- 2025年中国国际投资促进中心限责任公司招聘管理单位笔试遴选500模拟题附带答案详解
- 瓶装液化气送气工培训
- 外科护理课程思政课程标准
- 船舶航行安全
- 道德经全文完整版本
- 9.2溶解度(第1课时饱和溶液不饱和溶液)+教学设计-2024-2025学年九年级化学人教版(2024)下册
评论
0/150
提交评论