วิธีการแก้ไขปัญหาเกี่ยวกับการอ้างอิงในฐานข้อมูลการเข้าถึง

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 310803 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความนี้อธิบายถึงปัญหาที่เกี่ยวกับการใช้การอ้างอิงในฐานข้อมูลการเข้าถึง

การทำความเข้าใจเกี่ยวกับข้อผิดพลาดในการอ้างอิงต้องทั้งสองวิธีการอ้างอิงไลบรารีในการเข้าถึงฐานข้อมูล และของสิ่งที่มีความเข้าใจเกี่ยวกับความต้องการติดตั้งฐานข้อมูลบนเครื่องคอมพิวเตอร์เป้าหมาย โดยไม่มีการแบ่งข้อมูลอ้างอิงเหล่านี้ บทความนี้จะสรุปของหัวข้อต่อไปนี้:
  • การดูการอ้างอิงฐานข้อมูลการเข้าถึง
  • resolving Microsoft Visual Basic สำหรับโปรแกรมประยุกต์ที่อ้างอิงในการเข้าถึง
  • เรียนรู้เกี่ยวกับข้อผิดพลาดของการอ้างอิง
  • การแก้ไขปัญหาการอ้างอิงบนคอมพิวเตอร์การพัฒนา
  • การกระจายแฟ้มฐานข้อมูล
  • การปรับปรุงรายการการอ้างอิง
  • ฐานข้อมูล distributing แฟ้มที่มีตัวควบคุม activex
  • reregistering แฟ้ม

ข้อมูลเพิ่มเติม

การดูการอ้างอิงฐานข้อมูลการเข้าถึง

เมื่อต้องการดูข้อมูลอ้างอิงฐานข้อมูลปัจจุบัน:
  1. เปิดฐานข้อมูล
  2. กด ALT + F11 เพื่อเริ่มตัวแก้ไข Visual Basic
  3. ในการเครื่องมือเมนู คลิกอ้างอิง:.

การแก้ไขการอ้างอิงของ Visual Basic ในการเข้าถึง

การเข้าถึงโหลด pertinent แฟ้ม (ตัวอย่างเช่น ไลบรารีของชนิด ไลบรารีวัตถุ หรือไลบรารีของตัวควบคุม) สำหรับแต่ละการอ้างอิง ตามข้อมูลที่แสดงอยู่ในที่นี้อ้างอิง:กล่อง ถ้ามีการเข้าถึงไม่พบแฟ้ม การเข้าถึงรันขั้นตอนต่อไปนี้เพื่อค้นหาแฟ้ม:
  1. การเข้าถึงการตรวจสอบเพื่อดูว่า แฟ้มที่ถูกอ้างอิงในขณะนี้ได้ถูกโหลดในหน่วยความจำ
  2. ถ้าแฟ้มไม่โหลดในหน่วยความจำ พยายามเข้าถึงการตรวจสอบว่า การRefLibPathsรีจิสทรีคีย์ที่มีอยู่ทั้งหมด ในกรณีที่คีย์มีอยู่ การเข้าถึงค้นหาค่าที่มีชื่อที่มีชื่อเหมือนกับการอ้างอิง ถ้าไม่ตรงกับการ การเข้าถึงโหลดการอ้างอิงจากเส้นทางและค่าที่มีชื่อที่ระบุไป
  3. การเข้าถึงแล้วค้นหาแฟ้มที่ถูกอ้างอิงในตำแหน่งต่อไป ลำดับนี้:
    1. โฟลเดอร์แอพลิเคชัน (ตำแหน่งของแฟ้ม Msaccess.exe)
    2. โฟลเดอร์ปัจจุบันที่คุณเห็นถ้าคุณคลิกOPENในการแฟ้ม:เมนู
    3. Windows หรือ Winnt โฟลเดอร์ซึ่งแฟ้มระบบปฏิบัติการที่กำลังเรียกใช้
    4. โฟลเดอร์ระบบภายใต้โฟลเดอร์ Windows หรือ Winnt
    5. โฟลเดอร์ในตัวแปรสภาพแวดล้อมของเส้นทางที่สามารถเข้าถึง โดยระบบปฏิบัติการโดยตรง
  4. ถ้ามีการเข้าถึงไม่พบแฟ้ม ข้อผิดพลาดในการอ้างอิงเกิดขึ้น

