Office中国论坛/Access中国论坛

标题: 能帮我看看这代码应该放在个位置? [打印本页]

作者: 赌鬼    时间: 2012-9-2 12:22
标题: 能帮我看看这代码应该放在个位置?
If IsNull(Me.Text1) Then
    GuserID = Me.Text1
    Call insertLogo("用户登陆")
    Me.Visible = False
以上的代码应该放在下面代码中的那个位置?


Private Sub Command16_Click()
'定义 connection 对象
    Dim cn As ADODB.Connection
    '定义 recordset 对象
    Dim rs As New ADODB.Recordset

    Dim sql As String
    '使用access内置 connection对象
    Set cn = CurrentProject.Connection
    If IsNull(Me.Text1) Or IsNull(Me.Text3) Then
        MsgBox "请输入用户和密码"
        Exit Sub
    End If

    sql = "select*from 员工表  where 员工姓名 ='" & Me.Text1 & " ' and 密码 = '" & Me.Text3 & "'"

    Debug.Print sql
    rs.Open sql, cn
    If rs.EOF Then
        MsgBox "密码或用户名错误!请重新输入!"
        Text1.SetFocus
        Text1.Text = ""
        Text3.SetFocus
        Text3.Text = ""
    Else
        DoCmd.Close
        DoCmd.OpenForm "操作日记窗体"
        MsgBox "只要努力一切皆有可!"
    End If
    '关闭 recodset 对象和connection对象并释放内存资源
    rs.Close
    cn.Close
    Set rs = Nothing
End Sub
作者: 赌鬼    时间: 2012-9-2 13:18
附件[attach]50293[/attach]
作者: roych    时间: 2012-9-2 14:48
理论上应该放在Else后面:
  1.     If rs.EOF Then
  2.         MsgBox "密码或用户名错误!请重新输入!"
  3.         Text1.SetFocus
  4.         Text1.Text = ""
  5.         Text3.SetFocus
  6.         Text3.Text = ""
  7.     Else
  8. '由于在公共模块里定义的GuserID数据类型不同,因此不能直接用Me.Text1进行赋值。
  9.         GuserID = DLookup("员工编号", "员工表", "员工姓名='" & Me.Text1 & "'")
  10.         Call insertLogo("用户登陆")
  11.         Me.Visible = False
  12. '是否需要关闭登录窗体,视情况而定。
  13. '如果在接下来的操作都需要记录用户名的话,建议不要关闭,这样可以通过引用把变量传递过去。
  14.         'DoCmd.Close
  15.         DoCmd.OpenForm "操作日记窗体"
  16.         MsgBox "只要努力一切皆有可!"
  17.     End If
复制代码

作者: gxy1000    时间: 2012-9-2 15:43
roych 发表于 2012-9-2 14:48
理论上应该放在Else后面:

谢谢!!太感谢了!!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3