实验3指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验3 数据传递、显示控制、数据添加
一、实验目的
(1)掌握多个窗体共享数据的方法;(2)掌握查询结果的显示控制方法;(3)掌握在查询中使用参数的方法;(4)掌握往数据库添加记录的方法。
二、实验工具
(1)PC(2)Microsoft Access 2003
三、实验内容
本次实验的内容基于“实验3基础文件”,请在该文件基础上进行设计。
1.“学生主窗体”的设计
(1)按下图进行界面设计,要使用的背景图片放在“背景图片”文件夹中,名称为“operate.jpg”。
(2)打开“学生主窗体”窗体时(即为“学生主窗体”添加“打开”事件),实现功能:先判断用户是否登录,若没登录,则关闭当前窗体,打开“登录”窗体;若用户已经登录,则通过标签显示“欢迎您,XX同学!”。
参考代码如下,并注意:
①代码中的username应设置为全局变量,方法为:切换到“模块”,新建名称为“模块1”的模块,输入:Public username As String。
②需要在“登录”窗体的“登录”按钮单击事件中,在登录成功时,读出用户的姓名,并赋给全局变量username,方法为:打开“登录”按钮单击事件代码,在登录成功的位置添加代码:username = Trim(rs("SN"))。
If username = "" Then
DoCmd.Close acForm, "学生主窗体"
DoCmd.OpenForm "登录"
Exit Sub
End If
Me!欢迎标签.Caption = "欢迎您," + username + "同学!"
(3)单击“返回登录界面”按钮(即为“返回登录界面”按钮添加“单击”事件)时,实现功能:关闭当前窗体,并打开“登录”窗体。参考代码如下:
DoCmd.OpenForm "登录"
DoCmd.Close acForm, "学生主窗体"
(4)单击“查询选课”按钮时(即为“查询选课”按钮添加“单击”事件),实现功能:关闭当前窗体,并打开“学生查询选课”窗体(该窗体要自己创建)。参考代码如下:DoCmd.OpenForm "学生查询选课"
DoCmd.Close acForm, "学生主窗体"
(5)单击“选课”按钮时(即为“选课”按钮添加“单击”事件),实现功能:先判断用户是否已经选够了课,若选够了,则给出提示信息,关闭“学生选课”窗体(该窗体要自己创建),打开“学生主窗体”;否则,打开“学生选课”窗体,关闭“学生主窗体。
参考代码如下,并注意:
①代码中的usersno应设置为全局变量,方法为:
打开“模块1”,添加代码:Public usersno As String
②需要在“登录”窗体的“登录”按钮单击事件中,在登录成功时,读出用户的学号,并赋给全局变量usersno,,方法为:打开“登录”按钮单击事件代码,在登录成功的位置添加代码:usersno = rs("sno")。
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim SQLstring As String
SQLstring = "select * from sc where sno='" + usersno + "'"
rs.Open SQLstring, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If rs.RecordCount >= 4 Then
If MsgBox("您的选课已满!请删除选课后重选", vbOKOnly, "请确定") = vbOK Then
Set rs = Nothing
Exit Sub
End If
End If
DoCmd.Close acForm, "学生主窗体"
DoCmd.OpenForm "学生选课"
2.“学生查询选课”窗体的设计
(1)按下图进行界面设计,要使用的背景图片放在“背景图片”文件夹中,名称为“result.jpg”。
(2)单击“返回”按钮(即为“返回”按钮添加“单击”事件)时,实现功能:关闭当前窗体,并打开“学生主窗体”。参考代码如下:
DoCmd.Close acForm, "学生查询选课"
DoCmd.OpenForm "学生主窗体"
(3)打开“学生查询选课”窗体时(即为“学生查询选课”窗体添加“打开”事件),实现功能:先判断用户是否登录,若没登录,则关闭当前窗体,打开“登录”窗体;若用户已经登录,则通过标签显示“欢迎您,XX同学!”,并且通过标签显示学生选修的课程名字(假设一个学生最多选修4门课),若该学生没有选课,则显示“您无选课”。参考代码如下:If username = "" Then
DoCmd.Close acForm, "学生查询选课"
DoCmd.OpenForm "登录"
Exit Sub
End If
Me!欢迎标签.Caption = "欢迎您," + username + "同学!"
Me!选课1标签.Caption = ""
Me!选课2标签.Caption = ""
Me!选课3标签.Caption = ""
Me!选课4标签.Caption = ""
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim SQLstring As String
SQLstring = "select cn from s,c,sc where s.sno=sc.sno and o=o and s.sno='" + usersno + "'"
rs.Open SQLstring, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If rs.RecordCount = 0 Then
Me!选课1标签.Caption = "您无选课"
Exit Sub
End If