การทำความเข้าใจกับข้อความแสดงข้อผิดพลาดของการอ้างอิง

มีข้อผิดพลาดต่าง ๆ ที่เกี่ยวข้อง กับแฟ้มที่หายไป หรือแฟ้มที่มีเวอร์ชันที่แตกต่างจากรุ่นที่ใช้ในฐานข้อมูล ในกรณีส่วนใหญ่ คุณสามารถค้นหาฐานความรู้ของ Microsoft สำหรับการมีบทความเกี่ยวกับข้อความแสดงข้อผิดพลาดเฉพาะ และคุณสามารถแก้ไขข้อผิดพลาด โดยทำตามขั้นตอนในบทความ ในบางกรณี แฟ้มอ้างอิงจะไม่ถูกต้องตรงกับแฟ้มหลัก

รายการต่อไปนี้อธิบายถึงข้อผิดพลาดการอ้างอิงที่คุณอาจได้รับบางส่วน อย่างไรก็ตาม โปรดทราบว่า รายการที่ไม่ได้รวมทั้งหมดของข้อความแสดงข้อผิดพลาดของการอ้างอิงที่เป็นไปได้
  • วิธีการ"MethodNameของวัตถุObjectNameล้มเหลว"

    โดยทั่วไป คุณอาจได้รับข้อความแสดงข้อผิดพลาดนี้หากมีปัญหากับไลบราการเขียนโปรแกรมรีชนิด ราตัวอย่างเช่น ไม่ถูกต้องข้อมูลการเข้าถึงวัตถุ (DAO) เชื่อมโยง dynamic รี (DLL) แฟ้มได้ คุณสามารถค้นหาฐานความรู้ของ Microsoft สำหรับบทความที่อธิบายถึงแบบฟอร์มต่าง ๆ ของข้อความแสดงข้อผิดพลาดนี้
  • "ฟังก์ชันไม่มีอยู่ในการใช้งานนิพจน์"

    คุณอาจได้รับข้อความแสดงข้อผิดพลาดนี้หากมีปัญหากับไลบรารีชนิดโปรแกรม หรือ ถ้ารหัสไม่เป็นพิเศษโทรออกจากไลบรารีที่ถูกต้อง และแฟ้มอยู่ในรายการที่ความสำคัญต่ำลงในรายการการอ้างอิงไม่ใช่แฟ้มที่ประกอบด้วยชื่อเดียวกันของฟังก์ชัน--ตัวอย่างเช่น ถ้ามีใช้รหัส DAO กับไลบรารีวัตถุข้อมูล ActiveX (ADO) ที่ระบุไว้ในระดับความสำคัญสูงกว่าในไลบรารี DAO คุณอาจได้รับข้อความแสดงข้อผิดพลาดนี้ถ้าแบบฟอร์ม หรือรายงานประกอบด้วยตัวควบคุม ActiveX
  • "ไม่พบโครงการหรือไลบรารี"

    คุณอาจได้รับข้อความแสดงข้อผิดพลาดนี้ถ้ามีการเข้าถึงไม่สามารถหาตำแหน่งแฟ้มในรายการการอ้างอิง แฟ้มมีค่าสถานะมักจะเป็นไม่พบในการอ้างอิง:กล่องโต้ตอบ ในบางครั้งแฟ้มมีอยู่ บนคอมพิวเตอร์การพัฒนา แต่ไม่ได้อยู่ บนเครื่องคอมพิวเตอร์เป้าหมายFor additional information about this error, click the article number below to view the article in the Microsoft Knowledge Base:
    208218ACC2000: VBA Functions Break in Database with Missing References
  • "Variable not defined" or "User-defined type not defined"

    You may receive one of these error messages if you use the User-Level Security Wizard to secure a database that references libraries other than the libraries that are included by default. For example, references to libraries that existed in the unsecured database are not automatically created in the new, secured database.
  • "Run-time error 5," "Invalid procedure call or argument," "The library which contains this symbol is not referenced by the current project," or "The library which contains this symbol is not referenced by the current project, so the symbol is undefined"

    You may receive one of these error messages if there is a reference to a database, a type library, or an object library that is flagged asMissing.สำหรับข้อมูลเพิ่มเติม โปรดคลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
    231413ACC2000: Error Messages That Indicate a Missing Reference
  • "ActiveX component can't create object"

    This error message does not necessarily mean that an ActiveX control is involved. For example, one possible cause is that DAO, which is an ActiveX component, cannot create an object because the DAO Automation Server cannot start. Frequently, the cause is that DLLs that provide referenced functionality for the program are not registered or are incorrectly registered.For additional information about this error, click the article number below to view the article in the Microsoft Knowledge Base:
    244264ข้อมูล: การแก้ไขข้อผิดพลาด 429 เมื่ออัตโนมัติโปรแกรมประยุกต์ของ Office
    Although this article is written from a Visual Basic viewpoint, it covers many of the causes for this error.

