ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

อาการ

เมื่อต้องการเปิดฐานข้อมูลที่สร้าง ด้วย Access 2000 ถึงคลา MFC DAO ใน Visual C++ คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

รูปแบบฐานข้อมูลที่ไม่รู้จัก

คุณได้รับข้อความนี้เมื่อคุณพยายามสร้างฐานข้อมูลใหม่ MFC DAO SDI หรือ MDI โครงการที่ใช้ MFC AppWizard

สาเหตุ

ข้อความแสดงข้อผิดพลาดนี้เกิดขึ้นเนื่องจาก MFC DAO คลาสระที่มาพร้อมกับการโหลด 6.0 Visual C++ DAO 3.5 (Dao350.dll) โดยค่าเริ่มต้น DAO 3.5 ใช้ Jet 3.5 ซึ่งสามารถเปิดรูปแบบ Jet 3.5 (หรือเก่ากว่า) ฐานข้อมูล Access 2000 สร้างแฟ้มฐานข้อมูล ซึ่งเป็นที่รู้จักกับ Jet 3.5 Jet 4.0 รูป เมื่อต้องการเปิดฐานข้อมูล Access 2000 การใช้คลาสที่ MFC DAO เสร็จเรียบร้อยแล้ว คุณจำเป็นต้องใช้ DAO 3.6 (Dao360.dll) DAO 3.6 ใช้ Jet 4.0 ซึ่งสามารถเปิดในรูปแบบฐานข้อมูล Access ใด ๆ พร้อมใช้งาน

การแก้ปัญหา

ขณะนี้ จะไม่มีวิธีแก้ปัญหาโดยใช้ AppWizard ที่มีแหล่งข้อมูลใน Access 2000

สำหรับโปรแกรมประยุกต์ของคุณเพื่อใช้รุ่น 3.6 DAO คุณต้องปรับปรุงรุ่น MFC ในขณะทำการ MFC รุ่น 6.01 เมื่อต้องการทำเช่นนี้ขึ้นอยู่กับว่าคุณกำลังสร้างแอพลิเคชัน เพื่อใช้ MFC DLL หรือสร้างกับไลบรารีแบบสแตติกสำหรับ MFC

ถ้าคุณกำลังเชื่อมโยงกับ MFC DLL คุณสามารถระบุว่า คุณต้องการให้ MFC เพื่อใช้ DAO 3.6 ด้วยการแทรกบรรทัดของรหัสต่อไปนี้ก่อนที่คุณเปิดฐานข้อมูล Access 2000:

AfxGetModuleState()->m_dwVersion = 0x0601;

แทรกบรรทัดนี้ในฟังก์ชัน CYourApp::Initinstance() ของโปรแกรมของคุณ ถ้าคุณกำลังสร้างกับไลบรารี MFC คง ต่อไปนี้เป็นขั้นตอนเพื่อรับคงสร้างของ MFC เพื่อใช้ DAO 3.6:

  1. ปรับเปลี่ยนแฟ้ม Daocore.cpp ในไดเรกทอรี MFC SRC คุณจะได้รับข้อคิดเห็นต่อไปนี้:

    // Determine whether to use DAO 3.6, 3.5, or 3.0
    // Use DAO 3.0 if DLL build and not built with MFC 4.21 or later
    // Use DAO 3.6 if MFC 6.01 or later
    // otherwise, DAO 3.5

    เพิ่มบรรทัดต่อไปนี้:

    #undef _MFC_VER
    #define _MFC_VER 0x0601
  2. สร้างไลบรารีสำหรับตัวแปรที่คุณต้องการ ตัวอย่างเช่น สร้างแบบสแตติก MFC ไลบรารี เวอร์ชันการตรวจแก้จุดบกพร่อง ที่ไม่สนับสนุน Unicode กับแฟ้มไม่มีเบราว์เซอร์ใช้คำสั่งต่อไปนี้ที่พร้อมท์คำสั่งในโฟลเดอร์ MFC\SRC:

      nmake DEBUG=1

    for release:
    nmake DEBUG=0

    for unicode builds:
    nmake DEBUG=1 UNICODE=1
    nmake DEBUG=0 UNICODE=1

หมายเหตุ คุณต้องให้แน่ใจว่าที่เครื่องมือคอมไพเลอร์อยู่ในเส้นทางของคุณ ถ้า ไม่มี คุณอาจต้องเรียกใช้แฟ้ม Vcvars32.bat อยู่ในโฟลเดอร์ \BIN Visual C++ นอกจากนี้ ให้สังเกตว่า เมื่อคุณสร้างไลบรารีรุ่นใหม่เหล่านี้ เหล่านั้นจะถูกคัดลอกไปที่ด้านบนสุดของอยู่ในโฟลเดอร์ MFC\LIB ดังนั้นคุณอาจต้องเลือกบันทึกเก่าก่อน

สถานะ

ลักษณะการทำงานนี้เกิดจากการออกแบบ

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพภาษาเพียงใด
สิ่งที่ส่งผลต่อประสบการณ์ใช้งานของคุณ
เมื่อกดส่ง คำติชมของคุณจะถูกใช้เพื่อปรับปรุงผลิตภัณฑ์และบริการของ Microsoft ผู้ดูแลระบบ IT ของคุณจะสามารถรวบรวมข้อมูลนี้ได้ นโยบายความเป็นส่วนตัว

ขอบคุณสำหรับคำติชมของคุณ!

×