信息管理系统实验指导书5.docx

上传人:牧羊曲112 文档编号:5012865 上传时间:2023-05-29 格式:DOCX 页数:22 大小:611.44KB
返回 下载 相关 举报
信息管理系统实验指导书5.docx_第1页
第1页 / 共22页
信息管理系统实验指导书5.docx_第2页
第2页 / 共22页
信息管理系统实验指导书5.docx_第3页
第3页 / 共22页
信息管理系统实验指导书5.docx_第4页
第4页 / 共22页
信息管理系统实验指导书5.docx_第5页
第5页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《信息管理系统实验指导书5.docx》由会员分享,可在线阅读,更多相关《信息管理系统实验指导书5.docx(22页珍藏版)》请在三一办公上搜索。

1、实验五宏实验类型: 验证性实验课时:2学时 指导教师:_时 间:年月日 课 次:第 节 教学周次:第_周一、实验目的1. 掌握宏的创建2. 掌握宏的运行二、实验内容及要求1. 创建宏2. 运行宏宏的创建、运行1. 创建并运行只有一个操作的宏要求:在“人事管理. accdb”数据库中创建宏,功能是打印预览“南航人文学院员工工资发放记录报 表”。操作步骤:(1) 在“人事管理.accdb ”数据库中,选择“创建”选项卡一一“宏与代码”组,单击“宏”按钮 进入宏设计窗口。二Z宏11OpenFormJLOpe-n QuerypenReportOpenTable-Pri niObjectPri ntPr

2、viewQuitAccess.RedoRelresh申熨新始T打蹄V二:X窗匚如T3 DpenRepoft图5-1宏设计器组合框及操作参数的设置(2) 在“添加新操作”列第1行选择“OpenReport”操作,“操作参数”区中的“报表名称”选“南 航人文学院员工工资发放记录报表”,“视图”选择“打印预览”。如图5-1所示。(3) 单击“保存”按钮,“宏名称”文本框中输入“预览报表宏”。(4) 单击“运行”按钮,运行宏。2. 创建并运行操作序列宏要求:创建宏,功能是打开“员工信息”表,打开表前要发出“嘟嘟”声;再关闭“员工信息”表, 关闭前要用消息框提示操作。操作步骤:(1)在“人事管理.acc

3、db”数据库中,选择“创建”选项卡一一“代码与宏”组,单击“宏”按钮, 进入宏设计窗口。(2)在“添加新操作”列的第1行,选择“Beep”操作。(3)在“添加新操作”列的第2行,选择“OpenTable”操作,“操作参数”区中的“表名称”选择 “员工信息”表。(4)在“添加新操作”列的第3行,选择“MsgBox”操作。“操作参数”区中的“消息”框中输入“关 闭表吗?”。(5)在“添加新操作”列的第4行,选择“RunMenuCommand”操作,再选择“Close”操作如图5-2 所示。BeepOpenTable-表名春另工W息视囹数据表Me&sageBoxS聂皂关闭表吗?发季盛声是型*日 Ru

4、nMe-nuCo-mmand命令Clote图5-2宏设计视图(6)单击“保存”按钮,“宏名称”文本框中输入“操作序列宏”(7)单击“运行”按钮,运行宏。3.创建并运行条件操作宏在“人事管理”数据库中,创建一个登录验证宏,使用命令按钮运行该宏时,对用户所输入的密码进 行验证,只有输入的密码为“123456 ”才能打开启动窗体,否则,弹出消息框,提示用户输入的系统密 码错误。操作步骤如下:(1)首先使用窗体设计视图,创建一个外围登录窗体。外围登录窗体包括一个文本框,用来输入密 码。一个命令按钮用来验证密码(此命令按钮留待后面再进行创建)以及窗体标题,该登录窗体的创建结 果,如图5-3所示。届性衰

5、X所选内容的类型:命朝钮格式瞄2甜牛其他贸 | -获得X.宏组宏2 宏组,Su品 宏组君ublW云双m成屐下成标移动艘下操作朝宏|C&mmandS图5-3登录窗体设计视图及“确定”按钮单击事件选择(2)在“创建”选项卡的“宏与代码”组中,单击“宏”按钮,打开“宏设计器”。(3)在添加新操作组合框中,输人“IF”,单击条件表达式文本框右侧的按钮。(4)打开“表达式生成器”对话框,在“表达式元素”窗格中,展开“人事管理Forms/所有窗体”, 选中“外围登录”窗体。在“表达式类别”窗格中,双击“Text0”,在表达式值中输入“123456”,如 图5-4所示。单击“确定”按钮,返回到“宏设计器”中

