' 我的目的是:动态地设置datagrid控件的数据源。  
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    cn.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\Ndb1.mdb"
    Dim rs As ADODB.Recordset
    Set rs = cn.Execute("select * from tabl1", , 1)
 ' 上面的语句都是正确的,只有下面的这名错误。   
  Set datagrid1.DataSource = rs '请各位大侠指点,我该怎样写这个地方。急!

解决方案 »

  1.   

    用下面改过的代码就行了 
     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=" & App.Path & "\Ndb1.mdb"
        Cn.CursorLocation = adUseClient
        cn.Open 
        Set rs == New ADODB.Recordset
        rs.Open "select * from tabl1" , cn, adOpenKeyset, adLockOptimistic, adCmdText
      Set datagrid1.DataSource = rs
      

  2.   

    拷贝错了,其中
    Set rs == New ADODB.Recordset应该是
    Set rs = New ADODB.Recordset
      

  3.   

    将你的代码稍修改一下。
     Dim cn As ADODB.Connection
        Set cn = New ADODB.Connection
        cn.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\Ndb1.mdb"
        Dim rs As new ADODB.Recordset
        Set rs = cn.Execute("select * from tabl1", , 1)
     ' 
      Set datagrid1.DataSource = rs '
      

  4.   

    我帮楼主再续加一个紧密相关的问题:
    一个设计时没有绑定任何数据源的控件,然后我在程序运行中,想在其中添加一行新的数据记录,如何才能做到呢?我看到我们公司物流部的一个程序(VB6.0+SQL Server2000编的)却能够做得到,我看到:程序运行时有一个空的DataGrid数据控件在“领料单编辑”窗体中,当单击添加按钮时,这个数据表格控件产生了一个新的空行,并且能够在其中任一单元格中输入数据,而且如果在“产品编号”列下输入完数据后能自动完成填充(也就是把其它列中的数据自动用库存表中的数据填充,如库存数、产品材料,只有请领数,实领数是用户自填的)。我不明白这是怎么做到的呢?
      

  5.   

    太麻烦的东东。
    读懂这个列子:
    dim cn as new adodb.connection
    dim rs as new adodb.recordset
    cn.open strCon
    rs.open "select * from table",cn,adOpenstatic, adLockOptimistic,
    //注意要用静态游标和开放式锁定。
    set datagrid1.datasource=rs给分。
      

  6.   


        Dim cn As ADODB.Connection
        Set cn = New ADODB.Connection
        cn.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\Ndb1.mdb"
        Dim rs As ADODB.Recordset
        Set rs = cn.Execute("select * from tabl1", , 1)我不明白为什么rs没有写成dim rs as new adodb.recordset
    也能运行
      

  7.   

    错!!
    应为set datagrid1.datasource=rs.datasource   才对呀。。
      

  8.   

    使用本地游标,这两种方式都没错。
    datagrid增加一行只是设置了可增加、修改属性而已。至于默认值可能是使用存储过程来完成的
      

  9.   

    加入游标Cn.CursorLocation = adUseClient
    一定OK!我测试过啦!