2016-12-05 140 views
0

我正在嘗試創建一個MS Query以基於Excel中單元格的值從SQL數據庫返回數據。我實際上已經成功完成了這一點,但僅限於1排。我不知道如何讓它拷貝到其他行。從Excel查詢SQL數據庫

我創建了一個連接,如下所示: enter image description here

注意,SQL語句中包含的參數。該參數設置爲指向特定的單元格: enter image description here

我想這是有道理的,因爲我只希望每行返回1個值:問題是我有多行返回值。如何爲多行返回每行的值?

我試着改變參數對話框中的單元格引用,但是這不起作用,因爲Excel表格被設計爲動態增長。

+0

我不認爲你可以在沒有VBA的Excel中執行此操作。使用VBA是相當平凡的。使用ADODB創建服務器連接。用參數循環你的範圍。每個人創建具體的查詢;執行查詢;將記錄集結果複製到單元格。你可以在網上找到很多ADODB教程。如果您的代碼存在特定問題,請在此處發帖,我們很樂意提供幫助。問候。 – nbayly

回答

0

Excel數據連接的工作方式是每個連接只有一個SQL查詢。所以爲了做你想找的東西,你需要有很多聯繫,這不是「最佳實踐」。 但是,有兩種方法可以解決這種情況:
1.與所有數據建立單一連接並基於此創建數據透視表。然後使用VLOOKUP/INDEX將數據收集到您請求的單元格中。
2.如果數據太大,可以使用VBA代碼根據您提到的單元格創建較小的查詢,然後按第一個選項所述繼續。

祝你好運。