6、。图5-4 “表达式设计器”对话框(5)在“添加新操作”组合框中单击下拉箭头,在打开的列表中选择“MessageBox”,在“操作参 数”窗格的“消息”行中输人“密码错误!请重新输人系统密码! ”,在类型组合框中,选择“警告! ”,其 他参数默认。如图5-7所示(6)重复步骤(2)和(3),设置第2个IF。在IF的条件表达式中输人条件:Forms!:外围登录! Text0= 123456”。在添加新操作组合框中,选择“Closewindows,其他参数分别为“窗体、验证密 码、否”。设计结果如图5-5所示。(7) 在添加新操作中,选择“OpenForm”,各参数分别为“员工信息、窗体、普通”,

7、设置的结果, 如图5-5所示。保存宏名称为“外围登录验证”。(8) 打开“验证密码”窗体切换到设计视图中,“单击”项选“登陆验证”。如图5-7所示。-J登录验i正日 If Forms!tt!nextO 123456 ThenMessageBox渣皂 密码错误!请重新撬入至统密码!发停考声是缨*选中“确定”按钮,在属性窗口中“事件”选项卡If For m s! |TextO = 12345 6 Then/i CIcs-eWindQw对象类型商体;对条名称登录窗位保存否OpenForm窗佐名称选潮臃视囹窗俺脉名称当禁件留口模式普通End IfEnd If图5-5登录验证宏的设计视图(9)选“窗体”

8、对象,打开“登录窗体”窗体,分别输入正确的密码、错误的密码,单击“确定” 按钮,查看结果。4.创建自动运行宏要求:当用户打开数据库后,系统弹出登录窗口。操作步骤:(1) 在“创建”选项卡的“宏与代码”组中,单击“宏”按钮,打开“宏设计器”。(2) 在“添加新操作”组合框中单击下拉箭头,在打开的列表中选择“openform”,在“窗体名称” 参数中选择“登录”,其他参数默认。如图5-6所示(3) 保存宏,宏名为“AutoExec”。(4) 关闭数据库。(5) 重新打开“人事管理,accdb ”数据库,宏自动执行,弹出登录窗口。实验六模块与VBA程序设计实验类型:验证性 实验课时:土学时指导教师:

9、_时 间:_年_月日 课 次:第 节教学周次:第_周一、实验目的1. 掌握建立标准模块及窗体模块的方法2. 熟悉VBA开发环境及数据类型3. 掌握常量、变量、函数及其表达式的用法4. 掌握程序设计的顺序结构、分支结构、循环结构5. 了解VBA的过程及参数传递6. 掌握变量的定义方法和不同的作用域和生存期二、实验内容及要求1. 创建标准模块与窗体模块2. 常量、变量、函数及表达式的使用3. 数据类型、输入、输出函数及程序的顺序结构4. 选择结构if语句及Select Case语句的使用5. Do While循环、For循环语句的使用6. VBA过程、过程的参数传递、变量的作用域和生存期三、实验步

10、骤案例一:创建公用模块1. 在“人事管理.accdb”数据库中创建一个通用模块以建立数据库的连接和用户登录等,保存为 “公共模块”。操作步骤:(1) 打开“人事管理.accdb”数据库,选择“创建”选项卡一一“宏与代码”组一一单击“模块” 按钮,打开VBA编辑器。如图6-1所示。燃模块二画类模块B 雄| Vkual图6-1打开VBA编辑器宏与代码(2) 在代码窗口中输入如下内容:Option Compare DatabaseOption ExplicitPublic check As Boolean通过字符串StrQuery所引用的SQL语句返回一个ADO.Recordset对象Public

11、Function GetRs(ByVal StrQuery As String) As ADODB.RecordsetDim rs As New ADODB.RecordsetDim conn As New ADODB.ConnectionOn Error GoTo GetRS_ErrorSet conn = CurrentProject.Connectionrs.Open StrQuery, conn, adOpenKeyset, adLockOptimisticSet GetRs = rsGetRS_Exit:Set rs = NothingSet conn = NothingExit F

