Dim rs as adodb.recordsetSet rs = New ADODB.Recordset
  With rs
    Set .ActiveConnection = gCn
    .Source = "Select * From tbl_Client"
    .CursorLocation = adUseClient
    .CursorType = adOpenStatic
    .LockType = adLockOptimistic
    .Open
  End With
  set grd.datasource=rs
  msgbox grd.rows-1每次返回的记录数都是1365,实际上有5000多条记录。如果把CursorLocation = adUseClient改为adUseServer,每次返回的记录数都是2048.不知道是什么原因造成的,如何解决?问题比较急,谢谢!

解决方案 »

  1.   

    更正:aduseServer时返回1365条记录,adUseClient时返回2048条记录/
      

  2.   

    MSHFlexGrid1.Redraw = false
      set grd.datasource=rs
    MSHFlexGrid1.Redraw = true
    试试  msgbox grd.rows-1
      

  3.   

    MSHFlexGrid有限制,用绑定就只能是这几条记录sp5也没有用。
      

  4.   

    去微软网站上下载VB6SP5补丁,注意版本,如果你安装的是英文版的vb,就只能装英文版的补丁。
    http://www.microsoft.com/downloads/details.aspx?FamilyID=e41b1d62-f3cb-4867-b86a-a2fe4932cf70&DisplayLang=en
      

  5.   

    我也遇到过这个问题,有一个方法你可以试一下
    就是在set grd.datasource=rs后
    不用rs.close
    直接用set rs=nothing