การลบข้อมูลใน Query โดยการเขียน code VB
กระทู้เก่าบอร์ด อ.Yeadram

 1,143   5
URL.หัวข้อ / URL
การลบข้อมูลใน Query โดยการเขียน code VB

เรียน อาจารย์ทุกท่าน
ไม่ทราบว่าเราสามารถเขียน Code VB ในการลบข้อมูล ใน Query ได้ไหมครับ
ผมใช้ Code ข้างล่างนี้ ลบในลบ แต่ไม่สามารถลบได้ครับ ต้องเขียน Code อย่างไรครับ

CurrentProject.Connection.Execute "delete from [Query1]"


5 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R21343
DoCmd.OpenQuery "Query1"
2 @R21344
แก้ไขครับ เปลี่ยนเป็น
DoCmd.RunSQL "delete * from Query1"

หรือ
currentdb.Execute "delete * from Query1"
3 @R21345
ยังลบไม่ได้ครับ โปรแกรมฟ้องว่า
run-time error '3086': ครับ

Dim Answer As Integer
            Answer = MsgBox("คุณแน่ใจเหรอว่าต้องการลบข้อมูลทั้งหมด" & vbCrLf & "กด yes = ยืนยันการลบ" & vbCrLf & "กด No = ยกเลิกการลบ", vbYesNo, "!!!!อันตรายถ้าไม่เชี่ยวชาญ!!!!")
            If Answer = vbYes Then           
            MsgBox "คุณได้ลบข้อมูลทั้งหมดแล้ว" & vbCrLf & "ไม่สามารถเรียกกลับคืนมาได้อีก", , "ลบข้อมูล"
            DoCmd.RunSQL "delete * from Query1"
            'CurrentDb.Execute "delete * from Query1" 'อันนี้ก็ลองแล้วครับ
            Else
            MsgBox "คุณได้ยกเลิกการลบข้อมูลนักเรียนแล้ว", , "ยกเลิก"
            End If
4 @R21346
ถ้าคิวรี่ของคุณแสดงผลลัพธ์มาจากหลายเทเบิล และ/หรือ มีการกำหนด Referential Integrity ที่เมื่อทำการลบแล้วจะแหกกฏที่ตั้งเอาไว้ ก็จะทำให้ลบไม่ได้ครับ ง่ายๆคือเปิด Query1 แล้วลบด้วยมือเองเลย ถ้าลบไม่ได้ การเขียนโค้ดก็ลบไม่ได้เหมือนกันครับ ต้องไปแก้ Query1 ให้ไม่แหกกฎที่ว่าไว้ครับ
5 @R21348
ขอบคุณมากครับอาจารย์ สรุปคิวรี่ของผมที่แสดงผลลัพธ์มันมาจากหลายเทเบิลครับ งั้นผมคงต้องไปลบด้วยมือครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2583s