国开《数据库基础与应用》第十一章 11-4-7:例11-7
11-4-7:例11-7
建立一个用户注册的窗体,要求用户在窗体中输入用户名、密码、密码确认和备注姓名等信息,当单击“注册”命令按钮时,要求判断用户是否输入了用户名,用户名在表中是否已经存在,两次密码输入是否一致等,如果输入符合要求则在“用户”表中添加一条用户记录,然后转入登录窗体。
具体实现过程如下:
1.打开Access的“公司信息管理”数据库。
2.建立用户注册窗体。单击“创建”选项卡下的“窗体”组中“窗体设计”命令进入窗体的设计视图,在窗体中添加“徽标”、“标题”、“标签”、“文本框”和“命令按钮”等控件,并设置背景色等。设计效果如图11-21所示。
图11-21 用户注册窗体设计效果图
3.对窗体中的文本框和命令按钮等控件进行属性设置,如表11-2所示。
表11-2 用户注册窗体控件属性设置
控件类型 | 名称 | 用户名: | 其他说明 |
文本框 | username | ||
文本框 | password1 | “输入掩码”设置为“密码” | |
文本框 | Password2 | “输入掩码”设置为“密码” | |
文本框 | xm | ||
命令按钮 | cmd_zc | 注册 | |
命令按钮 | Cmd_cancel | 取消 |
4.在窗体中单击选中“注册”命令按钮,在其“属性表”对话窗格中,选择“事件”选项卡,在其“单击”下拉列表框中选择“[事件过程]”,然后再用鼠标单击其右边的“ ”按钮,进入VBE,打开“注册”命令按钮的事件过程编辑窗口。
5.在事件过程中编写代码:
Private Sub cmd_zc_Click()
Dim conn As ADODB.Connection
Dim rs2 As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
Set conn = CurrentProject.Connection
If IsNull(Me!username) Then
MsgBox "请输入用户名!"
username.SetFocus
Exit Sub
Else
rs1.Open "select * from 用户 where 用户名='" & Me!username & "'", conn
If Not rs1.EOF Then
MsgBox "用户名已经存在!"
username = ""
username.SetFocus
Exit Sub
End If
Set rs1 = Nothing
If (Me!password1 <> Me!password2) Then
MsgBox "两次密码输入不一致!"
password1 = ""
password2 = ""
password1.SetFocus
Exit Sub
End If
'添加用户记录
rs2.Open "用户", conn, adOpenKeyset, adLockOptimistic
rs2.AddNew
rs2!用户名 = Me!username
rs2!密码= Me!password1
rs2!备注姓名 = Me!xm
rs2.Update
MsgBox "注册成功!返回登录窗口!"
Set rs2 = Nothing
conn.Close
Me.Visible = False DoCmd.OpenForm "登录窗体"
End Sub
6.保存并命名该窗体,假定窗体名称为“用户注册”,然后关闭它。
7.运行效果
当双击“用户注册”窗体时,在其中输入用户名和密码等信息,单击“注册”按钮时,系统检测用户名是否已经存在,如果用户表中已经存在输入的用户名将给出提示信息;然后再检查两次输入的密码是否一致,如果不一致则给出提示信息;再进入用户信息的注册并转入登录窗体。其运行效果图如图11-22所示,三种提示信息框如图11-23所示。
图11-22 用户注册窗体运行效果图
9.单击“确定”命令按钮后,将打开名称为“选项卡实例结果窗体”的窗体,得到的窗体视图如图9-33所示。
图11-23 用户注册三种提示信息