12、unctionGetRS_Error:MsgBox (Err.Description)Resume GetRS_ExitEnd Function(3) 单击“保存”按钮,输入模块名“公共模块”,单击“确定”按钮即可。案例二:编写“登录”窗体代码1.给窗体添加“加载”事件过程操作步骤:(1) 用设计视图打开“登录”窗体。(2) 设置.窗体的记录源。在窗体的“属性表”窗格中,单击“所选内容的类型:窗体”下拉列表框, 选择“窗体”选项。切换到“数据”选项卡,在“记录源”行的下拉列表框中选择“管理员”表,如图-2 所示。是性表x府吱卜其也|全部(3) 将“属性表”中的选项卡切换到“事件”,在“加载”行

13、中选中“事件过程”选项,并单击右边 的省略号按钮,如图6-3所示。搭式海所选内客的类型:菌眩成为兰m加裁闱4H-单击岫蛭郭牛其他冒图6-3给窗体添加“加载”事件过程(4) 进入VBA编辑器,自动新建一个名称为“Form_Load() ”的Sub过程。输入如下VBA代码,为窗 体添加“加载”事件过程。Private Sub Form_Load()最小化数据库窗体并初始化该窗体.On Error GoTo Form_Open_ErrDoCmd.SelectObject acForm, 主切换面板,TrueDoCmd.Minimizecheck = FalseForm_Open_Exit:Exit

14、SubForm_Open_Err:MsgBox Err.DescriptionResume Form_Open_ExitEnd Sub(5) 保存后,单击工具栏中的“视图Microsoft office Access”按钮四,返回Access。2. 为“OK ”按钮添加事件过程操作步骤:(1) 在“登录”窗体的“设计视图”中单击“确定”按钮,以选中OK按钮控件。(2) 将OK按钮控件的属性表窗格切换到“事件”选项卡,在“单击”行中选择“事件过程”选项, 并单击右边的省略号按钮,如图6-4所示。(3) 系统进入VBA编辑器,并自动新建一个名称为“OK_Click() ”的Sub过程。在代码窗口中

15、输入 以下VBA代码:Private Sub OK_Click()On Error GoTo Err_OK_ClickDim strSQL As StringDim rs As New ADODB.RecordsetIf IsNull(Me.UserName) Or Me.UserName = ThenDoCmd.BeepMsgBox (请输入用户名称!”)ElseIf IsNull(Me.Password) Or Me.Password = ThenDoCmd.BeepMsgBox (请输入密码!”)ElsestrSQL = SELECT * FROM 管理员 WHERE 用户名”& Me.

16、UserName & and 密码”&Me.Password & Set rs = GetRs(strSQL)If rs.EOF ThenDoCmd.BeepMsgBox (用户名或密码错误!”)Me.UserName =Me.Password =Me.UserName.SetFocusExit SubElseDoCmd.Closecheck = TrueDoCmd.OpenForm (主切换面板)End IfEnd IfSet rs = NothingExit_OK_Click:Exit SubErr_OK_Click:MsgBox (Err.Description)Debug.Print

17、Err.DescriptionResume Exit_OK_ClickEnd Sub(4) 保存该VBA编码,就为OK按钮控件添加了 “单击”事件过程。3.为“Cancel ”按钮添加事件过程。操作步骤:(1) 在“登录”窗体的“设计视图”中单击“取消”按钮,以选中Cancel按钮控件。(2) 将Cancel按钮控件的属性表窗格切换到“事件”选项卡,在“单击”行中选择“事件过程”选 项,并单击右边的省略号按钮,如图6-5所示。(3) 系统进入VBA编辑器,并自动新建一个名称为“Cancel_Click() ”的Sub过程。在代码窗口中 输入以下VBA代码:Private Sub Cancel_

