有没有办法在连接中的SQL查询中使用记录集?我在Excel中有一列数据,我目前正在循环以获取带有SQL查询的数据。如果我可以在查询中使用我的excel列来立即获取所有数据,那就太棒了。
我有一个Excel中一个查询的数据表,我想使用Excel中的ID在另一个服务器上的另一个数据库中执行另一个查询。现在我正在遍历列表,但这非常耗时。如果我可以读入ID列表并将它们包含在一个查询中,那将会快得多。
我第一次查询的数据得到:
Site Name Site ID Pump ID Pump Type Meter ID Site Health
Abby 101 12b4ga7 HU1042C 83hagd6 Good
Betty 312 734jdg2 HU1042C 19347xh WARNING
我想要的是能够从Excel中读取泵和仪表ID列表,并在一个SQL查询的连接中将它们用于获取Pump&位于不同服务器中的仪表性能数据。
要进行单个查询会很困难,因为现在每个查询已经很大而且很混乱。此外,通过使用excel数据,它将允许用户添加额外的站点和泵数据。
是否可以使用ADO在VBA中执行此操作?
答案 0 :(得分:0)
如下所示,请注意文件位置在服务器上:
--Excel 2007-2010
SELECT * --INTO #productlist
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0 Xml;HDR=YES;Database=C:\temp\product.xlsx',
'SELECT * FROM [ProductList$]');
--Excel 97-2003
SELECT * --INTO #sitelist
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;HDR=YES;Database=C:\temp\product.xls',
'select * from [ProductList$]');