Applies To
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

您可以使用 Access 作為前端應用程式,然後連結至後端伺服器 (例如 SQL Server) 中的資料表。 根據預設,大部分的查詢都會在本機執行 Access ACE 資料庫引擎。 在某些情況下,Access 可以在 SQL Server 上遠端執行查詢,視 SQL 語法和其他因素而定。 如需詳細資訊,請參閱 重新探索的 JET 和 ODBC 白皮書中的「JET 資料庫引擎 3.0 版:ODBC 連線」。

不過,您通常想要在資料庫伺服器上明確執行查詢。 您可以這樣做來協助改善效能:資料庫伺服器的處理能力比桌上型電腦更強,而且您可以透過網路連線傳回較小的資料子集。 若要在資料庫伺服器上執行查詢,請使用 Transact SQL (TSQL) 陳述式的 傳遞查詢 ,該陳述式會使用 ODBC 連接字串連線到 SQL Server。 例如,您可以傳遞 SELECT 陳述式,將資料傳回資料工作表、表單、報表或清單控制項、執行對等於動作查詢 (資料操作語言 (DML) 陳述式) 、呼叫預存程序,以及執行資料定義語言 (DDL) 陳述式 () 執行系統管理工作。

附註    傳遞查詢的結果是唯讀的。 若要直接編輯資料工作表或表單中的資料,請建立索引檢視的連結表格。 如需詳細資訊,請參閱 建立索引檢視

  1. 連線到伺服器資料庫。

    如需連結至SQL Server的詳細資訊,請參閱匯入或連結至 SQL Server 資料庫中的資料連結至 Azure SQL Server 資料庫或從資料庫匯入資料

  2. 選取 [建立] > [查詢設計]。

  3. 如有必要,請關閉 [新增表格 ] 對話方塊 ([在 Access 中 顯示表格 ]。

  4. 選取 設計> 傳遞。

    Access 會隱藏查詢設計方格,並顯示 SQL 檢視

  5. 如果查詢屬性表未出現,請按 F4 來顯示它。

  6. 在屬性表上,按一下 [ODBC Connect Str ] 屬性方塊,然後執行下列其中一項:

    若要取得連接字串:

    1. 在導覽窗格中,以滑鼠右鍵按一下連結至所需資料來源的表格,然後選取 連結表格管理員

    2. [連結資料表管理員] 對話方塊中,選取資料來源的核取方塊,然後選取 [編輯]。

    3. [編輯連結 ] 對話方塊中,複製 [連接字串] 方塊中的文字。

  7. 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,並且是執行和檢查移轉的免費且更簡單的方法。

  8. 請考慮設定其他相關屬性:

    • 傳回記錄     有些 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 秒。 由於網路流量或資料庫伺服器的大量使用,可能會出現延遲。

    • 最大記錄    指定要傳回的記錄數目上限。 您的系統資源可能有限,或者您只想使用少量資料來測試結果。

  9. 當您輸入完查詢時,請選取 [ 設計 ] > [ 執行]。 您的查詢會傳送至資料庫伺服器進行處理。

另請參閱

Transact-SQL 參考

使用 Transact-SQL 進行查詢

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。