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

上传人:b****8 文档编号:10256871 上传时间:2023-02-09 格式:DOCX 页数:31 大小:493.22KB
下载 相关 举报
信息管理系统实验指导书56.docx_第1页
第1页 / 共31页
信息管理系统实验指导书56.docx_第2页
第2页 / 共31页
信息管理系统实验指导书56.docx_第3页
第3页 / 共31页
信息管理系统实验指导书56.docx_第4页
第4页 / 共31页
信息管理系统实验指导书56.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

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

《信息管理系统实验指导书56.docx》由会员分享,可在线阅读,更多相关《信息管理系统实验指导书56.docx(31页珍藏版)》请在冰豆网上搜索。

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

信息管理系统实验指导书56

实验五宏

实验类型:

验证性实验课时:

2学时指导教师:

时间:

年月日课次:

第节教学周次:

第周

一、实验目的

1.掌握宏的创建

2.掌握宏的运行

二、实验内容及要求

1.创建宏

2.运行宏

宏的创建、运行

1.创建并运行只有一个操作的宏

要求:

在“人事管理.accdb”数据库中创建宏,功能是打印预览“南航人文学院员工工资发放记录报表”。

操作步骤:

(1)在“人事管理.accdb”数据库中,选择“创建”选项卡——“宏与代码”组,单击“宏”按钮

,进入宏设计窗口。

图5-1宏设计器组合框及操作参数的设置

(2)在“添加新操作”列第1行选择“OpenReport”操作,“操作参数”区中的“报表名称”选“南航人文学院员工工资发放记录报表”,“视图”选择“打印预览”。

如图5-1所示。

(3)单击“保存”按钮,“宏名称”文本框中输入“预览报表宏”。

(4)单击“运行”按钮,运行宏。

2.创建并运行操作序列宏

要求:

创建宏,功能是打开“员工信息”表,打开表前要发出“嘟嘟”声;再关闭“员工信息”表,关闭前要用消息框提示操作。

操作步骤:

(1)在“人事管理.accdb”数据库中,选择“创建”选项卡——“代码与宏”组,单击“宏”按钮,进入宏设计窗口。

(2)在“添加新操作”列的第1行,选择“Beep”操作。

(3)在“添加新操作”列的第2行,选择“OpenTable”操作,“操作参数”区中的“表名称”选择“员工信息”表。

(4)在“添加新操作”列的第3行,选择“MsgBox”操作。

“操作参数”区中的“消息”框中输入“关闭表吗?

”。

(5)在“添加新操作”列的第4行,选择“RunMenuCommand”操作,再选择“Close”操作如图5-2所示。

图5-2宏设计视图

(6)单击“保存”按钮,“宏名称”文本框中输入“操作序列宏”。

(7)单击“运行”按钮,运行宏。

3.创建并运行条件操作宏

在“人事管理”数据库中,创建一个登录验证宏,使用命令按钮运行该宏时,对用户所输入的密码进行验证,只有输入的密码为“123456”才能打开启动窗体,否则,弹出消息框,提示用户输入的系统密码错误。

操作步骤如下:

(1)首先使用窗体设计视图,创建一个外围登录窗体。

外围登录窗体包括一个文本框,用来输入密码。

一个命令按钮用来验证密码(此命令按钮留待后面再进行创建)以及窗体标题,该登录窗体的创建结果,如图5-3所示。

图5-3登录窗体设计视图及“确定”按钮单击事件选择

(2)在“创建”选项卡的“宏与代码”组中,单击“宏”按钮,打开“宏设计器”。

(3)在添加新操作组合框中,输人“IF”,单击条件表达式文本框右侧的按钮。

(4)打开“表达式生成器”对话框,在“表达式元素”窗格中,展开“人事管理/Forms/所有窗体”,选中“外围登录”窗体。

在“表达式类别”窗格中,双击“Text0”,在表达式值中输入“<>123456”,如图5-4所示。

单击“确定”按钮,返回到“宏设计器”中。

图5-4“表达式设计器”对话框

