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