Access ไม่รู้จักคอลัมน์สถานะในตาราง SQL Server ที่ลิงก์

อัปเดตล่าสุด: 23 มกราคม 2020

ปัญหา

เมื่อสร้างลิงก์ไปยังตารางใน SQL Server ที่มีคอลัมน์สถานะ โดยปกติแล้ว Access จะระบุคอลัมน์นั้นเป็นคอลัมน์ AutoNumber

แสดงให้เห็นว่าคอลัมน์สถานะนั้นถูกระบุว่าเป็นเขตข้อมูล AutoNumber

ในรุ่นแชนเนลปัจจุบัน (16.0.12325.*) ของเวอร์ชัน 1912 ของ Office 365 และ Office 2016/2019 คอลัมน์ข้อมูลประจำตัวไม่ได้ถูกระบุอย่างถูกต้อง และจะถูกรับรู้ว่าเป็นตัวเลขเท่านั้น

คอลัมน์สถานะไม่ได้ระบุเป็น AutoNumber อย่างถูกต้อง

ซึ่งจะเกิดขึ้นเมื่อสร้างลิงก์ใหม่ผ่านส่วนติดต่อผู้ใช้หรือรหัสผ่าน แต่จะเกิดขึ้นเฉพาะกับลิงก์ใหม่เท่านั้น  ลิงก์ที่มีอยู่จะไม่ได้รับผลกระทบ เว้นแต่จะมีการรีเฟรชลิงก์

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

ตัวอย่างเช่น โดยปกติแล้วจะใช้คอลัมน์สถานะเพื่อระบุระเบียนที่เพิ่มใหม่  เมื่อไม่ได้ใช้คอลัมน์สถานะ Access อาจไม่สามารถค้นหาแถวที่เพิ่มใหม่ได้อย่างถูกต้อง ซึ่งจะทำให้เขตข้อมูลในแถวดังกล่าวแสดงเป็น #Deleted

แถวแสดงเขตข้อมูลที่บอกว่าถูกลบ

คุณอาจพบปัญหาคล้ายกันเมื่อใช้คุณสมบัติ RecordSet.LastModified เพื่อเรียกใช้ค่าสำหรับระเบียนที่เพิ่มล่าสุด รหัสต่อไปนี้:


Set rst = CurrentDb().OpenRecordset("tblWithIdentityColumn")

rst.AddNew
rst!CompanyName = "Contoso"
rst.Update

rst.Bookmark = rst.LastModified
MsgBox rst!CompanyName

อาจทำให้เกิดข้อผิดพลาด 3167:

ข้อผิดพลาดที่ระบุว่าระเบียนถูกลบ

ในทั้งสองกรณี ระเบียนจะถูกเพิ่นสำเร็จ แต่ Access จะไม่สามารถค้นหาระเบียนได้

โดยปกติแล้ว Access จะยังละเว้นความพยายามในการอัปเดตคอลัมน์สถานะโดยตรงด้วย อย่างไรก็ตาม ในรุ่นเหล่านี้จะอนุญาตความพยายามแต่ล้มเหลว และสร้างข้อความแสดงข้อผิดพลาด:

[SQL Server] ไม่สามารถแทรกค่าที่ชัดเจนสำหรับคอลัมน์สถานะในตาราง 'tblOrders' ได้เมื่อ IDENTITY_INSERT ถูกตั้งเป็น ปิด (#544)

สถานะ: แก้ไขแล้ว

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

ถ้าคุณกำลังใช้งาน Insider ที่อดใจรอได้ (เวอร์ชัน 2001) หรือ Insider ที่เร็วก่อนใคร (เวอร์ชัน 2002) การแก้ไขนี้ยังส่งไปไม่ถึงแชนเนลเหล่านั้น ดังนั้นคุณอาจต้องการย้ายไปยังแชนเนลปัจจุบัน

หมายเหตุ

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

Icon Experts (สมอง เฟือง) สอบถามผู้เชี่ยวชาญ

ติดต่อผู้เชี่ยวชาญ พูดคุยเกี่ยวกับข่าวสาร การอัปเดต และแนวทางปฏิบัติล่าสุด รวมทั้งอ่านบล็อกของเรา

Microsoft Tech Community

ไอคอนชุมชน รับความช่วยเหลือในชุมชน

ถามคำถามและดูการแก้ไขปัญหาจากฝ่ายสนับสนุน MVP วิศวกร และผู้ใช้ Office อื่นๆ

ฟอรั่ม Office บนคําตอบ

คําขอฟีเจอร์ไอคอน (หลอดไฟ แนวคิด) แนะนําฟีเจอร์ใหม่

เราชอบอ่านคำแนะนำและคำติชมของคุณ! แบ่งปันความคิดเห็นของคุณ เรายินดีรับฟัง

ให้คำติชม

ดูเพิ่มเติม

การแก้ปัญหาหรือวิธีแก้ปัญหาแบบเฉพาะหน้าสำหรับปัญหาล่าสุดใน Access