(5)在“添加新操作”组合框中单击下拉箭头,在打开的列表中选择“MessageBox”,在“操作参数”窗格的“消息”行中输人“密码错误!

请重新输人系统密码!

”,在类型组合框中,选择“警告!

”,其他参数默认。

如图5-7所示

(6)重复步骤

(2)和(3),设置第2个IF。

在IF的条件表达式中输人条件:

[Forms]!

[外围登录]!

[Text0]="123456"”。

在添加新操作组合框中,选择“Closewindows",其他参数分别为“窗体、验证密码、否”。

设计结果如图5-5所示。

(7)在添加新操作中,选择“OpenForm”,各参数分别为“员工信息、窗体、普通”,设置的结果,如图5-5所示。

保存宏名称为“外围登录验证”。

(8)打开“验证密码”窗体切换到设计视图中,选中“确定”按钮,在属性窗口中“事件”选项卡,“单击”项选“登陆验证”。

如图5-7所示。

图5-5登录验证宏的设计视图

(9)选“窗体”对象,打开“登录窗体”窗体,分别输入正确的密码、错误的密码,单击“确定”按钮,查看结果。

4.创建自动运行宏

要求:

当用户打开数据库后,系统弹出登录窗口。

操作步骤:

(1)在“创建”选项卡的“宏与代码”组中,单击“宏”按钮,打开“宏设计器”。

(2)在“添加新操作”组合框中单击下拉箭头,在打开的列表中选择“openform”,在“窗体名称”参数中选择“登录”,其他参数默认。

如图5-6所示

(3)保存宏,宏名为“AutoExec”。

(4)关闭数据库。

(5)重新打开“人事管理.accdb”数据库,宏自动执行,弹出登录窗口。

图5-6自动运行宏设计视图

实验六模块与VBA程序设计

实验类型:

验证性实验课时:

4学时指导教师:

时间:

年月日课次:

第节教学周次:

第周

一、实验目的

1.掌握建立标准模块及窗体模块的方法

2.熟悉VBA开发环境及数据类型

3.掌握常量、变量、函数及其表达式的用法

4.掌握程序设计的顺序结构、分支结构、循环结构

5.了解VBA的过程及参数传递

6.掌握变量的定义方法和不同的作用域和生存期

二、实验内容及要求

1.创建标准模块与窗体模块

2.常量、变量、函数及表达式的使用

3.数据类型、输入、输出函数及程序的顺序结构

4.选择结构if语句及SelectCase语句的使用

5.DoWhile循环、For循环语句的使用

6.VBA过程、过程的参数传递、变量的作用域和生存期

三、实验步骤

案例一:

创建公用模块

1.在“人事管理.accdb”数据库中创建一个通用模块以建立数据库的连接和用户登录等,保存为“公共模块”。

操作步骤:

(1)打开“人事管理.accdb”数据库,选择“创建”选项卡——“宏与代码”组——单击“模块”按钮,打开VBA编辑器。

如图6-1所示。

图6-1打开VBA编辑器

 

(2)在代码窗口中输入如下内容:

OptionCompareDatabase

OptionExplicit

PubliccheckAsBoolean

‘通过字符串StrQuery所引用的SQL语句返回一个ADO.Recordset对象

PublicFunctionGetRs(ByValStrQueryAsString)AsADODB.Recordset

DimrsAsNewADODB.Recordset

DimconnAsNewADODB.Connection

OnErrorGoToGetRS_Error

Setconn=CurrentProject.Connection

rs.OpenStrQuery,conn,adOpenKeyset,adLockOptimistic

SetGetRs=rs

GetRS_Exit:

Setrs=Nothing

Setconn=Nothing

ExitFunction

GetRS_Error:

MsgBox(Err.Description)

ResumeGetRS_Exit

EndFunction

(3)单击“保存”按钮,输入模块名“公共模块”,单击“确定”按钮即可。

案例二:

编写“登录”窗体代码

1.给窗体添加“加载”事件过程

操作步骤:

(1)用设计视图打开“登录”窗体。

(2)设置.窗体的记录源。

