Private Sub Form_Load()
  Dim cn As ADODB.Connection
  Dim rs As ADODB.Recordset
  Set cn = New ADODB.Connection
  cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\MyProjects\vb\No Delete\AddressList.mdb;Persist Security Info=False"
  cn.Open
  Set rs = cn.Execute("select * from Friends ")
  Set DataGrid1.DataSource = rs
  
End Sub
运行这一段程序时,会出现这个错误:the rowset is not bookable.
应该怎么改?急!
还有怎么在vb里面使用虚拟路径?

解决方案 »

  1.   

    Private Sub Form_Load()
      Dim conn$
      Dim rs As ADODB.Recordset
      set rs=New ADODB.Recordset  conn"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\MyProjects\vb\No Delete\AddressList.mdb;Persist Security Info=False"
      rs.CursorLocation = adUseClient
      rs.open "select * from Friends ",1,1
      Set DataGrid1.DataSource = rs
     
    End Sub
      

  2.   

    '上面的打开方法写错了.改一下:Dim rs As ADODB.Recordset
    Private Sub Form_Load()
      Dim conn$
      set rs=New ADODB.Recordset  conn"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\MyProjects\vb\No Delete\AddressList.mdb;Persist Security Info=False"
      rs.CursorLocation = adUseClient
      rs.open "select * from Friends ",conn,1,1
      Set DataGrid1.DataSource = rs
     
    End Sub
      

  3.   

    Private Sub Form_Load()
      Dim cn As ADODB.Connection
      Dim rs As ADODB.Recordset
      
      Set cn = New ADODB.Connection
      cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\MyProjects\vb\No Delete\AddressList.mdb;Persist Security Info=False"
      Set rs = New ADODB.Recordset '加上它实例化变量
      rs.Open "select * from Friends", cn, adOpenKeyset, adLockOptimistic, adCmdText
      Set DataGrid1.DataSource = rs
      rs.Close
      Set rs = Nothing
      cn.Close
      Set cn = Nothing
    End Sub
      

  4.   

    你主要是缺少这句;
     Set rs = New ADODB.Recordset
      

  5.   

    缺少这句;
     Set rs = New ADODB.Recordset
      

  6.   

    该应在窗体上添加adodc控件 修改如下:
      Private Sub Form_Load()
      Dim cn As ADODB.Connection
      Dim rs As ADODB.Recordset
      
      Set cn = New ADODB.Connection
      cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\MyProjects\vb\No Delete\AddressList.mdb;Persist Security Info=False"
      Set rs = New ADODB.Recordset '加上它实例化变量
      rs.Open "select * from Friends", cn, adOpenKeyset, adLockOptimistic, adCmdText
       set adodc1.recordsource=rs '此处是我添加的
      Set DataGrid1.DataSource = adodc1 ‘此处是我修改的
      rs.Close
      Set rs = Nothing
      cn.Close
      Set cn = Nothing
    End Sub
    再试试看,行不
      

  7.   

    houfuzhu(houfuzhu)试了你的结果,问题是没有了,但怎么没有显示结果呢?什么结果也没有?我的表里面有记录。
      

  8.   

    set adodc1.recordsource=rs '此处是我添加的
    这句有错误,我把它改成 adodc1.recordsource=rs
    还是有错误:type mismatch!