私はAccess VBAを使用してSQL Serverに接続し、指定されたデータベースからテーブル情報を出力しています。私は接続することができ、私は問題のテーブル情報を印刷することができます。 IF
ステートメントを追加すると、私のコードは行き来し、決して望みの結果を出力しません。例えば、私のDebug.Print
文は特定のテーブルのみからデータを出力
Test_1
Test_2
Red
Blue
を返します。私は、if文と構文を実行しようとのコメントを解除する場合は、エラーがスローされていないとアクセスは、ちょうど私にフリーズ。私の望む結果は、Like Test*
という2つのテーブル名を印刷することです。このデータを印刷するには、どのように構文を変更する必要がありますか?
Public Sub GetTableNames()
Dim c As ADODB.Connection
Dim r As ADODB.Recordset
Dim f As ADODB.Field
Set c = New ADODB.Connection
With c
.Provider = "sqloledb.1"
With .Properties
.Item("Data Source") = "server"
.Item("Initial Catalog") = "database"
.Item("PassWord") = "password"
.Item("User ID") = "userid"
End With
.Open
Set r = .OpenSchema(adSchemaTables,Array(Empty, Empty, Empty, "TABLE"))
With r
While Not .EOF
'IF (.Fields("Table_Name") LIKE "Test*") THEN
Debug.Print .Fields("TABLE_NAME"), .Fields("TABLE_TYPE")
.MoveNext
'END IF
Wend
End With
End With
End Sub