กระทู้เก่าบอร์ด อ.Yeadram
897 4
URL.หัวข้อ /
URL
ปุ่ม delete มีปัญหาค่ะ
คือ ปุ่ม Delete ใน Form ไม่สามารถลบ record นั้นๆได้ค่ะไม่ทราบว่าเกิดจากอะไร โดย Form นั้นเป็น Unbound ทั้งหมดค่ะ โดยการที่ข้อมูลเข้ามาได้โดย หนูใส่ปุ่ม Search ไว้โดยการเขียน โค้ดให้ข้อมูลมาลงตาม ช่อง Unbound ที่เขียนโค้ดไว้ค่ะ ไม่ทราบว่ามีวิธีแก้ยังไงบ้างคะ
โดยมันขึ้นมาแบบนี้ ค่ะ The Command or action 'DeleteRecord' isn't available now.
โดยมันขึ้นมาแบบนี้ ค่ะ The Command or action 'DeleteRecord' isn't available now.
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R23262
ปุ่ม delete ที่ Access มีมาให้ ต้องใช้กับ Bound Form เท่านั้นครับ เพราะเมื่อเป็น Unbound Form แล้ว Access มันไม่รู้ว่าจะไปลบจากไหน มันไม่มีข้อมูลอะไรเชื่อมโยงไปยังแหล่งข้อมูล ดังนั้นสิ่งที่ทำได้ก็คือ สร้างให้เป็น Bound Form หรือไม่ก็สร้างปุ่ม command button เอง แล้วเขียน SQL DELETE statement เพื่อลบเอง คำสั่งก็จะเป็น CurrentDB.Execute "DELETE * from ... where ....." หรือ DoCmd.RunSQL "DELETE * from ... where ....." ก็ได้ครับ เมื่อลบแล้ว ก็มาลบข้อมูลบนหน้าจอต่อไปด้วย
2 @R23263
เปลี่ยนจากคำว่า "ปุ่ม delete" เป็น "คุณสมบัติการ delete" แล้วกัน
3 @R23271
where นี่ต้องใส่ทุก field ไหมคะ หรือว่า ใส่ แค่primary key
ตรง where พอหนูใส่แค่ primary แล้ว มันขึ้น ว่า
Run-time error '3075':
Syntax error in string query expression 'IdenID=".
ตรง where พอหนูใส่แค่ primary แล้ว มันขึ้น ว่า
Run-time error '3075':
Syntax error in string query expression 'IdenID=".
4 @R23272
ใส่เพาะ primary key พอครับ คำสั่งจะเป็น
"DELETE * from ... where idenID = 'ค่า' "
แต่ถ้าค่ามาจากตัวแปรหรือคอนโทรลบนฟอร์ม คำสั่งก็จะมีลักษณะเป็น
"DELETE * from ... where idenID = '" + ชื่อตัวแปร/คอนโทรล + "' "
(สังเกตดีๆ ต้องมี single quote 2 จุด ในแต่ละคำสั่ง)
"DELETE * from ... where idenID = 'ค่า' "
แต่ถ้าค่ามาจากตัวแปรหรือคอนโทรลบนฟอร์ม คำสั่งก็จะมีลักษณะเป็น
"DELETE * from ... where idenID = '" + ชื่อตัวแปร/คอนโทรล + "' "
(สังเกตดีๆ ต้องมี single quote 2 จุด ในแต่ละคำสั่ง)
Time: 0.3463s