这里假设其他全部命名好!
rs2.Open "select * from 点单临时表", cnn, adOpenKeyset, adLockOptimistic
if rs2.RecordCount>0 then      '这个地方老是-1,怎么回事,数据库里是有数据的,正常情况是>0的数字,请大虾指点怎么处理!急!!!!
.......
.......
.......
.......
end if 

解决方案 »

  1.   

    rs2.CursorLocation = adUseClient
      

  2.   

    你看看cnn的连接是否正常打开了
      

  3.   

    rs2.CursorLocation = adUseClient
    或:cnn.CursorLocation = adUseClient
      

  4.   

    该宣告的你宣告了吗 ?Public Conn As New ADODB.Connection
    Public rs As New ADODB.Recordset
    Dim db$, AppDisk$, StrSQL$
    Private Sub Form_Load()
       AppDisk = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\")
       db = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & AppDisk & "bwscale.mdb"  '.mdb改为你自己的库名
       Conn.CursorLocation = adUseClient
       Conn.Open db
       StrSQL = "Select * From 点单临时表"
       rs.Open StrSQL, Conn, adOpenKeyset, adLockPessimistic
       MsgBox rs.RecordCount
    End Sub
      

  5.   

    CursorLocation 属性
          设置或返回游标服务的位置。设置和返回值设置或返回可设置为以下某个常量的长整型值。常量 说明 
    adUseNone 没有使用游标服务。(该常量已过时并且只为了向后兼容才出现)。 
    adUseClient 使用由本地游标库提供的客户端游标。本地游标服务通常允许使用的许多功能可能是驱动程序提供的游标无法使用的,因此使用该设置对于那些将要启用的功能是有好处的。AdUseClient 具有向后兼容性,也支持同义的 adUseClientBatch。 
    adUseServer 默认值。使用数据提供者的或驱动程序提供的游标。这些游标有时非常灵活,对于其他用户对数据源所作的更改具有额外的敏感性。但是,Microsoft Client Cursor Provider(如已断开关联的记录集)的某些功能无法由服务器端游标模拟,通过该设置将无法使用这些功能。