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