在SQL查询中使用列表将数据导入Excel
我试图在Excel中运行一个从MSSQL Server导入信息的select查询。我还有一个.csv文件中的客户列表。 目标是仅导入.csv列表中的客户端记录,但我无法让Excel查看列表(它被导入到Sheet2)。我不断收到无效的对象名称错误。在SQL查询中使用列表将数据导入Excel
我不能相信这不能没有VB,但尝试从MS和其他线程没有运气的例子。
我使用的基本查询:
SELECT
"Clients"."cltCode", "Clients"."cltClientName"
FROM "dbo"."Clients" "Clients"
WHERE cltClientName IN (SELECT * FROM [Sheet2!A:A])
感谢。
你不能那样做。您必须在VBA中自己构建包含列表(“IN”部分),构建查询并刷新数据连接(或构建命令,运行查询,遍历结果并填充目标范围/工作表)
SELECT
"Clients"."cltCode", "Clients"."cltClientName"
FROM "dbo"."Clients" "Clients"
WHERE cltClientName IN (SELECT * FROM [Sheet2!A:A])
指定数据的确切位置。
FROM [Sheets2!A2:C4]
仍然一样:无效的对象名称。即使我修剪整个查询并只保留'SELECT * FROM [Sheet2!A1:A10]',我也会得到这个结果。我注意到不同类型的连接有不同的选项。我一直在使用OLE DB查询。这可能是一个原因吗? – GRegorious13 2012-07-18 08:09:48
如上所述,您不能在两个不同的数据源(SQL Server和Excel)中使用单个查询。 – 2012-07-18 16:01:11
您能发布您正在使用的VBA代码? – LittleBobbyTables 2012-07-17 16:20:47
您无法使用单个查询来加入这两个来源。您需要构建“in”子句,然后将其插入到主查询中。 – 2012-07-17 16:22:41