Set Grid1.Recordset = rs 用这样插我查到一万条记录,但是到grid表中只有大约两千条记录,用循环插入没问题,请 高手解答或提示问题原因,sql语句中没有用函数,上次碰到类似问题,是因为有函数,但把函数去掉就正常,不知道是否是dts的问题

解决方案 »

  1.   

    首先Set Grid1.Recordset = rs 
    应该是 Set Grid1.DataSource = rs 吧
    给你我做过的程序代码你试试吧,好用的
    记得要引用adoDim WithEvents adoPrimaryRS As Recordset '数据库连接对象
    Private Sub Command1_Click()
       'strsql 是你的查询语句 你可以order by 排序的字段
       'strsql="select xh as 学号 from 表" 这里的学号就是你数据表中字段的标题
       strsql="select 字段 from 表"
       Set Db = New Connection
       Db.CursorLocation = adUseClient
       '下面的连接数据字符串你要修改一下
       Db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\计划管理系统.mdb;Persist Security Info=False"
       Set adoPrimaryRS = New Recordset
       adoPrimaryRS.Open strsql, Db, adOpenStatic, adLockOptimistic
       Set DataGrid1.DataSource = adoPrimaryRS
    end sub
      

  2.   

    Set Grid1.Recordset = rs 
    改为这样:
    Set Grid1.DataSource= rs
      

  3.   

    MSHFlexGrid,我用的是sqlserver数据库上面是控件名
      

  4.   

    你的记录源是怎么查出来的,是不是Select * from table1 where ...加了条件?
      

  5.   

    没有where 条件,就是select *
      

  6.   

    打印出rs的记录数看是多少,MsgBox rs.RecordCount,如果显示的是正确的数目,你就换个控件再试试,换成DataGrid看有多少条记录
      

  7.   

    看你版本了!!!
    rs记录集有多少记录呢?
    看看  rs.count  的值
      

  8.   

    循环可以的,但是速度慢,就是用Set Grid1.Recordset = rs 丢失