你那样肯定不行了!
这样
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
这样
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
strSQL = "SELECT * FROM txl"
adoDataGrid.RecordSource = strSQL
adoDataGrid.Refresh ------->
....
改为
Case 1
strSQL = "SELECT * FROM txl"
set adoDataGrid.RecordSource = strSQL
adoDataGrid.Refresh ------->
.....
试试
如要使用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另附:可能是我水平臭,你那种方法我看不懂。
用 set adoDataGrid.RecordSource = strSQL 會錯,因為.RecordSource為字符串類型,不能用set 關鍵字
在 .Refresh前設.CommandType = adCmdText就Ok了 你在設計時選用的是adCmdTable吧