cnn.CursorLocation = adUseClient
    cnn.Open "provider=Microsoft.Jet.OLEDB.3.51;Persist Security   Info=False;data source=D:\database\china.mdb"
    strSql = "select * from spot"
    rec.Open strSql, cnn, adOpenKeyset, adLockOptimistic
    Set DataGrid1.DataSource = rec
    DataGrid1.Refresh
我这样用没啥事

解决方案 »

  1.   

    先用msgbox看一看記錄集有無記錄
    再看一看datagrid的property設定好沒有.
      

  2.   

    ...
    Set cn = New ADODB.Connection
    cn.CursorLocation = adUseClient
    ...
      

  3.   

    在cn.Open strcon之前加一句cn.CursorLocation = adUseClient此外rs2.Open 一行最后一个参数dCmdText应该是笔误吧,应为adCmdText
      

  4.   

    这个也行:
    rs2.Open "select * from book ",cn, 3,4
    Set datagrid1.DataSource = rs2
      

  5.   

    datagrid和connection帮定必须将connnection的cursorlocation设为aduserclient.
      

  6.   

    这句话:
    rs2.Open "select * from book ",cn, adOpenKeyset, adLockOptimistic, dCmdText
    中dCmdText应该是adCmdText,我估计你的程序没有规定所有的变量必须定义才能使用,所以vb把dCmdText作为一个变量来使用,也就不会报错了,建议你用debug跟踪一下,看看dCmdText的值