本帖最后由 bcrun 于 2010-06-24 15:19:06 编辑

解决方案 »

  1.   

    一、If IsNull(用户名) = False Then一句多余,条件永远成立,应该用If Len(用户名)>0 Then。
    二、DLookup("[密码]", "数据库管理", "[用户名]= """ & 用户名 & """")为什么要加双引号,数据表里用户名如果没有双引号,DLookup返回值将永远为Null,因此条件永远不成立。
      

  2.   

    这是什么代码?貌似不是vb,是access?
      

  3.   


    If DLookup("[密码]", "数据库管理", "[用户名]= """ & 用户名 & """") = 密码 Then
    ' 如果一致,就关闭当前窗体,并打开客户单位列表窗体
        Dim stDocName As String
        Dim stLinkCriteria As String
        DoCmd.Close
        stDocName = ChrW(-32692) & ChrW(31216) & ChrW(-29756) & ChrW(-32680) & ChrW(26102) & ChrW(-27148) & ChrW(26597) & ChrW(-29726)
        DoCmd.OpenForm stDocName, , , stLinkCriteriaElse
      

  4.   

    "[用户名]= '" & 用户名 & "'"
      

  5.   

    楼主的命名方法比较有个性,我比较赞成加类型前缀的写法:
    str用户名
      

  6.   

    If 用户名.text<>"" Then ....