ปิดการใช้งานข้อ จำกัด ของคีย์ต่างประเทศใน MSAccess

ในระหว่างการถ่ายโอนข้อมูล ฉันต้องการปิด/เปิดใช้งาน

  • กุญแจต่างประเทศทั้งหมดบนโต๊ะ

  • คีย์ต่างประเทศทั้งหมดในทุกตาราง

ผ่านการสืบค้นใน MSAccess ฉันจะเรียกแบบสอบถามจากโมดูล C # จะมีการแทรกจำนวนมาก


person faheem khan    schedule 14.03.2013    source แหล่งที่มา
comment
ผ่านการสืบค้นหรือระหว่างการสืบค้น เช่น ระหว่างการแทรก/อัปเดตตามที่อธิบายไว้ที่นี่: office.microsoft.com/en-gb/access-help/   -  person D.R.    schedule 14.03.2013
comment
@ดร. ฉันได้อัปเดตคำถามแล้ว ฉันจะเรียกคำสั่งปิดการใช้งาน/เปิดใช้งานคีย์ต่างประเทศ/เช็ค ฯลฯ ผ่านทางโปรเจ็กต์ C# ดังนั้นต้องการดำเนินการในลิงก์ผ่านการสืบค้นไม่ใช่ GUI   -  person faheem khan    schedule 14.03.2013
comment
ฉันไม่คิดว่าจะเป็นไปได้ใน Access (ลิงก์นั้นระบุว่าใช้สำหรับไฟล์ ADP เท่านั้น) และโดยเฉพาะอย่างยิ่งไม่ใช่กับแบบสอบถาม อาจเป็นไปได้ผ่าน VBA ซึ่งคุณสามารถจัดเก็บความสัมพันธ์ชั่วคราว จากนั้นลบออก แทรกจำนวนมาก และเพิ่มใหม่ในภายหลัง (ตัวอย่างโค้ดสำหรับการเข้าถึง/ลบความสัมพันธ์: allenbrowne.com/DelRel.html) แต่จะไม่จัดการกับข้อเท็จจริงที่ว่าข้อมูลบางอย่างที่คุณเพิ่มอาจละเมิด ความสัมพันธ์ดังนั้นควรระวังให้มาก   -  person RichardC    schedule 14.03.2013


คำตอบ (1)


คุณสามารถลบความสัมพันธ์ของคุณออกจาก MSysRelationships ทำสิ่งต่างๆ ของคุณ ตรวจสอบให้แน่ใจว่าทั้งหมดถูกต้อง จากนั้นสร้างบันทึกใหม่ใน MSysRelationships

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

person Brad    schedule 14.03.2013
comment
ขอบคุณ แม้ว่าฉันจะไม่ชอบวิธีแก้ปัญหานี้ แต่ฉันไม่พบวิธีอื่นเลย และฉันก็พยายามข้ามขั้นตอนนี้ไป - person faheem khan; 15.03.2013