您目前已離線,請等候您的網際網路重新連線

如何解決在 Access 資料庫中的參照問題

Office 2003 支援已結束

Microsoft 於 2014 年 4 月 8 日結束對 Office 2003 的支援。此變更已影響您的軟體更新和安全性選項。 瞭解這對您的意義為何且如何持續受保護。

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:310803
結論
本文說明有關使用 Access 資料庫中的參考的問題。

了解參考錯誤需要瞭解的程式庫參考在 Access 資料庫中的方式和的所需目標電腦上安裝的資料庫,而不會中斷這些參考。本文是下列主題的摘要:
  • 檢視存取的資料庫參考
  • 解決 Microsoft Visual Basic 的 Access 中的 Applicationsreferences
  • 了解參考錯誤訊息
  • 解析參考 developmentcomputer 上的問題
  • 散發資料庫檔案
  • 更新參考清單
  • 具有 ActiveXcontrols 的散發資料庫檔案
  • 想要重新登錄檔案
其他相關資訊

檢視存取的資料庫參考

若要檢視目前的資料庫參考:
  1. 開啟資料庫。
  2. 請按 ALT + F11 來啟動 Visual Basic 編輯器。
  3. 按一下 [工具] 功能表的 [參考]。

解析在 Access 中的 Visual Basic 參考

存取載入相關檔案 (例如,型別程式庫、 物件程式庫或控制項程式庫) 的每個參考,根據在 [參照] 方塊中顯示的資訊。如果 Access 找不到檔案,則 Access 會執行下列的程序,以找出的檔案:
  1. 若要查看是否參考的檔案 iscurrently 載入記憶體中的存取檢查。
  2. 如果檔案不載入記憶體中,Access 會試著的 verifythat RefLibPaths登錄機碼存在。如果機碼存在時,Access 會尋找具有相同的名稱,做為參考的 namedvalue。如果沒有相符項目,Accessloads 的參考,從已命名的值所指向的路徑。
  3. Access 會再搜尋參考的檔案,在 [依此順序的 ︰ 位置:
    1. 應用程式資料夾 (Msaccess.exe 檔的位置)。
    2. 目前的資料夾,您看到的是否您按一下 [開啟檔案] 功能表上。
    3. 作業系統檔案執行的所在視窗或 Winnt 資料夾。
    4. 在 [視窗] 或 [Winnt 資料夾下的 [系統] 資料夾。
    5. 直接存取由作業系統 PATH 環境變數中資料夾。
  4. 如果 Access 找不到檔案,也就是參考 erroroccurs。

了解參考錯誤訊息

有數種到遺失的檔案或具有不同的版本,從資料庫中所使用的版本的檔案與相關的錯誤訊息。在大部分的情況下,您可以搜尋 「 Microsoft 知識庫 」 的文章有關特定錯誤訊息,及文件中的步驟,您可以再解決錯誤。在某些情況下,相依性檔案不正確且符合與主要檔案。

下列清單說明一些您可能會收到參考錯誤訊息。不過請注意,清單不包含所有可能的參考錯誤訊息。
  • [方法] MethodName 物件的ObjectName 失敗 」

    一般而言,您的 mayreceive 這個錯誤訊息如果沒有程式設計類型程式庫,例如,一個無效的資料存取物件 (DAO) 動態連結 library(DLL) 檔案有問題。您可以搜尋 「 Microsoft 知識庫 」 文件 thatdescribe 的各種形式的這個錯誤訊息。
  • 「 函式並無法用於使用方式 運算式"

    如果還有問題,以程式設計的型別程式庫,或者如果 thecode 不會特別呼叫出正確的程式庫和檔案 listedat 參考清單中包含 samefunction 名稱中--例如,如果 DAO 程式碼搭配 ActiveX 資料 Object(ADO) 程式庫的檔案比較低的優先順序列出在更高的優先順序比 DAO 程式庫,您可能會收到 thiserror 訊息。您可能 alsoreceive 這個錯誤訊息如果表單或報表包含 ActiveX 控制項。
  • 「 找不到專案或程式庫"

    如果存取參考清單] 中找不到檔案,您可能會 receivethis 錯誤訊息。Oftenthe 檔案會標示為遺失的參考] 對話方塊中。有時候檔案存在於目標電腦上找不到的開發 computerbut。 如需其他有關這個錯誤的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
    208218 ACC2000: 中斷與遺漏的參照的資料庫中的 VBA 函數
  • 未定義的 「 變數 」 或者 「 使用者定義型別 notdefined"

    如果您使用 theUser 層級安全性精靈保護一個資料庫參考程式庫 otherthan 預設會包含的程式庫,您可能會收到這些錯誤訊息之一。例如,無安全性的資料庫中存在的參考 tolibraries 不會自動 createdin 新的保全資料庫。
  • 「 執行階段錯誤 5,""無效的程序呼叫或引數,""其中包含這個符號的程式庫未參考的 currentproject,"或"其中包含這個符號的程式庫不專案所參考的 thecurrent,因此是未定義的符號"

    您可能會收到 ofthese 錯誤訊息如果沒有資料庫、 型別程式庫、 標示為遺失的 oran 物件程式庫的參考。 如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
    231413 ACC2000: 錯誤訊息,指出遺失的參照
  • 「 ActiveX 元件無法建立物件 」

    Thiserror 訊息不一定表示,ActiveX 控制項的相關資訊。例如,可能的原因是 DAO,是 ActiveX 元件,無法建立物件,因為 DAO 的自動化伺服器無法啟動。通常,原因是參考的功能提供程式的 Dll 尚未登錄,或都不正確的登錄。如需其他有關這個錯誤的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
    244264 資訊: 疑難排解錯誤 429 當自動化 Office 應用程式
    雖然這篇文章撰寫從 VisualBasic 的觀點來看,它涵蓋了數個原因造成此錯誤。

