2012-07-17 85 views
0

我試圖在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]) 

感謝。

+0

您能發佈您正在使用的VBA代碼? – LittleBobbyTables 2012-07-17 16:20:47

+0

您無法使用單個查詢來加入這兩個來源。您需要構建「in」子句,然後將其插入到主查詢中。 – 2012-07-17 16:22:41

回答

1

你不能那樣做。您必須在VBA中自己構建包含列表(「IN」部分),構建查詢並刷新數據連接(或構建命令,運行查詢,遍歷結果並填充目標範圍/工作表)

-1
SELECT 
"Clients"."cltCode", "Clients"."cltClientName" 
FROM "dbo"."Clients" "Clients" 
WHERE cltClientName IN (SELECT * FROM [Sheet2!A:A]) 

指定數據的確切位置。

FROM [Sheets2!A2:C4] 
+0

仍然一樣:無效的對象名稱。即使我修剪整個查詢並只保留'SELECT * FROM [Sheet2!A1:A10]',我也會得到這個結果。我注意到不同類型的連接有不同的選項。我一直在使用OLE DB查詢。這可能是一個原因嗎? – GRegorious13 2012-07-18 08:09:48

+0

如上所述,您不能在兩個不同的數據源(SQL Server和Excel)中使用單個查詢。 – 2012-07-18 16:01:11

相關問題