ใส่ข้อมูลแล้วขึ้น Run-time error 3326 This Recordset is not updateable ครับ


0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

14 มี.ค. 68 , 14:20:11
อ่าน 688 ครั้ง

pattan0013

สวัสดีครับ เรื่องคือก่อนหน้านี้สามารถใส่ข้อมูลได้ทุกช่องเลยครับ แต่อยู่ๆก็ขึ้นว่า This Recordset is not updateable และบางช่องใน Subform ก็ขึ้น Field is read-only และกดปุ่ม SAVE ก็ขึ้น Run-time error 3326 พอกด debug ก็ขึ้นตามรูปครับ ส่วน code เพื่อบันทึกค่าครับ ผมแนบไฟล์มาให้ด้วยรบกวนช่วยเหลือหน่อยครับ ขอบคุณครับ




 

14 มี.ค. 68 , 22:12:29
ตอบกลับ #1

OddyWriter

สาเหตุเกิดคุณกำหนด Record Source ของฟอร์มด้วย Query ประเภทที่ไม่สามารถ Update ข้อมูลได้
คือ Query มีทั้งแบบที่ Update ข้อมูลได้และไม่ได้

วิธีทดสอบคือเปิดคิวรีในมุมมองตารางแล้วลองแก้ข้อมูลดู ถ้าแก้ได้ก็ Update จากฟอร์มได้
วิธีแก้ไขคือเปลี่ยนคิวรีให้เป็นแบบที่แก้ไขได้ ทำง่ายๆ คือยกเลิกการ Join ข้อมูล แล้วใช้ Sub form/Main form ในการป้อนข้อมูล

วิธียากๆ คือย่อยตารางตามวิธีการ Normal Form จนถึง NF3

ข้อสังเกต
เห็นว่าบางออบเจ็กต์คุณใช้ชื่อที่มีเว้นวรรค ซึ่งจะส่งผลในระดับการเขียนโค้ด ดังนั้นแนะนำให้แก้ไขครับ
เห็นอยู่ตรง Drop Point Chg, Over Night Chg เหนือ Remark


รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

18 มี.ค. 68 , 09:12:52
ตอบกลับ #2

pattan0013

ขอบคุณสำหรับคำแนะนำครับ เดี๋ยวผมลองดูครับ

 

20 มี.ค. 68 , 13:12:32
ตอบกลับ #3

pattan0013

ยังแก้ไขไม่ได้ครับ ผมสงสัยก่อนหน้านี้ใช้งานได้ครับ ใส่ข้อมูลอะไรได้หมดเลย อยู่ๆก็ไม่ได้อย่างที่ว่าครับ พอจะมีสาเหตุอื่นไหมครับ??

 

20 มี.ค. 68 , 16:25:07
ตอบกลับ #4

pattan0013

สวัสดีครับ เจอสาเหตุแล้วครับ พบว่า relation ไม่ได้ติ๊ก Enforce Referential Integrity ทำให้ relation type เป็น Indeterminate และพบว่าที่เป็นเพราะมีการแก้ไข Index เป็น Duplicate OK ทำให้มีข้อมูลที่ไม่ควรซ้ำมาซ้ำกันครับ ตอนนี้แก้ปัญหาได้แล้วครับ

 


บอร์ดเรียนรู้ Access สำหรับคนไทย


 

Sitemap 1 2 3 4 5