|
最近在做公司的进销存系统,只要实现出入库记录和库存查询即可,一本书学到最后发现一个登陆验证需要VBA代码来完成
代码应该是在校验登陆的信息,我的疑问是这些操作必须得通过代码实现吗?有没有可能通过GUI点击来实现?因为从零开始学VBA需要很长时间才能做到以下代码的能力
代码示例
- Option Compare Database
- Option Explicit
- Dim mrc As ADODB.Recordset
- Dim txtSQL As String
- Dim i As Integer '记录错误次数
- Private Sub 登录_Click()
- On Error GoTo Err_确定_Click '错误处理
- '判断用户名是否为空
- If IsNull(用户名) Then
- MsgBox "请输入用户名!", vbCritical, "提示"
- 用户名.SetFocus
- Else
- txtSQL = "SELECT * from 管理员 where 用户名='" & 用户名 & "'"
- Set mrc = ExeSQL(txtSQL)
- If mrc.EOF Then
- MsgBox "没有该用户!", vbCritical, "提示"
- Else
- If (mrc(1) = 密码) Then
- mrc.Close
- Set mrc = Nothing
- check = True
- Me.Visible = False
- '打开主切换面板
- DoCmd.OpenForm "主切换面板"
- Else
- i = i + 1
- If (i < 3) Then
- MsgBox "您输入的密码不正确", vbOKOnly + vbExclamation, "提示"
- Else
- MsgBox "你已经连续3次错误输入密码,系统马上关闭!", vbOKOnly + vbExclamation, "警告"
- DoCmd.Close acForm, Me.Name '关闭当前窗体
- DoCmd.Quit '退出数据库
- Exit Sub
- End If
- 密码.SetFocus
- 密码.Text = ""
- End If
- End If
- End If
- Err_确定_Click: '错误处理
- Exit Sub
- Err_关闭_Click:
- MsgBox (Err.Description)
- Resume Err_确定_Click
- End Sub
- Private Sub 关闭_Click()
- If (MsgBox("确实要退出吗?", vbQuestion + vbYesNo, "确认") = vbYes) Then
- DoCmd.Quit acQuitSaveNone
- End If
- End Sub
复制代码 |
|