Resolving Reference Issues on the Development Computer

Creating a new, blank database and then importing objects from another database file can create reference issues if the code or ActiveX controls rely on references that are not included in a database by default. The default references for an Access 2000 database are:
  • visual Basic สำหรับโปรแกรมประยุกต์
  • Microsoft Access 9.0 object library
  • การทำงานอัตโนมัติ ole
  • Microsoft ActiveX Data Objects (ADO) 2.1 library
If the source is another Access 2000 database, verify that the references match. If the source is in an earlier version of Access, DAO 3.5 or earlier is probably in use; however, Access 2000 does not provide DAO 3.5 by default. Try removing the reference to the ADO 2.1 library (if it exists) and adding the reference to the DAO 3.6 object library.

If you converted the database from an earlier version of Access, and the database contains a reference to the Utility.mda file, in most cases you can remove this reference because the functions that this reference calls are included in the default references in Access 2000. If there are references to earlier versions of DAO, you can also remove these references because DAO 3.6 can address these functions.

To add a reference to a library:
  1. เปิดฐานข้อมูล
  2. กด ALT + F11 เพื่อเริ่มตัวแก้ไข Visual Basic
  3. ในการเครื่องมือเมนู คลิกอ้างอิง:.
  4. ภายใต้การอ้างอิงที่มีอยู่, click to select the check box next to the name of the library, and then clickตกลง.
To remove a reference to a library:
  1. เปิดฐานข้อมูล
  2. กด ALT + F11 เพื่อเริ่มตัวแก้ไข Visual Basic
  3. ในการเครื่องมือเมนู คลิกอ้างอิง:.
  4. ภายใต้การอ้างอิงที่มีอยู่, click to clear the check box next to the name of the library, and then clickตกลง.

Distributing Database Files

มีวิธีการกระจายแฟ้มฐานข้อมูลแบบพื้นฐานที่สอง คุณสามารถคัดลอกแฟ้มจากคอมพิวเตอร์การพัฒนาไปยังคอมพิวเตอร์ปลายทาง หรือคุณสามารถใช้แพคเกจ'และ'ตัวช่วยสร้างการปรับใช้การสร้างแพคเกจการติดตั้ง

ถ้าคุณคัดลอกแฟ้มจากคอมพิวเตอร์การพัฒนาไปยังเครื่องคอมพิวเตอร์เป้าหมาย เท่านั้นจะถูกคัดลอกแฟ้มฐานข้อมูล คุณด้วยตนเองต้องแน่ใจว่า แฟ้มทั้งหมดที่แสดงในรายการการอ้างอิงมีพร้อมใช้งาน ระดับรุ่นที่ถูกต้อง และ ในตำแหน่งที่สัมพันธ์กันบนเครื่องคอมพิวเตอร์เป้าหมายเป็นที่อยู่บนคอมพิวเตอร์การพัฒนา

