文件首頁
MySQL Connector/ODBC 開發人員指南
相關文件 下載本手冊
PDF (US Ltr) - 1.7Mb
PDF (A4) - 1.7Mb


8.2.1.1 Microsoft Access

為改進 Microsoft Access 和透過 Connector/ODBC 的 MySQL 之間的整合

  • 對於所有版本的 Access,啟用 Connector/ODBC 的 傳回符合的資料列 選項。對於 Access 2.0,也啟用 模擬 ODBC 1.0 選項。

  • 在所有您想要能夠更新的表格中包含 TIMESTAMP 資料行。為了達到最大的可攜性,請勿在資料行宣告中使用長度規格 (在 4.1 之前的 MySQL 版本中不支援)。

  • 在您想要與 Access 搭配使用的每個 MySQL 表格中包含一個主鍵。如果沒有,新增或更新的資料列可能會顯示為 #DELETED#

  • 僅使用 DOUBLE 浮點數欄位。Access 在與單精度浮點數比較時會失敗。症狀通常是新增或更新的資料列可能會顯示為 #DELETED#,或您無法找到或更新資料列。

  • 如果您使用 Connector/ODBC 來連結到具有 BIGINT 資料行的表格,結果會顯示為 #DELETED#。解決方法是

    • 新增一個資料類型為 TIMESTAMP 的虛擬資料行。

    • 在 ODBC DSN 管理員的連線對話方塊中,選取 將 BIGINT 資料行變更為 INT 選項。

    • 從 Access 中刪除表格連結並重新建立。

    舊記錄可能仍然顯示為 #DELETED#,但新新增/更新的記錄會正確顯示。

  • 如果您在新增 TIMESTAMP 資料行後仍然收到錯誤 另一個使用者已變更您的資料,則下列技巧可能會對您有所幫助

    請勿使用 表格 資料工作表檢視。相反地,請建立一個包含您想要的欄位的表單,並使用該 表單 資料工作表檢視。將 TIMESTAMP 資料行的 DefaultValue 屬性設定為 NOW()。考慮將 TIMESTAMP 資料行從檢視中隱藏,以免使用者感到困惑。

  • 在某些情況下,Access 可能會產生 MySQL 無法理解的 SQL 陳述式。您可以從 Access 選單中選取 "查詢|SQL 特定|傳遞" 來修正此問題。

  • 在 Windows NT 上,Access 會將 BLOB 資料行回報為 OLE OBJECTS。如果您想要有 MEMO 資料行,請使用 ALTER TABLEBLOB 資料行變更為 TEXT

  • Access 並非總是能正確處理 MySQL 的 DATE 資料行。如果您遇到這些問題,請將資料行變更為 DATETIME

  • 如果您在 Access 中有一個定義為 BYTE 的資料行,Access 會嘗試將其匯出為 TINYINT 而不是 TINYINT UNSIGNED。如果您的資料行中有大於 127 的值,這會導致問題。

  • 如果您在 Access 中有非常大 (長) 的表格,則開啟它們可能需要很長的時間。或者您可能會用完虛擬記憶體,最終出現 ODBC 查詢失敗 錯誤,且無法開啟表格。為了處理此問題,請選取下列選項

    • 傳回符合的資料列 (2)

    • 允許 BIG 結果 (8)。

    這些加起來的值為 10 (OPTION=10)。

一些在您使用 Access、ODBC 和 Connector/ODBC 時可能有用的外部文章和提示