Private Sub Command1_Click()
Dim sqlstring As String
Dim db As New ADODB.Connection
Dim rs As New ADODB.Recordset  Set db = New ADODB.Connection
  Set rs = New ADODB.Recordsetdb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=M:\生产报表\data.mdb;Persist Security Info=False"
db.Open
sqlstring = "select * from defect"Set rs = db.Execute(sqlstring)VSFlexGrid1.DataSource = rs“这句显示类型不匹配”End Sub

解决方案 »

  1.   

    set VSFlexGrid1.DataSource = rs
      

  2.   

    可能不能用这句Set rs = db.Execute(sqlstring)
    要用rs.open
    确保打开的不是forwardonly的。
      

  3.   

    set VSFlexGrid1.DataSource = rs  这个没用rs.open怎么用?谢谢
      

  4.   

    rs.Open "select * from defect", db
     VSFlexGrid1.DataSource = rs改了,还是一样,为什么?
      

  5.   

    sqlstring = "select * from defect"
    if rs.state<>adstateclosed then rs.close
    rs.open sqlstring,db,adopenkeyset,adlockreadonly
    Set VSFlexGrid1.DataSource = rs
      

  6.   

    已搞定,谢谢各位,控件用错了用的DAO的。