解析參考開發電腦上的問題

建立新的空白資料庫,並從另一個資料庫檔案,然後匯入物件可以建立參考的問題,如果程式碼或 ActiveX 控制項依賴預設不包含在資料庫中的參考。Access 2000 資料庫的預設參考是:
  • Visual Basic for Applications
  • Microsoft Access 9.0 物件程式庫
  • OLE 自動化
  • Microsoft ActiveX Data Objects (ADO) 2.1 程式庫
如果來源為另一個 Access 2000 資料庫,請確認參考相符。如果來源是 access 的在較早版本中,DAO 3.5 或更早版本可能是 access 的在使用;不過,Access 2000 不提供 DAO 3.5 根據預設值。請嘗試移除的參照 ADO 2.1 程式庫 (如果存在的話),並將參考加入至 DAO 3.6 物件程式庫。

如果您從較早版本的 Access 中,轉換資料庫,資料庫會包含 Utility.mda 檔案的參考,在大多數情況下您可以移除這個參考因為這個參考所呼叫的函式包含在 Access 2000 中的預設值參考資料。如果有舊版的 DAO 的參考,您也可以移除這些參考因為 DAO 3.6 可以解決這些函式。

若要新增的程式庫的參考:
  1. 開啟資料庫。
  2. 請按 ALT + F11 來啟動 Visual Basic 編輯器。
  3. 按一下 [工具] 功能表的 [參考]。
  4. 在 [可用的參考中,按一下以選取的程式庫名稱旁邊的核取方塊,然後按一下[確定]
若要移除的程式庫的參考:
  1. 開啟資料庫。
  2. 請按 ALT + F11 來啟動 Visual Basic 編輯器。
  3. 按一下 [工具] 功能表的 [參考]。
  4. 在 [可用的參考中,按一下以清除的程式庫名稱旁邊的核取方塊,然後按一下[確定]

散發資料庫檔案

有兩種基本的資料庫檔案散發方法。您也可以將檔案從開發電腦中,複製到目標電腦上,或您可以使用 [封裝暨部署精靈來建立安裝套件。

如果您從開發電腦複製檔案到目標電腦時,會複製資料庫檔案。您必須手動確定參考清單中所列的所有檔案都有可用的在正確的版本層級,並在目標電腦上相同的相對位置在開發電腦上。

如果您使用 「 封裝暨部署精靈來建立安裝套件,請參閱知識庫文件做為開發在 Access 中的執行階段應用程式的檢查清單。 如需其他有關檢查清單的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
247530 MOD2000: 如何避免常見的錯誤,當您建立可散發的執行階段應用程式
當您開發在 Access 中的執行階段應用程式時,請注意某些作業系統檔案必須散發,與執行階段應用程式。這些檔案的封裝是由 Microsoft Office 2000年程式開發人員的封裝暨部署精靈元件會自動執行。有時候所包含的檔案的版本,已安裝在開發電腦,並,可能會修改作業系統檔案的其他應用程式而定。

遵循某些規定,可通常是確保讓您使用的檔案版本會不衝突與目標電腦上的檔案安裝執行期應用程式時。這裡有的指導方針:
  1. 開發任何電腦上的 Access 資料庫。
  2. 建立電腦環境,其中的硬碟有 beenreformatted 和安裝的最早版本的適用的 operatingsystem、 辦公室、 及 Office 2000 程式開發人員的位置。在這台電腦建立 theapplication 的執行階段版本上執行 Packageand 部署精靈 」。這樣可以確保檔案的修訂層級能 onany 的目標電腦。
  3. 建立電腦環境,其中的硬碟有 beenreformatted,而且只有作業系統才安裝的位置。在此環境中測試執行 timeapplication。
    • 如果應用程式未成功執行,就會知道,沒有與應用程式本身的問題。您要找出並更正問題,請在散發應用程式之前。
    • 如果應用程式才運作成功的測試電腦上,但不能在目標電腦,就會知道出了錯誤目標電腦上,而不是應用程式中。您要找出並修正可能的原因,在目標電腦上,可能不相容或損毀的檔案。

重新整理參考清單

如果參考問題牽涉到的 ActiveX 控制項,所以您可以重新整理參考清單,有時解決問題。若要重新整理參考清單:
  1. 在 [Visual Basic 編輯器] 中,按一下 [工具] 功能表上的參考
  2. 在 [參考] 對話方塊中,按一下以選取 [不是 alreadyselected 的參考,請記下的哪一個方法,您可以選取,,,然後按一下[確定]
  3. 在 [工具] 功能表中,按一下 [參照一次。
  4. 按一下以取消所選取的參考及接著[確定]

有 ActiveX 控制項的散發資料庫檔案

有兩種類型的 ActiveX 控制項的授權: 設計階段授權與執行階段授權。
  • 設計階段授權可以讓您從 Office 2000 程式開發人員的 licensedActiveX 控制項插入到表單和報表中的 Accessdatabase。
  • 執行階段授權可以讓您使用 ActiveX controlsin Access 資料庫並沒有 Office 2000 Developerinstalled,電腦上,但執行階段授權不允許插入新的 licensedActiveX 控制項。若要安裝執行階段授權,請使用 「 封裝暨部署精靈 」,在目標電腦的登錄中寫入 licensefor 控制項散佈 ActiveXcontrols。
遺失旗標,當您在設計檢視中開啟模組,然後按一下 [工具] 功能表上的 [參照時,可能會看到您項目,表示目標電腦上的通用型對話方塊控制項的參照不符合資料庫檔案從開發電腦中的來源。

如果您散發資料庫檔案,而不想安裝的可分配的通用型對話方塊控制項,控制項的參考可能會被標示為 [遺失],或者您可能會收到錯誤訊息,「 您沒有授權,才能使用這個 ActiveX 控制項 」 如果目標電腦上已安裝的非可散發的控制項。

甚至當資料庫檔已執行階段應用程式的一部分,您可能會收到 「 您不需要授權才能使用這個 ActiveX 控制項 」 的錯誤訊息如果目標電腦已安裝的非可分配控制項屬於較新的版本比由執行階段應用程式所提供的控制項。因為安裝程式不會不會覆寫較新版本的檔案與先前版本的相同檔案,就會發生這個問題。

想要重新登錄檔案

很可能會在參考清單中,沒有被正確地註冊在登錄中的檔案。如果您懷疑這可能是大小寫,請依照下列步驟執行,以重新登錄檔案:
  1. 在 Microsoft Windows NT 4.0 中,按一下 [開始、 指向 [尋找,然後按一下 [檔案或資料夾,或在 windows 2000 中,按一下 [開始、 指向 [搜尋,然後按一下 [檔案 andFolders
  2. 在 [名稱] 方塊中,或在 [檔案及 foldersnamed 的搜尋方塊中,輸入 regsvr32.exe.
  3. 在 [查詢] 方塊中被磁碟 (通常是 c:) 的根目錄。
  4. 按一下以如果尚未選取的話,請選取 [包含子資料夾] 核取方塊,然後按一下 [立即尋找] 或 [立即搜尋]
  5. 找到檔案後,按一下 [開始]、 按一下 [執行],然後刪除任何已開啟] 方塊中的項目。
  6. 從 [搜尋結果] 窗格中拖曳Regsvr32.exe檔案至 [開啟] 方塊中。
  7. 重複步驟 2 到 6,此時,搜尋檔名.dll,其中檔名 是您想 toreregister 名稱。
  8. 之後 檔名.dll 檔案 isin Regsvr32.exe 檔時,請開啟] 方塊中按一下[確定]
  9. 在 Access 中,測試看看是否問題 stillexists。
如果您並沒有 Regsvr32.exe 檔案,在您的電腦上,請檢查檔案的其他電腦。如果檔案不是可用的您可以取得該檔案從 Microsoft 網站。 如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
161983 ACC: 在「下載中心」中可用的 Regsvr32a.exe
附註:請記住,若要調整參考之後,編譯所有模組。若要編譯所有模組,模組仍開啟,按一下 [偵錯] 功能表中的 [都編譯資料庫。如果未編譯的模組,可能有其他無法解析的參考。

警告:本文為自動翻譯

內容

文章識別碼:310803 - 最後檢閱時間:10/01/2015 14:42:00 - 修訂: 1.0

Microsoft Access 2000 Standard Edition, Microsoft Access 2002 Standard Edition, Microsoft Office Access 2003, Microsoft Office Access 2007, Microsoft Access 2010, Microsoft Access 2013, Access 2016

  • kbhowto kbenv kbinfo kbinterop kbprogramming kbmt KB310803 KbMtzh
意見反應