18、Click()check = FalseDoCmd.CloseEnd Sub(4)保存该VBA编码,就为Cancel按钮控件添加了 “单击”事件过程。属5x用谴内岌理建: 2安沮Caned版|皤郛牛4他|割t 1 二矢云鼠豚下新下进入退出图6-5给Cancel按钮添加事件过程案例三:编写“主切换面板”窗体代码1. 为“主切换面板”窗体上的“Btn1”按钮控件添加“单击”事件过程 操作步骤:(1)选择“主切换面板”窗体对象,右键单击选择“设计视图”命令,进入该窗体的设计视图。(2)在“属性表”空格中,选择“数据”选项卡,单击“记录源”行的小箭头,在弹出的下拉列表 中选择“Wwitchboard

19、Items”表,如图6-6所示。屈峰x度瞄御其他囹抓取默认值力瞬时的筛选器排序依据力曦时的排序方式包锤力u勇删除允许辐/瞬选Switdibcjand Item JSwitchboard Items阳月份男职工己勤情况 月度出勤口巷#信息韵#信息员工所在部门兄纹克上出勤情况人僵皿醴藉!签曰记录企WT密计箕珈II所选内容的类型:窗区图6-6设置主切换面板窗体的记录源(3) 单击btnl按钮,选择“属性表”中“事件”选项卡,在“单击”行的属性框中输入 “=HandleButtonClick(1)”,以添加“btnl”按钮“单击事件”的响应程序。依次为btn2btn8按钮控件设置单击属性 “=Hand

20、leButtonClick(2)” U“=HandleButtonClick(8)”。(4) 在该窗体的设计视图“主体”节任意位置右击,弹出快捷菜单,选择“事件生成器”。如图6-7 所示。事件生成器或. 尝Tab就序I,.,处埴充/背景色CLJ1参卜m/#昱色CEI I tt网格-1;页面页眉度时 g献页眉倒W 西表单屈性回智属性|图6-7选择事件生成器(5) 在“选择生成器”的对话框中选择“代码生成器”单击“确定”后进入VBA编辑器,如图6-8 所示。图6-8选择代码生成器(6)删除系统自动生成的“主体_Click()”过程代码,新建一个新的Function函数HandleButtonCli

21、ck, 代码如下:Private Function HandleButtonClick(intbtn As Integer)处理按钮click事件Const conCmdGotoSwitchboard = 1Const conCmdNewForm = 2Const conCmdOpenReport = 3Const conCmdExitApplication = 4Const conCmdRunMacro = 8Const conCmdRunCode = 9Const conCmdOpenPage = 10Const conErrDoCmdCancelled = 2501Dim rs As A

22、DODB.RecordsetDim strSQL As StringOn Error GoTo HandleButtonClick_ErrSet rs = CreateObject(ADODB.Recordset)strSQL = SELECT * FROM Switchboard ItemsstrSQL = strSQL & WHERE SwitchboardID= & Me!SwitchboardID & AND ItemNumber= & intbtnSet rs = GetRs(strSQL)If (rs.EOF) ThenMsgBox 读取 Switchboard Items 表时出

23、错。rs.CloseSet rs = NothingExit FunctionEnd IfSelect Case rs!Command进入另一个切换面板Case conCmdGotoSwitchboardMe.Filter = ItemNumber = 0 AND SwitchboardID= & rs!Argument打开一个新窗体Case conCmdNewFormDoCmd.OpenForm rs!Argument打开报表Case conCmdOpenReportDoCmd.OpenReport rs!Argument, acPreview退出应用程序Case conCmdExitApp

24、licationCloseCurrentDatabase运行宏.Case conCmdRunMacroDoCmd.RunMacro rs!Argument,运行代码.Case conCmdRunCodeApplication.Run rs!Argument打开一个数据存取页面Case conCmdOpenPageDoCmd.OpenDataAccessPage rs!Argument未定义的选项.Case ElseMsgBox ”未知选项。End SelectClose the recordset and the database.rs.CloseHandleButtonClick_Exit:

25、On Error Resume NextSet rs = NothingExit FunctionHandleButtonClick_Err:If (Err = conErrDoCmdCancelled) ThenResume NextElseMsgBox ”执行命令时出错。, vbCriticalResume HandleButtonClick_ExitEnd IfEnd Function(7)单击保存按钮保存代码,完成“主切换面板”上“按钮”控件的“单击”消息事件。2. 为“主切换面板”窗体添加“成为当前”事件过程操作步骤:(1) 选择“属性表”中“窗体”对象,在“事件”选项卡中选择“成为

