0

Sheet1 の列 A に約 1000 個の項目番号のリストがある Excel ワークシートがあります。現在、Sheet1 という名前の Access テーブルにインポートしItemNumbers、次のクエリを実行します。

SELECT MyTable.ItemNumber, MyTable.ItemName, MyTable.ItemPrice
FROM [ItemNumbers] INNER JOIN MyTable ON [ItemNumbers].ItemNumber = MyTable.ItemNumber
ORDER BY MyTable.ItemNumber;

次に、出力をコピーして Sheet2 に貼り付けます。

Excel の VBA でこれを行い、結果をレコードセットに入れるにはどうすればよいですか? レコードセットをループして結果を Sheet2 に入れる方法を理解できます。クエリを実行するコードがわかりません。

これまでのところ、次のものがあります。Sheet1 列 A の値を使用するように変更するだけです。

Dim cn As Object
Dim rs As Object
Dim strSql As String
Dim strConnection As String
Set cn = CreateObject("ADODB.Connection")
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=C:\MyDatabase.accdb"
strSql = "SELECT MyTable.ItemNumber, MyTable.ItemName, MyTable.ItemPrice " & _
         "FROM MyTable " & _
         "WHERE WHERE (((MyTable.ItemNumber)= ??? IS IN Sheet1!A:A ???  )) " & _
         "ORDER BY MyTable.ItemNumber;"             
cn.Open strConnection
Set rs = cn.Execute(strSql)
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing

ありがとう!!!

4

1 に答える 1