读书人

请大家帮小弟我看看这个在excel中的vb

发布时间: 2012-01-11 22:28:46 作者: rapoo

请大家帮我看看这个在excel中的vb语句为什么报错??
我在excel中放置了一个文本框和按钮,目的是在文本框中输入后,点击按钮能把sql server数据库某个表中的数据提取出来放到excel中,语句如下:
Private Sub CommandButton1_Click()
Dim qt As QueryTable
sqlstring = "select ITEM,ITEM_DESC,UM from ITEMLIST Where ITEM= ' " & TextBox1.Text & " ' order by ITEM "
connstring = "ODBC;DSN=DBMR;UID=sa;PWD=1234;Database=DatabaseMR "
Set qt = Workbooks(1).Worksheets(1).QueryTables(1)
With qt
.Connection = connstring
.Destination = Range( "A1 ")
.CommandType = xlCmdSql
.CommandText = sqlstring
.Refresh BackgroundQuery:=False
End With
End Sub

可是执行时抱错,说下面这个语句有错误:
Set qt = Workbooks(1).Worksheets(1).QueryTables(1)
运行时错误 '9 ',下标越界。

请问如何解决???

[解决办法]
Private Sub CommandButton1_Click()
Dim qt As QueryTable
sqlstring = "select ITEM,ITEM_DESC,UM from ITEMLIST Where ITEM= ' " & TextBox1.Text & " ' order by ITEM "
connstring = "ODBC;DSN=DBMR;UID=sa;PWD=1234;Database=DatabaseMR "
Set qt = Workbooks(1).Worksheets(1).QueryTables.Add(connstring, Range( "A1 "), sqlstring)
qt.Refresh BackgroundQuery:=False
End With
End Sub

读书人网 >VB

热点推荐