你可以把 Access 當作前端應用程式使用,然後連結到後端伺服器中的資料表,例如 SQL Server。 預設情況下,大多數查詢會在 Access ACE 資料庫引擎中本地執行。 在某些情況下,Access 可以根據 SQL 語法及其他因素,遠端在 SQL Server 上執行查詢。 欲了解更多資訊,請參閱 Rediscovered JET 與 ODBC 白皮書中的「JET 資料庫引擎版本 3.0:ODBC 連接性」。
不過通常你會想在資料庫伺服器上明確執行查詢。 這麼做是為了提升效能:資料庫伺服器的處理能力比桌上型電腦強,而且你能透過網路連線回傳較小的資料。 要在資料庫伺服器上執行查詢,請使用直通查詢,這是 Transact SQL (TSQL) 語句,透過 ODBC 連接字串 連接至 SQL Server。 例如,你可以傳遞 SELECT 語句,將資料回傳到資料表、表單、報告或清單控制項,執行等同於資料操作語言 (DML) 語句) (動作查詢,呼叫儲存程序,並 (資料定義語言執行管理任務, (DDL) 語句) 。
註 直通查詢的結果為唯讀。 若要直接編輯資料表或表單中的資料,請建立一個連結到索引檢視的表格。 欲了解更多資訊,請參閱建立索引檢視。
- 連接到伺服器資料庫。
欲了解更多關於連結至 SQL Server 的資訊,請參閱「匯入或連結至 SQL Server 資料庫中的資料」及「連結至或匯入 Azure SQL Server 資料庫的資料」。 - 選擇 建立>查詢設計。
- 如有需要,請關閉 「新增資料表 」對話框 (「存取工具」中的 「顯示資料表 」。
- 選擇 設計>直通。
Access 會隱藏查詢設計網格,並顯示 SQL 檢視。 - 如果查詢屬性表沒有出現,按 F4 顯示它。
- 在屬性表中點選 ODBC Connect Str 屬性框,然後執行以下其中一項:
要取得連接字串:
- 在導覽面板中,右鍵點擊連結到所需資料來源的資料表,並選擇 連結表管理器。
- 在 連結表管理器 對話框中,選擇資料來源的勾選框,然後選擇 編輯。
- 在 編輯連結 對話框中,複製連線 字串 框中的文字。
在 SQL 檢視中輸入你的查詢。
註:Access SQL 與 SQL Server TSQL 之間存在重要差異,尤其是在語法、函式名稱與函式參數方面。 如需詳細資訊,請參閱比較 Access SQL 和 SQL Server TSQL。
提示先在 SQL Server Management Studio 建立 TSQL 查詢,然後將 SQL 複製貼上到 SQL 檢視中。 這確保查詢的語法正確。 如果你無法方便存取 SQL Server 資料庫,可以考慮在桌機上安裝 Microsoft SQL Server Express 版,它支援最高 10 GB,且是免費且更方便的遷移檢查方式。考慮設定其他相關屬性:
Returns 唱片公司 有些 SQL 陳述式會回傳記錄,例如 SELECT,有些則不會,例如 UPDATE。 如果查詢回傳紀錄,請將此屬性設為 「是」;如果查詢沒有回傳紀錄,則將此屬性設為 No。
註 直通查詢可以回傳多個結果集,但在資料表、表單、報告或記錄集變數中,只會使用第一個結果集。 要取得多個結果集,請使用如下範例所示 的 make table 查詢 :SELECT <pass-through query name>.* INTO <local table name> FROM < pass-through query name >你必須使用星號 (*) ,因為每個結果集可能有不同的欄位。 每個結果集都儲存在獨立的表格中,並相應地在本地資料表名稱後加上編號。 例如,若返回三個結果集,資料表名稱為: <本地資料表名稱>、 <本地資料表名稱>1、 <本地資料表名稱>2。
日誌訊息 指定是否要從 Access 訊息資料表中回傳 SQL 資料庫的訊息。 表格名稱的格式為 username – nn,其中 username 是當前使用者的登入名稱,nn 是從 00 開始的數字。
ODBC 暫停 指定在查詢執行時,等待多久才會發生逾時錯誤的秒數。 預設值為 60 秒。 可能會因網路流量或資料庫伺服器使用頻繁而延遲。
Max 唱片公司 指定要回傳的最大紀錄數量。 你可能系統資源有限,或只想用少量資料來測試結果。
輸入完查詢表後,選擇 設計>執行。 你的查詢會被送往資料庫伺服器進行處理。
