本文包含有關修改注冊表的信息。修改注冊表之前,一定要備份注冊表,并且一定要知道在發生問題時如何還原注冊表。 概要 本文介紹 Microsoft Office Access 2003 為解析 Microsoft Visual Basic for Applications (VBA) 中的引用所執行的一系列任務。 更多信息警告 注冊表編輯器使用不當可導致嚴重問題,可能需要重新安裝操作系統。Microsoft 不能保證您可以解決因注冊表編輯器使用不當而導致的問題。使用注冊表編輯器需要您自擔風險。
在 Access 2003 中,您可以使用 Visual Basic 編輯器查看當前選擇的 VBA 引用。為此,請按照下列步驟操作: 啟動 Access 2003。 打開一個 Access 數據庫。 按 ALT+F11 打開 Visual Basic 編輯器。 在 Visual Basic 編輯器窗口中,單擊“工具”菜單上的“引用”。
在“引用”對話框中,您可以看到所選的引用。注意 當選擇了一個引用后,您還可以查看有關使用該引用必須加載的文件的信息。
相關文件可能是類型庫、對象庫或控件庫。每個引用的相關文件會根據“引用”對話框中顯示的信息進行加載。但是,如果找不到相應的文件,Access 2003 將在計算機上的其他位置搜索它。
對于所選的每個 VBA 引用,Access 2003 都會執行以下任務: Access 驗證是否已加載了引用的文件。 如果當前未加載引用的文件,Access 將驗證 RefLibPaths 注冊表項是否存在。
如果 RefLibPaths 注冊表項存在,Access 將搜索與引用具有相同名稱的命名值。如果有匹配的命名值,則 Access 將從命名值中提及的路徑加載引用。
注意 您可以將 RefLibPaths 注冊表項手動添加到注冊表中,然后可以添加 RefLibPaths 注冊表項下任何外接程序或任何庫的名稱和位置。為此,請按照下列步驟操作。 單擊“開始”,然后單擊“運行”。 在“打開”框中,鍵入 regedit,然后單擊“確定”。 在“注冊表編輯器”窗口中,找到以下注冊表項:
HKEY_LOCAL_MACHINE\Software\Microsoft\Office\11.0\Access 右鍵單擊“Access”注冊表項,指向“新建”,然后單擊“項”。 將新創建的項命名為 RefLibPaths。 單擊“RefLibPaths”。 右鍵單擊右窗格中的任意位置,然后單擊“字串值”。 使用與 VBA 引用相同的名稱命名新創建的字符串值。 右鍵單擊您在第 8 步中創建的字符串值,然后單擊“修改”。 在“編輯字符串”對話框中,鍵入必須加載的文件的位置以與 VBA 中的引用對應。
注冊表值名稱必須是文件名加擴展名。位置(數值數據)必須是路徑加文件名。例如,如果設置對 Northwind 示例數據庫的引用,則可以添加以下值: 數值名稱:Northwind.mdb 數值數據:C:\Program Files\Microsoft Office\Office11\Samples\Northwind.mdb 重復第 7 步到第 10 步,將適當的外接程序或庫的名稱和位置作為字符串值添加。 在“文件”菜單上,單擊“退出”。 如果 RefLibPaths 注冊表項不存在或未包含正確的引用,則 Access 使用“SearchPath”API 搜索引用的文件。將執行以下搜索: 搜索范圍 說明 應用程序目錄 Msaccess.exe 的位置。 當前目錄 在“文件”菜單上單擊“打開”時所看到的目錄。 系統目錄 Windows 文件夾或 WINNT 文件夾中的 System 文件夾和 System32 文件夾。 WinDir 操作系統文件在其中運行的文件夾。這通常是 Windows 文件夾或 WINNT 文件夾。 PATH 環境變量 此系統變量包含系統可直接訪問的一組文件夾。
Microsoft Windows NT 4.0:在控制面板中,雙擊“系統”,然后單擊“環境”選項卡。PATH 變量顯示在“系統變量”列表中。
Microsoft Windows 2000 或 Microsoft Windows Server 2003:在控制面板中,雙擊“系統”,單擊“高級”選項卡,然后單擊“環境變量”。PATH 顯示在“系統變量”列表中。 文件目錄 包含 .mdb 文件、.mde 文件、.adp 文件或 .ade 文件的文件夾和任何子文件夾。注意 如果您要引用的文件位于上表中提到的任何目錄中,則 Access 不需要 RefLibPaths 注冊表項。
如果 Access 2003 無法找到相關引用,當您編譯項目或嘗試運行某個過程時,將收到以下錯誤信息:
Your Microsoft Office Access database or project contains a missing or broken reference to the file file name.
* To ensure that your database or project works properly, you must fix this reference.
注意 在數據庫已打開的情況下,對于每個無法找到的引用,您都會收到一次前面提及的錯誤信息。
例如,如果您打開了 MyDatabase.mdb 并且 MyDatabase.mdb 丟失了對 Microsoft Calendar 控件和 Microsoft DAO 庫的引用,則您會收到兩條錯誤信息,丟失的每個引用對應一條錯誤信息。如果您未修復這些引用,那么當您關閉數據庫然后再重新打開時,您將再次收到這些錯誤信息。如果您修復了這些引用并保存了數據庫,則下次打開該數據庫時就不會收到這些錯誤信息了。
BrokenReference 屬性
Access 的 Application 對象具有一個 BrokenReference 屬性,該屬性可以告訴您是否有任何引用出現了錯誤。若要檢查 BrokenReference 屬性,請按照下列步驟操作: 啟動 Access 2003。 打開一個 Access 數據庫。 按 ALT+F11 打開 Visual Basic 編輯器。 按 CTRL+G 組合鍵打開“立即”窗口。 在“立即”窗口中,鍵入以下命令,然后按 Enter 鍵:
?Application.BrokenReference
請注意,如果存在丟失的引用,Application 對象的 BrokenReference 屬性將返回“True”。否則,BrokenReference 屬性將返回“False”。
編輯:北京信誠IT保姆IT外包部 http:// www.aboverow.cn www.xcit.com.cn |