在窗体的“属性表”窗格中,单击“所选内容的类型:

窗体”下拉列表框,选择“窗体”选项。

切换到“数据”选项卡,在“记录源”行的下拉列表框中选择“管理员”表,如图6-2所示。

图6-2打开登录窗体的属性表

(3)将“属性表”中的选项卡切换到“事件”,在“加载”行中选中“事件过程”选项,并单击右边的省略号按钮,如图6-3所示。

图6-3给窗体添加“加载”事件过程

(4)进入VBA编辑器,自动新建一个名称为“Form_Load()”的Sub过程。

输入如下VBA代码,为窗体添加“加载”事件过程。

PrivateSubForm_Load()

'最小化数据库窗体并初始化该窗体.

OnErrorGoToForm_Open_Err

DoCmd.SelectObjectacForm,"主切换面板",True

DoCmd.Minimize

check=False

Form_Open_Exit:

ExitSub

Form_Open_Err:

MsgBoxErr.Description

ResumeForm_Open_Exit

EndSub

(5)保存后,单击工具栏中的“视图MicrosoftofficeAccess”按钮

,返回Access。

2.为“OK”按钮添加事件过程

操作步骤:

(1)在“登录”窗体的“设计视图”中单击“确定”按钮,以选中OK按钮控件。

(2)将OK按钮控件的属性表窗格切换到“事件”选项卡,在“单击”行中选择“事件过程”选项,并单击右边的省略号按钮,如图6-4所示。

图6-4给OK按钮添加事件过程

(3)系统进入VBA编辑器,并自动新建一个名称为“OK_Click()”的Sub过程。

在代码窗口中输入以下VBA代码:

PrivateSubOK_Click()

OnErrorGoToErr_OK_Click

DimstrSQLAsString

DimrsAsNewADODB.Recordset

IfIsNull(Me.UserName)OrMe.UserName=""Then

DoCmd.Beep