ถ้าคุณใช้แพคเกจ'และ'ตัวช่วยสร้างการปรับใช้เพื่อสร้างแพ็คเกจการติดตั้ง การอ้างอิงถึงบทความในฐานความรู้ที่ทำหน้าที่เป็นรายการการตรวจสอบสำหรับการพัฒนาโปรแกรมประยุกต์ที่ทำในการเข้าถึงสำหรับข้อมูลเพิ่มเติมเกี่ยวกับรายการตรวจสอบ คลิกหมายเลขบทความด้านล่างนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
247530MOD2000: วิธีการที่หลีกเลี่ยงข้อผิดพลาดทั่วไปเมื่อคุณสร้างโปรแกรมประยุกต์ที่เรียกใช้ขณะแบบ Distributable
เมื่อคุณพัฒนาโปรแกรมประยุกต์ที่ทำในการเข้าถึง ระวังว่า แฟ้มระบบปฏิบัติการบางอย่างต้องมีการแจกจ่าย ด้วยโปรแกรมประยุกต์ที่ทำ บรรจุภัณฑ์ของแฟ้มเหล่านี้จะทำได้โดยอัตโนมัติ โดยคอมโพเนนต์ตัวช่วยสร้างการปรับใช้และการบรรจุภัณฑ์ของนักพัฒนา 2000 Office ของ Microsoft ในบางครั้งแฟ้มที่มีอยู่ในรุ่นขึ้นกับบนโปรแกรมประยุกต์อื่นที่มีการติดตั้งบนคอมพิวเตอร์การพัฒนา และที่อาจมีแก้ไขแฟ้มระบบปฏิบัติการ

ตามคำแนะนำบางอย่างจะมักจะให้ขัดว่า รุ่นของแฟ้มที่คุณใช้จะไม่แย้งกับแฟ้มบนคอมพิวเตอร์ปลายทางเมื่อคุณติดตั้งโปรแกรมประยุกต์ที่ทำงาน ต่อไปนี้เป็นแนวทาง:
  1. พัฒนาฐานข้อมูล Access บนคอมพิวเตอร์เครื่องใดก็
  2. สร้างสภาพแวดล้อมของคอมพิวเตอร์ที่ได้รับ reformatted ฮาร์ดดิสก์และที่มีการติดตั้งเท่านั้นที่เร็วที่สุดรุ่น ของระบบปฏิบัติการเกี่ยวข้อง Office และ ของนัก พัฒนา 2000 ของ Office เรียกใช้แพคเกจ'และ'ตัวช่วยสร้างการจัดวางบนคอมพิวเตอร์เครื่องนี้เพื่อสร้างรุ่นเวลารันของโปรแกรมประยุกต์ ซึ่งช่วยให้มั่นใจว่า ระดับการตรวจทานแฟ้มที่จะทำงานบนคอมพิวเตอร์เป้าหมายใด ๆ
  3. สร้างสภาพแวดล้อมของคอมพิวเตอร์ที่ได้รับ reformatted ฮาร์ดดิสก์และที่มีเฉพาะระบบปฏิบัติการติดตั้งอยู่ ทดสอบโปรแกรมประยุกต์ที่ทำในสภาพแวดล้อมการทำงานนี้
    • ถ้าโปรแกรมประยุกต์ที่ทำงานไม่เสร็จเรียบร้อยแล้ว คุณทราบว่า มีบางสิ่งบางอย่างไม่ถูกต้อง ด้วยโปรแกรมประยุกต์ตัวเอง คุณต้องระบุ และแก้ไขปัญหาก่อนที่คุณเผยแพร่โปรแกรมประยุกต์
    • ถ้าโปรแกรมประยุกต์ที่ทำงานในเครื่องทดสอบเสร็จเรียบร้อยแล้ว แต่ไม่ทำงานบนเครื่องคอมพิวเตอร์เป้าหมาย คุณทราบว่า มีบางสิ่งบางอย่างผิด บนเครื่องคอมพิวเตอร์เป้าหมายมากกว่า ในแอพลิเคชัน คุณต้องระบุ และแก้ไขสาเหตุ probable บนคอมพิวเตอร์เป้าหมาย อาจ incompatibility ข้อหรือแฟ้มเสียหาย

ฟื้นฟูรายการอ้างอิง

ถ้าปัญหาการอ้างอิงเกี่ยวข้องกับตัวควบคุม ActiveX คุณสามารถแก้ไขปัญหา โดยการฟื้นฟูรายการอ้างอิงในบางครั้ง ฟื้นฟูรายการอ้างอิง:
  1. ใน Visual Basic Editor คลิกอ้างอิง:ในการเครื่องมือเมนู
  2. ในการอ้างอิง:กล่องโต้ตอบ คลิกเพื่อเลือกการอ้างอิงที่ไม่ได้เลือก ทำการบันทึกย่อของที่คุณเลือก และคลิกตกลง.
  3. ในการเครื่องมือเมนู คลิกอ้างอิง:อีกครั้ง
  4. คลิกเพื่อยกเลิกการเลือกของการอ้างอิง และจากนั้น คลิกตกลง.

