[英]Query database through Excel VBA
我是Excel VBA的初学者。 我想从Teradata数据库查询数据,并将输出提供给Excel工作表的行。 当我编写以下代码时:
Private Sub CommandButton1_Click()
Dim conn As Connection
Dim rec1 As Recordset
Dim thisSql As String
Set conn = New Connection
conn.Open "Driver=Teradata; DBCName=" & DBCName & ";UID=" & UID & ";PWD=" & PWD
thisSql = "simple select qyery here"
With .QueryTables.Add(Connection:=conn, Destination:=.Range("A1"))
.Sql = thisSql
.Name = "data"
.FieldNames = True
.Refresh BackgroundQuery:=False
End With
End Sub
我收到错误消息: “编译器错误:未定义用户定义的类型”
如何克服这个错误? 我需要在代码中包含任何内容吗?
请帮忙
我正在使用MSVisualBasic 6.5编辑器
嗨,我猜想在使用QueryTables.Add时它需要一个记录集作为连接对象。 我修改了您的代码,并尝试如下操作:
Dim conn As adodb.Connection
Dim rec1 As adodb.Recordset
Dim thisSql As String
Set conn = New adodb.Connection
conn.Open your_connection_string
thisSql = "your query here"
Set rec1 = New adodb.Recordset
rec1.Open thisSql, conn
With Sheet3.QueryTables.Add(Connection:=rec1, Destination:=Sheet3.Range("A1"))
.Name = "data"
.FieldNames = True
.Refresh BackgroundQuery:=False
End With
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.