ACC2002:"伺服器錯誤 134 」 錯誤訊息當您嘗試轉換您的資料庫

文章翻譯 文章翻譯
文章編號: 282390 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
重要: 本文包含修改登錄的相關資訊。修改登錄之前請確定它備份起來,並請確定您瞭解如何在發生問題時還原登錄。如如何備份、 還原,以及編輯登錄有關,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
256986Microsoft Windows 登錄的描述
中級使用者: 需要基本巨集]、 [程式碼撰寫,] 以及 [交互操作性技巧。

本文只適用於 Microsoft Access 資料庫 (.mdb)。

全部展開 | 全部摺疊

在此頁中

徵狀

當您嘗試轉換您的資料庫時,可能會收到類似下列的錯誤訊息:
伺服器錯誤 134: 的變數名稱 '@ Form......' 已經宣告。變數名稱必須是唯一一個查詢批次或預存程序內。

伺服器錯誤 170: 線條 7: 附近的語法不正確 ') '。

發生的原因

如果您的資料庫中的查詢包含透過先 30 個字元符合的參數,就會發生這個問題。比方說下列查詢會產生錯誤訊息:
   PARAMETERS [123456789012345678901234567890start] DateTime,    [123456789012345678901234567890end] DateTime;
   SELECT item, date
   FROM Table1
   WHERE date Between [123456789012345678901234567890start] And    [123456789012345678901234567890end];
				
附註此查詢包含符合彼此透過先 30 個字元的兩個參數:
  • [123456789012345678901234567890start] 日期時間
  • [123456789012345678901234567890end] 日期時間

解決方案

若要解決這個問題,變更參數名稱一種兩者不同內第一次 30 個字元。範例如果您的查詢包含下列兩個參數
  • [123456789012345678901234567890start] 日期時間
  • [123456789012345678901234567890end] 日期時間
您可以將參數變更為下列:
  • [] start123456789012345678901234567890日期時間
  • [] end123456789012345678901234567890日期時間
請注意 「 SQL 轉換精靈 」 接受只在第一次 30 字元,因此產生的 SQL 查詢包含下列參數:
  • (@ start1234567890123456789012345)日期時間
  • (@ end123456789012345678901234567)日期時間

狀況說明

Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的問題。

其他相關資訊

警告: 如果您未正確使用登錄編輯程式可能會導致嚴重的問題,甚至必須重新安裝作業系統。Microsoft 不保證您可以解決因不當使用 「 登錄編輯器 」 的問題。使用 「 登錄編輯程式 」,請自行負擔相關的風險。

重現問題的步驟

  1. 啟動 [登錄編輯程式 (Regedit.exe)。
  2. 開啟下列登錄機碼:
    HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Access\Wizards\Preferences\Upsizer\Quiet
  3. 將這個機碼值設定為 [否],然後再關閉 [登錄編輯程式。
  4. 啟動 Microsoft Access,然後建立新的資料庫 [Db1.mdb。
  5. 建立新的資料表中 Db1.mdb:
       Table: Table1
       ----------------------
       Field Name: ID
       Data Type:  Text
       PrimaryKey: Yes
    
       Field Name: Date
       Data Type:  Date/Time
    
       Field Name: Item
       Data Type:  Text
    					
  6. 在 [資料庫] 視窗中按一下 [查詢],然後再按兩下 [建立新的查詢設計檢視中
  7. 按一下 [關閉],然後按一下 [查詢設計] 工具列上的 [SQL]。
  8. 在 [SQL 編輯器] 中,請輸入下列查詢:
       PARAMETERS [123456789012345678901234567890start] DateTime,    [123456789012345678901234567890end] DateTime;
       SELECT item, date
       FROM Table1
       WHERE date Between [123456789012345678901234567890start] And    [123456789012345678901234567890end];
    					
  9. 將查詢儲存為 qryLongParameters,然後關閉 [SQL 編輯器]。
  10. 在 [工具] 功能表上指向 [資料庫公用程式,然後按一下 [SQL 轉換精靈]。
  11. 轉換到 SQL Server 資料庫。

    您收到類似本文 < 徵狀 > 一節中所列的錯誤訊息。

?考

如需有關轉換您的資料庫按一下 [說明] 功能表上的 [Microsoft Access 說明,在 「 Office 小幫手 」 或 「 解答精靈 」 中輸入 轉換,然後再按一下 [搜尋] 以檢視所傳回的主題。

屬性

文章編號: 282390 - 上次校閱: 2013年10月21日 - 版次: 4.2
這篇文章中的資訊適用於:
  • Microsoft Access 2002 Standard Edition
關鍵字:?
kbnosurvey kbarchive kbmt kbbug kbnofix KB282390 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:282390
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com