การกระจายแฟ้มฐานข้อมูลที่มีการควบคุม ActiveX

ไม่มีสิทธิ์การใช้งานสำหรับตัวควบคุม activex สองชนิด: สิทธิ์การใช้งานขณะออกแบบและใบอนุญาตทำงาน
  • สิทธิ์การใช้งานขณะออกแบบช่วยให้คุณสามารถแทรกตัวควบคุม activex ลิขสิทธิ์จากนักพัฒนา 2000 Office ลงในแบบฟอร์มและรายงานในการเข้าถึงฐานข้อมูล
  • สิทธิ์การใช้งานทำการอนุญาตให้คุณสามารถใช้ตัวควบคุม activex ในฐานข้อมูลการเข้าถึงบนคอมพิวเตอร์ที่ไม่มี Office 2000 นักพัฒนาติดตั้ง แต่ใบอนุญาตทำไม่อนุญาตให้คุณสามารถแทรกตัวควบคุม ActiveX ลิขสิทธิ์ใหม่ To install a run-time license, distribute the ActiveX controls by using the Package and Deployment Wizard, which writes the license for the controls in the target computer's registry.
aไม่พบflag, which you may see when you open a module in Design view and then clickอ้างอิง:ในการเครื่องมือmenu, indicates that the reference to the Common Dialog control on the target computer does not match the source in the database file from the development computer.

If you distribute a database file without installing the distributable Common Dialog control, the control's reference may be flagged asไม่พบ, or you may receive an error message that "You don't have the license required to use this ActiveX control" if the non-distributable control is already installed on the target computer.

Even when the database file is part of a run-time application, you may receive the error message that "You don't have the license required to use this ActiveX control" if the non-distributable control that is already installed on the target computer is of a later version than the control that is provided by your run-time application. This issue can occur because the Setup program does not overwrite later versions of a file with an earlier version of the same file.

Reregistering a File

It is possible for a file to be in the reference list without being correctly registered in the registry. If you suspect that this might be the case, follow these steps to reregister the file:
  1. In Microsoft Windows NT 4.0, clickเริ่มการทำงานชี้ไปที่ค้นหาแล้ว คลิกแฟ้มหรือโฟลเดอร์, or in Windows 2000, clickเริ่มการทำงานชี้ไปที่ค้นหาแล้ว คลิกFor Files and Folders.
  2. ในการการตั้งชื่อbox, or in theSearch for files and folders namedกล่อง ชนิดregsvr32.exe.
  3. ในการค้นหาbox, click the root of the hard disk (usually C:).
  4. คลิกเพื่อเลือกนั้นรวมโฟลเดอร์ย่อยcheck box if it is not already selected, and then clickค้นหาเดี๋ยวนี้หรือค้นหาเดี๋ยวนี้.
  5. After you find the file, clickเริ่มการทำงานคลิกเรียกใช้, and then delete anything that is in theOPENกล่อง
  6. ลากRegsvr32.exefile from the search results pane to theOPENกล่อง
  7. Repeat steps 2 through 6, this time searching forFileName :.dll, whereFileName :is the name of the file that you want to reregister.
  8. หลังจากFileName :.dll file is in theOPENbox with the Regsvr32.exe file, clickตกลง.
  9. In Access, test to see whether the problem still exists.
If you do not have the Regsvr32.exe file on your computer, check other computers for the file. If the file is not available, you can obtain the file from the Microsoft Web site.สำหรับข้อมูลเพิ่มเติม โปรดคลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
161983ACC: Regsvr32a.exe Available in Download Center
หมายเหตุ::Remember to compile all modules after you adjust references. To compile all modules, with the module still open, clickการคอมไพล์database.ในการตรวจแก้จุดบกพร่องเมนู If the modules do not compile, there may be additional unresolved references.

คุณสมบัติ

หมายเลขบทความ (Article ID): 310803 - รีวิวครั้งสุดท้าย: 17 กันยายน 2554 - Revision: 4.0
ใช้กับ
  • Microsoft Access 2000 Standard Edition
Keywords: 
kbhowto kbenv kbinfo kbinterop kbprogramming kbmt KB310803 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:310803

ให้ข้อเสนอแนะ

 

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