下面是一个获取用户名的函数
可当运行到:rsCGY.Open "user", cnnMIS, adOpenKeyset, adLockOptimistic这条语句时发生错误,请各位大虾帮忙。
 
Public Function GetPassword(pwd As String) As Boolean
Dim cnnMIS As New Connection
Dim rsCGY As ADODB.Recordset
'Set cnnMIS = New Collection
 cnnMIS.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=E:\学习\通讯录\MIS.mdb;"
 Set rsCGY = New ADODB.Recordset
    rsCGY.CursorType = adOpenKeyset
    rsCGY.LockType = adLockOptimistic
 rsCGY.Open "user", cnnMIS, adOpenKeyset, adLockOptimistic
 If rsCGY.Fields(pwd) = pwd Then
    GetPassword = True
 Else
    GetPassword = False
 End IfEnd Function

解决方案 »

  1.   

    '改为:
     rsCGY.Open "[user]", cnnMIS, adOpenKeyset, adLockOptimistic
      

  2.   

    试试这样吧:
    Dim cnnMIS As New Connection
    Dim rsCGY As new ADODB.Recordset
    'Set cnnMIS = New Collection
     cnnMIS.connectionstring="driver={microsoft access driver(*.mdb)};dbq=E:\学习\通讯录\MIS.mdb"
    cnnmis.open
     'Set rsCGY = New ADODB.Recordset
     rscgy.cursorlocation=aduseclient  
      rsCGY.CursorType = adOpenKeyset
        rsCGY.LockType = adLockOptimistic
     rsCGY.Open "user", cnnMIS, adOpenKeyset, adLockOptimistic
     If rsCGY.Fields(pwd) = pwd Then
        GetPassword = True
     Else
        GetPassword = False
     End If