0

エクセル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 エディターを使用しています

4

1 に答える 1

4

こんにちは、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
于 2012-05-31T07:48:11.990 に答える