PRB: ADO: ข้อผิดพลาดในการคอมไพล์: ไม่มีการกำหนดชนิดที่ผู้ใช้กำหนดเอง


อาการ


เมื่อคุณคอมไพล์โครงการ ADO ของคุณคุณจะได้รับข้อผิดพลาดต่อไปนี้:
ข้อผิดพลาดในการคอมไพล์: ไม่ได้กำหนดชนิดที่ผู้ใช้กำหนดเอง
สิ่งนี้อาจเกิดขึ้นได้ในการเชื่อมต่อหรือวัตถุคำสั่ง

สาเหตุ


คุณอาจได้รับการอ้างอิงไลบรารีต่อไปนี้แทนไลบรารีชนิดของวัตถุข้อมูล ActiveX ของ Microsoft (ADODB):
  • ไลบรารีชนิดของวัตถุข้อมูล ActiveX ของ Microsoft (ADOR)
  • วัตถุข้อมูล Microsoft ActiveX (ADOMD) ไลบรารีชนิดแบบหลายมิติ ()

การแก้ไข


เอาการอ้างอิงไลบรารีชนิดที่ไม่ถูกต้องออกจากโครงการของคุณและเพิ่มการอ้างอิงไปยังไลบรารีชนิดที่ถูกต้อง

สถานะ


พฤติกรรมเช่นนี้เกิดจากการออกแบบ

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


ขั้นตอนในการทบทวนเกิดลักษณะการทำงาน

  1. สร้างโครงการใหม่และเพิ่มปุ่มคำสั่ง (Command1) ลงในฟอร์ม
  2. เพิ่มการอ้างอิงไปยังไลบรารีชุดระเบียนของวัตถุข้อมูล ActiveX ของ Microsoft
  3. เพิ่มโค้ดต่อไปนี้ลงในฟอร์ม:
       Private Sub Command1_Click()   Dim cn As ADODB.Connection   End Sub
  4. เรียกใช้โครงการแล้วคลิกปุ่มคำสั่ง ข้อผิดพลาดจะปรากฏขึ้น
  5. เอาการอ้างอิงออกและเพิ่มการอ้างอิงไปยังไลบรารีวัตถุข้อมูลของ Microsoft ActiveX
  6. คลิกปุ่มคำสั่ง ข้อผิดพลาดไม่ปรากฏขึ้น
หมายเหตุ:
  • ผู้ใช้ Microsoft Access จะต้องใช้ ADODB การเชื่อมต่อเพื่อหลีกเลี่ยงความสับสนกับวัตถุการเชื่อมต่อ DAO
  • ถ้ามีการเปิดใช้งานฟีเจอร์ Intellitype คุณควรสังเกตว่าจะไม่แสดงการเชื่อมต่อเป็นวัตถุที่ถูกต้องด้วยไลบรารีชนิด ADOR แต่จะมีไลบรารีชนิด ADODB นี่เป็นการบ่งชี้ที่ดีว่าคุณไม่มีไลบรารีชนิดที่ถูกต้องถูกอ้างอิง
  • ข้อผิดพลาดนี้อาจเกิดขึ้นได้เมื่อมีการอ้างอิงวัตถุในไลบรารีชนิดอื่นๆที่ไม่ได้อ้างอิงถึง