你那样肯定不行了!
这样
Dim strSQL As new adodc.recordset
Select Case Node.Index
Case 1
  strSQL.recordsource = "SELECT * FROM txl"
  adoDataGrid.RecordSource = strSQL
  adoDataGrid.Refresh  ------->在这儿出错      ODBC设置正常
Case 2
Case 3
Case 4
Case 5

解决方案 »

  1.   

    Case 1
      strSQL = "SELECT * FROM txl"
      adoDataGrid.RecordSource = strSQL
      adoDataGrid.Refresh  ------->
    ....
    改为
    Case 1
      strSQL = "SELECT * FROM txl"
      set adoDataGrid.RecordSource = strSQL
      adoDataGrid.Refresh  ------->
    .....
    试试
      

  2.   

    先搞清楚,你那个adoDataGrid是DataGrid控件还是ADODC控件?
    如要使用DataGrid采用你上术的方法显示数据,请先绑定到ADODC控件或Recordset对象,再使用SQL语句吧!
    ADODC控件示例:
    1。在DataGrid的DataSource属性中选择绑定ADODC控件
    2.使用时可写以下代码
       ADODC.RecordSource="SELECT * FROM TXL"
    Recordset对象使用示例:
    dim rs as new adodb.recordset
    rs.open "SELECT* FROM TXL",...(省略)
    set DataGrid.DataSource=rs另附:可能是我水平臭,你那种方法我看不懂。
      

  3.   

    adoDataGrid為Adodc控件吧?如果是的話則:
     用 set adoDataGrid.RecordSource = strSQL 會錯,因為.RecordSource為字符串類型,不能用set 關鍵字
      在 .Refresh前設.CommandType = adCmdText就Ok了 你在設計時選用的是adCmdTable吧