我有一个 Excel 工作表,其中在 Sheet1 的 A 列中有大约 1000 个项目编号的列表。目前,我将 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 Column 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
谢谢!!!