再open res之前加下面一句
res.CursorLocation = adUseClient

解决方案 »

  1.   

    就用 dbOpenTable 
    我觉得不存在问题
      

  2.   

    dim cn As DAO.Database
    dim res As DAO.Recordset    
    Set cn = OpenDatabase(App.Path & "\db1.mdb")
    Set res = cn.OpenRecordset("abc", dbOpenDynaset)'加入
    res.MoveLast
    res.MoveFirstMsgBox res.RecordCount这样得到的RecordCount就正确了.
      

  3.   

    TO:foolishtiger(吴文智) 
    谢谢!为什么用BOF或EOF不能判断出指针已经到达记录头或记录尾呢?
    我的方法如下:
            If Not res.BOF Then           If Not res.EOF Then
                res.MovePrevious              res.MoveNext
                '赋值                          '赋值
                。                             。
                。                             。
                。                             。
            End If                        End If
    记录指针已经到达记录头或记录尾了,但程序无法判断出,执行赋值语句马上出错。
      

  4.   

    判断时未到,可判断后,你又移动了指针了,这时就到了,当然会出错了.
    把Move语句放到if结构前.
    或用Do Loop循环.