26、当前”单击下拉列表框,选 择“事件过程”选项,如图6-9所示。图6-9选择成为当前属性(2)单击“成为当前”右边的省略号按钮,进入VBA编辑器,系统自动建立一个“Form_Current()” 过程,写入以下代码:Private Sub Form_Current()更新标题并显示列表.Me.Caption = Nz(Me!ItemText,)FillbtnsEnd Sub(3)上述代码中的“Fillbtns”是另外一个过程,其功能是为实现“主切换面板”上的控件数量和控 件标题等信息,代码如下:Private Sub Fillbtns()显示切换框中的列表,按钮数量.Const conNumBu

27、ttons As Integer = 8Dim rs As New ADODB.RecordsetDim strSQL As StringDim intbtn As IntegerMe!btn1.SetFocusFor intbtn = 2 To conNumButtonsMe(btn & intbtn).Visible = FalseMe(lbl & intbtn).Visible = FalseNext intbtn 打开表 Switchboard ItemsstrSQL = SELECT * FROM Switchboard ItemsstrSQL = strSQL & WHERE It

28、emNumber 0 AND SwitchboardID= & Me!SwitchboardIDstrSQL = strSQL & ORDER BY ItemNumber;Set rs = GetRs(strSQL)If (rs.EOF) ThenMe!lbl1.Caption =此切换面板页上无项目。ElseWhile (Not (rs.EOF)Me(btn & rs!ItemNumber).Visible = TrueMe(lbl & rs!ItemNumber).Visible = TrueMe(lbl & rs!ItemNumber).Caption = rs!ItemTextrs.M

29、oveNextWendEnd If关闭数据集合和数据库rs.CloseSet rs = NothingEnd Sub3. 为“主切换面板”窗体添加“加载”事件过程操作步骤:(1)选择“属性表”中“窗体”对象,在“事件”选项卡中选择“加载”单击下拉列表框,选择“事 件过程”选项,如图6-10所示。假|曜郭牛地|登成为招刖钿裁单击更新后图6-10选择“加载”属性(2)单击“加载”右边的省略号按钮,进入VBA编辑器,系统自动建立一个“Form_Load()”过程, 写入以下代码:Private Sub Form_Load()If Not check ThenMsgBox (请先登录!”)DoCmd.

30、CloseDoCmd.OpenForm (登录)End IfEnd Sub4. 为“主切换面板”窗体添加“打开”事件过程操作步骤:(1) 选择“属性表”中“窗体”对象,在“事件”选项卡中选择“打开”单击下拉列表框,选择“事 件过程”选项,如图6-11所示。图6-11选择“打开”属性(2) 单击“打开”右边的省略号按钮,进AVBA编辑器,系统自动建立一个“Form_Open()”过程, 该过程使得用户在打开主切换面板时有默认的选择值,代码如下:Private Sub Form_Open(Cancel As Integer)On Error GoTo Form_Open_Err显示默认的选项.Me

31、.Filter = ItemNumber = 0 AND Argument=默认Me.FilterOn = TrueForm_Open_Exit:Exit SubForm_Open_Err:MsgBox Err.DescriptionResume Form_Open_ExitEnd Sub案例四:编写“员工考勤记录查询”窗体代码1. 向“员工考勤记录查询”窗体添加“加载”事件过程操作步骤:(1) 打开“员工考勤记录查询”窗体,切换到“设计视图”,如图6-12所示。图6-12用“设计视图”打开“员工考勤记录查询”窗体(2) 选择“属性表”中“窗体”类型,单击“数据”选项卡,在“记录源”行的下拉列

32、表框中选择 “员工考勤记录查询”选项,如图6-13所示。图6-13设定“记录源”属性(3) 切换属性表选项卡到“事件”,在“加载”行中选择“事件过程”选项,并单击右边的省略号按 钮,如图6-14所示。图6-14设定“加载”属性(4)进入VBA编辑器窗口,自动新建一个名称为“Form_Load()”的Sub过程,输入以下代码:Private Sub Form_Load()If Not check ThenMsgBox (”请先登录!”)DoCmd.CloseDoCmd.OpenForm (登录”)End IfEnd Sub(5)保存后切换回设计视图。2. 为“考勤查询”按钮添加单击事件操作步骤:

33、(1)在“员工考勤记录查询”窗体的“设计视图”中单击“考勤查询”按钮。(2)选择“属性表”中“事件”选项卡,在“单击”行中选择“事件过程”选项,如图6-15所示。图6-15设定“考勤查询”的“单击”属性(3)点击右边的省略号按钮,进入VBA编辑器,系统自动创建一个名称为“考勤查询Click()”的 Sub过程,输入代码如下:Private Sub 考勤查询_Click()If IsNull(员工号)Or IsNull(开始时间)Or IsNull(结束时间)ThenMsgBox ”您必须输入员工号、开始时间和结束时间。DoCmd.GoToControl开始时间”ElseIf 开始时间 结束时间

34、ThenMsgBox ”结束时间必须大于开始时间。”DoCmd.GoToControl开始时间”ElseDoCmd.OpenReport 员工考勤记录查询报表”,acViewPreview, , , acWindowNormalMe.Visible = FalseEnd IfEnd IfEnd Sub(4)保存后切换回设计视图。3. 为“取消”按钮添加单击事件操作步骤:(1)在“员工考勤记录查询”窗体的“设计视图”中单击“取消”按钮。(2)选择“属性表”中“事件”选项卡,在“单击”行中选择“事件过程”选项,如图6-16所示。图6-16设定“取消”的“单击”属性(3) 点击右边的省略号按钮,进入

35、VBA编辑器,系统自动创建一个名称为“取消_Click()”的Sub 过程,输入代码如下:Private Sub 取消_Click()DoCmd.CloseEnd Sub(4) 保存后切换回设计视图。案例五:编写“员工工资查询”窗体代码1. 向“员工工资查询”窗体添加“加载”事件过程操作步骤:(1)打开“员工工资查询”窗体,切换到“设计视图”,如图6-17所示。巨员工工萤查洵L,日 2图6-17用“设计视图”打开“员工工资查询”窗体(2) 选择“属性表”中“窗体”类型,单击“数据”选项卡,在“记录源”行的下拉列表框中选择 “员工工资查询”选项,如图6-18所示。图6-18设定“记录源”属性(3

36、) 切换属性表选项卡到“事件”,在“加载”行中选择“事件过程”选项,并单击右边的省略号按 钮,如图6-19所示。图6-19设定“加载”属性(4)进入VBA编辑器窗口,自动新建一个名称为“Form_Load()”的Sub过程,输入以下代码:Private Sub Form_Load()If Not check ThenMsgBox (”请先登录!”)DoCmd.CloseDoCmd.OpenForm (登录”)End IfEnd Sub(5)保存后切换回设计视图。2. 为“工资查询”按钮添加单击事件操作步骤:(1)在“员工工资查询”窗体的“设计视图”中单击“工资查询”按钮。(2)选择“属性表”中

37、“事件”选项卡,在“单击”行中选择“事件过程”选项,如图6-20所示。图6-20设定“工资查询”的“单击”属性(3)点击右边的省略号按钮,进入VBA编辑器,系统自动创建一个名称为“工资查询_Click()”的 Sub过程,输入代码如下:Private Sub 工资查询_Click()If IsNull(员工号)ThenMsgBox ”您必须输入员工号。”DoCmd.GoToControl 员工号”ElseIf 开始月份 结束月份ThenMsgBox ”结束月份必须大于开始月份。”DoCmd.GoToControl 开始月份”ElseDoCmd.OpenReport 员工工资查询报表”,acVi

38、ewPreview, , , acWindowNormalMe.Visible = FalseEnd IfEnd IfEnd Sub(4)保存后切换回设计视图。3. 为“取消”按钮添加单击事件操作步骤:(1)在“员工工资查询”窗体的“设计视图”中单击“取消”按钮。(2)选择“属性表”中“事件”选项卡,在“单击”行中选择“事件过程”选项,如图6-21所示。图6-16设定“取消”的“单击”属性的Sub(3) 点击右边的省略号按钮,进入VBA编辑器,系统自动创建一个名称为“取消_Click()” 过程,输入代码如下:Private Sub 取消_Click()DoCmd.CloseEnd Sub(4) 保存后切换回设计视图。*矗加新操作图5-6自动运行宏设计视图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号