AdodcForAttendanceCheck 怎么定义的?

解决方案 »

  1.   

    我认为:问题出在AdodcForAttendanceCheck的游标类型上,去检查一下。
      

  2.   

    AdodcForAttendanceCheck 定义如下
    Public Sub adoconnect1(ByVal MyDatabase As String, ByVal MyTable As String, ByVal MyFields As String, ByVal MySQLCondition As String)
        MyError = False
       Dim MyCnn As ADODB.Connection
       Dim MyConnectString As String
       Dim sql As String
       On Error GoTo localerr   '出错处理
       
       ' 打开连接。
        MyPath = App.Path + "\database\"
       MyConnectString = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source= " & MyPath & MyDatabase 'D:\czvb\suneastmanage\AttendanceCheck\1\database\main.mdb" '
       Set MyCnn = New ADODB.Connection
       MyCnn.Open MyConnectString
            '先关闭
      
          '建立RecordSet
       Set AdodcForAttendanceCheck = New ADODB.Recordset
       AdodcForAttendanceCheck.CursorLocation = adUseClient
       AdodcForAttendanceCheck.LockType = adLockOptimistic
       If MySQLCondition = "" Then
              temp = "SELECT top 100 " & MyFields & " FROM " & MyTable & MySQLCondition
            Else
               temp = "SELECT " & MyFields & " FROM " & MyTable & MySQLCondition
       End If
       MyMain.Text4.Text = temp
       AdodcForAttendanceCheck.Open temp, MyCnn
       t = AdodcForAttendanceCheck.RecordCount
        Exit Sub                                            '正常退出
                                                          
      
                                                            '异常处理1:连接出错,仅给出提示
    localerr:
         MsgBox "出错啦!哈哈."
         MyError = True
    End Sub