Private Sub Form_Load()
Dim rs As Recordset
Dim cnn As Connection
Set rs = New Recordset
Set cnn = New Connection
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\user.mdb;Persist Security Info=False"
'cnn.CursorLocation = adUseClient
cnn.Open
rs.Open "Users", cnn
Set DataGrid1.DataSource = rs
End Sub如果有cnn.CursorLocation = adUseClient,就没有问题,如果注释掉呢,就会发生实时错误'7004',行集合不能作为标签。
为什么?

解决方案 »

  1.   

    错误在Set DataGrid1.DataSource = rs一句
      

  2.   

    你是否发现datagrid邦定数据集时,上面有个三角形的游标,他会随着选中不同的记录而上下移动,这就说当前的游标资源必须给用户,而CursorLocation 表示客户端的游标.所以必须有这样的一句话,假如你使用Msflexgrid就不需要了.
      

  3.   

    datagrid1控件只支持客户端游标。使用由本地游标库提供的客户端游标。本地游标服务通常允许使用的许多功能可能是驱动程序提供的游标无法使用的,因此使用该设置对于那些将要启用的功能是有好处的。
      

  4.   

    cnn.CursorLocation = adUseClient
    设置游标在客户端