您可以使用 Access 做為前端應用程式,然後連結至後端伺服器中的資料表,例如 SQL Server。 根據預設,大部分的查詢都會在本機的 Access ACE 資料庫引擎中執行。 在某些情況下,Access 可以在 SQL Server 上遠端執行查詢,視 SQL 語法和其他因素而定。 如需詳細資訊,請參閱 重新探索的 JET 和 ODBC 白皮書中的「JET 資料庫引擎版本 3.0:ODBC 連線能力」。
不過,通常您會想要在資料庫伺服器上明確執行查詢。 您這樣做有助於改善效能:資料庫伺服器比桌上型電腦具有更強大的處理能力,而且您可以透過網路連線傳回較小的資料子集。 若要在資料庫伺服器上執行查詢,請使用傳遞查詢,這是使用 ODBC 連接字串連線到 SQL Server 的 Transact SQL (TSQL) 陳述式。 例如,您可以傳遞 SELECT 陳述式,以將資料傳回資料工作表、表單、報表或清單控制項、執行類似於動作查詢的等效項 (資料操作語言 (DML) 陳述式) 、呼叫預存程序,以及執行系統管理工作 (資料定義語言 (DDL) 陳述式) 。
備註 傳遞查詢的結果是唯讀的。 若要直接編輯資料工作表或表單中的資料,請建立連結資料表至索引檢視表。 如需詳細資訊,請參閱 建立索引檢視。
- 連線至伺服器資料庫。
如需連結至 SQL Server 的詳細資訊,請參閱匯入或連結至 SQL Server 資料庫中的資料和連結至或匯入 Azure SQL Server 資料庫中的資料。 - 選取 [建立>查詢設計]。
- 如有需要,請關閉 [ 新增資料表] 對話方塊 ([在 Access 中 顯示資料表 ]。
- 選取 [設計>傳遞]。
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 資料庫,請考慮在桌面上安裝最多支援 10 GB 的 Microsoft SQL Server Express 版本,這是一種免費且更容易執行和檢查移轉的方式。請考慮設定其他相關屬性:
傳回記錄 有些 SQL 陳述式會傳回記錄,例如 SELECT,有些則不會,例如 UPDATE。 如果查詢傳回記錄,請將此屬性設定為 Yes;如果查詢未傳回記錄,請將此屬性設定為 [否]。
備註 傳遞查詢可以傳回多個結果集,但在資料工作表、表單、報表或資料錄集變數中,只會使用第一個結果集。 若要擷取多個結果集,請使用 make 資料表查詢 ,如下列範例所示: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 秒。 可能會因網路流量或資料庫伺服器的大量使用而出現延遲。
最大記錄數 指定要傳回的記錄數目上限。 您的系統資源可能有限,或者您只想使用少量資料來測試結果。
輸入完查詢後,請選取 [設計>執行]。 您的查詢會傳送到資料庫伺服器進行處理。
![建置器] 按鈕](media/buildbut.gif)