MsgBox("请输入用户名称!

")

ElseIfIsNull(Me.Password)OrMe.Password=""Then

DoCmd.Beep

MsgBox("请输入密码!

")

Else

strSQL="SELECT*FROM管理员WHERE用户名='"&Me.UserName&"'and密码='"&Me.Password&"'"

Setrs=GetRs(strSQL)

Ifrs.EOFThen

DoCmd.Beep

MsgBox("用户名或密码错误!

")

Me.UserName=""

Me.Password=""

Me.UserName.SetFocus

ExitSub

Else

DoCmd.Close

check=True

DoCmd.OpenForm("主切换面板")

EndIf

EndIf

Setrs=Nothing

Exit_OK_Click:

ExitSub

Err_OK_Click:

MsgBox(Err.Description)

Debug.PrintErr.Description

ResumeExit_OK_Click

EndSub

(4)保存该VBA编码,就为OK按钮控件添加了“单击”事件过程。

3.为“Cancel”按钮添加事件过程。

操作步骤:

(1)在“登录”窗体的“设计视图”中单击“取消”按钮,以选中Cancel按钮控件。

(2)将Cancel按钮控件的属性表窗格切换到“事件”选项卡,在“单击”行中选择“事件过程”选项,并单击右边的省略号按钮,如图6-5所示。

(3)系统进入VBA编辑器,并自动新建一个名称为“Cancel_Click()”的Sub过程。

在代码窗口中输入以下VBA代码:

PrivateSubCancel_Click()

check=False

DoCmd.Close

EndSub

(4)保存该VBA编码,就为Cancel按钮控件添加了“单击”事件过程。

图6-5给Cancel按钮添加事件过程

案例三:

编写“主切换面板”窗体代码

1.为“主切换面板”窗体上的“Btn1”按钮控件添加“单击”事件过程

操作步骤:

(1)选择“主切换面板”窗体对象,右键单击选择“设计视图”命令,进入该窗体的设计视图。

(2)在“属性表”空格中,选择“数据”选项卡,单击“记录源”行的小箭头,在弹出的下拉列表中选择“WwitchboardItems”表,如图6-6所示。

图6-6设置主切换面板窗体的记录源

(3)单击btn1按钮,选择“属性表”中“事件”选项卡,在“单击”行的属性框中输入“=HandleButtonClick

(1)”,以添加“btn1”按钮“单击事件”的响应程序。

依次为btn2-btn8按钮控件设置单击属性“=HandleButtonClick

(2)”到“=HandleButtonClick(8)”。

(4)在该窗体的设计视图“主体”节任意位置右击,弹出快捷菜单,选择“事件生成器”。

如图6-7所示。

图6-7选择事件生成器

(5)在“选择生成器”的对话框中选择“代码生成器”,单击“确定”后进入VBA编辑器,如图6-8所示。

图6-8选择代码生成器

(6)删除系统自动生成的“主体_Click()”过程代码,新建一个新的Function函数HandleButtonClick,代码如下:

PrivateFunctionHandleButtonClick(intbtnAsInteger)

'处理按钮click事件

ConstconCmdGotoSwitchboard=1

ConstconCmdNewForm=2

ConstconCmdOpenReport=3

ConstconCmdExitApplication=4

ConstconCmdRunMacro=8

ConstconCmdRunCode=9

ConstconCmdOpenPage=10

ConstconErrDoCmdCancelled=2501

DimrsAsADODB.Recordset

DimstrSQLAsString

OnErrorGoToHandleButtonClick_Err

Setrs=CreateObject("ADODB.Recordset")

strSQL="SELECT*FROM[SwitchboardItems]"

strSQL=strSQL&"WHERE[SwitchboardID]="&Me!

[SwitchboardID]&"AND[ItemNumber]="&intbtn

Setrs=GetRs(strSQL)

If(rs.EOF)Then

MsgBox"读取SwitchboardItems表时出错。

"

rs.Close

Setrs=Nothing

ExitFunction

EndIf

SelectCasers!

[Command]

'进入另一个切换面板

CaseconCmdGotoSwitchboard

Me.Filter="[ItemNumber]=0AND[SwitchboardID]="&rs!

[Argument]

'打开一个新窗体

CaseconCmdNewForm

DoCmd.OpenFormrs!

[Argument]

'打开报表

CaseconCmdOpenReport

DoCmd.OpenReportrs!

[Argument],acPreview

'退出应用程序

CaseconCmdExitApplication

CloseCurrentDatabase

'运行宏.

CaseconCmdRunMacro

DoCmd.RunMacrors!

[Argument]

'运行代码.

CaseconCmdRunCode

Application.Runrs!

[Argument]

'打开一个数据存取页面

CaseconCmdOpenPage

DoCmd.OpenDataAccessPagers!

[Argument]

'未定义的选项.

CaseElse

MsgBox"未知选项。

"

EndSelect

'Closetherecordsetandthedatabase.

rs.Close

HandleButtonClick_Exit:

OnErrorResumeNext

Setrs=Nothing

ExitFunction

HandleButtonClick_Err:

If(Err=conErrDoCmdCancelled)Then

ResumeNext

Else

MsgBox"执行命令时出错。

",vbCritical

ResumeHandleButtonClick_Exit

EndIf

EndFunction

(7)单击保存按钮保存代码,完成“主切换面板”上“按钮”控件的“单击”消息事件。

2.为“主切换面板”窗体添加“成为当前”事件过程

操作步骤:

(1)选择“属性表”中“窗体”对象,在“事件”选项卡中选择“成为当前”,单击下拉列表框,选择“事件过程”选项,如图6-9所示。

图6-9选择成为当前属性

(2)单击“成为当前”右边的省略号按钮,进入VBA编辑器,系统自动建立一个“Form_Current()”过程,写入以下代码:

PrivateSubForm_Current()

'更新标题并显示列表.

Me.Caption=Nz(Me!

[ItemText],"")

Fillbtns

EndSub

(3)上述代码中的“Fillbtns”是另外一个过程,其功能是为实现“主切换面板”上的控件数量和控件标题等信息,代码如下:

PrivateSubFillbtns()

'显示切换框中的列表

'按钮数量.

ConstconNumButtonsAsInteger=8

DimrsAsNewADODB.Recordset

DimstrSQLAsString

DimintbtnAsInteger

Me!

[btn1].SetFocus

Forintbtn=2ToconNumButtons

Me("btn"&intbtn).Visible=False

Me("lbl"&intbtn).Visible=False

Nextintbtn

'打开表SwitchboardItems

strSQL="SELECT*FROM[SwitchboardItems]"

strSQL=strSQL&"WHERE[ItemNumber]>0AND[SwitchboardID]="&Me!

[SwitchboardID]

strSQL=strSQL&"ORDERBY[ItemNumber];"

Setrs=GetRs(strSQL)

If(rs.EOF)Then

Me!

[lbl1].Caption="此切换面板页上无项目。

"

Else

While(Not(rs.EOF))

Me("btn"&rs!

[ItemNumber]).Visible=True

Me("lbl"&rs!

[ItemNumber]).Visible=True

Me("lbl"&rs!

[ItemNumber]).Caption=rs!

[ItemText]

rs.MoveNext

Wend

EndIf

'关闭数据集合和数据库

rs.Close

Setrs=Nothing

EndSub

3.为“主切换面板”窗体添加“加载”事件过程

操作步骤:

(1)选择“属性表”中“窗体”对象,在“事件”选项卡中选择“加载”,单击下拉列表框,选择“事件过程”选项,如图6-10所示。

图6-10选择“加载”属性

(2)单击“加载”右边的省略号按钮,进入VBA编辑器,系统自动建立一个“Form_Load()”过程,写入以下代码:

PrivateSubForm_Load()

IfNotcheckThen

MsgBox("请先登录!

")

DoCmd.Close

DoCmd.OpenForm("登录")

EndIf

EndSub

4.为“主切换面板”窗体添加“打开”事件过程

操作步骤:

(1)选择“属性表”中“窗体”对象,在“事件”选项卡中选择“打开”,单击下拉列表框,选择“事件过程”选项,如图6-11所示。

图6-11选择“打开”属性

(2)单击“打开”右边的省略号按钮,进入VBA编辑器,系统自动建立一个“Form_Open()”过程,该过程使得用户在打开主切换面板时有默认的选择值,代码如下:

PrivateSubForm_Open(CancelAsInteger)

OnErrorGoToForm_Open_Err

'显示默认的选项.

Me.Filter="[ItemNumber]=0AND[Argument]='默认'"

Me.FilterOn=True

Form_Open_Exit:

ExitSub

Form_Open_Err:

MsgBoxErr.Description

ResumeForm_Open_Exit

EndSub

案例四:

编写“员工考勤记录查询”窗体代码

1.向“员工考勤记录查询”窗体添加“加载”事件过程

操作步骤:

(1)打开“员工考勤记录查询”窗体,切换到“设计视图”,如图6-12所示。

图6-12用“设计视图”打开“员工考勤记录查询”窗体

(2)选择“属性表”中“窗体”类型,单击“数据”选项卡,在“记录源”行的下拉列表框中选择“员工考勤记录查询”选项,如图6-13所示。

图6-13设定“记录源”属性

(3)切换属性表选项卡到“事件”,在“加载”行中选择“事件过程”选项,并单击右边的省略号按钮,如图6-14所示。

图6-14设定“加载”属性

(4)进入VBA编辑器窗口,自动新建一个名称为“Form_Load()”的Sub过程,输入以下代码:

PrivateSubForm_Load()

IfNotcheckThen

MsgBox("请先登录!

")

DoCmd.Close

DoCmd.OpenForm("登录")

EndIf

EndSub

(5)保存后切换回设计视图。

2.为“考勤查询”按钮添加单击事件

操作步骤:

(1)在“员工考勤记录查询”窗体的“设计视图”中单击“考勤查询”按钮。

(2)选择“属性表”中“事件”选项卡,在“单击”行中选择“事件过程”选项,如图6-15所示。

图6-15设定“考勤查询”的“单击”属性

(3)点击右边的省略

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

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1