ขขอวิธีลบข้อมูลทั้งหมดเมื่อจบงานแล้วหน่อยครับ



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

27 ก.พ. 63 , 20:32:48
อ่าน 259 ครั้ง
คือผมต้องการวิธีเคลียข้อมูลครับ

1.แบบเลือกให้ลบข้อมูลในเรคคอทที่ต้องการได้
2.แบบที่พอจบงานแล้วเคลียเรคคอททั้งหมด
3.มีวธีทำให้คิวรีแบบอัปเดททำงานพร้อมกันหมดไหมครับ แบบ ไม่ต้องมากดอัทเดททีล่ะกัน แต่ให้กดทีเดียว ทำงานทุกอันอะครับ
พอจะมีวิธีใหมครับ

ขอบคุณมากครับ


 

28 ก.พ. 63 , 07:59:58
ตอบกลับ #1

PNR

ตัว Control เป็น Unbound หรือ Bound ครับ

อ้างถึง
แบบที่พอจบงานแล้วเคลียคอนโทรลทั้งหมด
เคลียทีเดียวหมด ใช้แบบนี้ดูครับ
ใช้กับ Control ที่ Unbound

โค๊ด: [Select]
Sub ResetForm()   
    On Error GoTo Err_Err
    Dim ctl As Control           
    For Each ctl In Me
        If ctl.ControlType = acComboBox Then  'ถ้าเป็นCombobox ทำให้ว่าง
                ctl = Null       
        End If
        If ctl.ControlType = acTextBox Then   'ถ้าเป็น textbox ทำให้ว่าง
                ctl = Null
        End If
        If ctl.ControlType = acCheckBox Then  'ถ้าเป็น Checkbox ทำให้แสดงเป็น False คือไม่ได้ติ๊กเลือก
                ctl = False
        End If
          Next ctl
Exit_err:
        Exit Sub
Err_Err:
        MsgBox Error$
        MsgBox ("ผิดพลาดตรง Reset Form")
        Resume Exit_err
End Sub

เวลาจะเรียกใช้ ที่ปุ่มเซฟ เมื่อเซฟเสร็จแล้ว
ก็ต่อคำสั่งด้วย
Call ResetForm

อ้างถึง
มีวธีทำให้คิวรีแบบอัปเดททำงานพร้อมกันหมดไหมครับ แบบ ไม่ต้องมากดอัทเดททีล่ะกัน แต่ให้กดทีเดียว ทำงานทุกอันอะครับ
พอจะมีวิธีใหมครับ
สั่งทำงานทีเดียวได้เลยเช่น
DoCmd.SetWarnings False  'ปิดระบบสอบถาม
DoCmd.OpenQuery "Query1"
DoCmd.OpenQuery "Query2"
DoCmd.OpenQuery "Query3"
DoCmd.SetWarnings True  'เมื่อเรียกใช้คิวรี่ทั้ง 3 เสร็จ ก็ให้เปิดระบบสอบถามปกติ

อ้างถึง
แบบที่พอจบงานแล้วเคลียเรคคอททั้งหมด
เคลียเรคคอร์ดทั้งหมด ในตารางใช่หรือไม่ถ้าใช่สามารถใช้คำสั่ง Sql ลบได้เช่น

Dim db As Database
Set db = CurrentDb
db.Execute "DELETE ชื่อตาราง.* FROM ชื่อตาราง;"

อ้างถึง
แบบเลือกให้ลบข้อมูลในเรคคอทที่ต้องการได้

เราสามารถใช้คำสั่งแบบข้างบน โดยกำหนดลบจาก ID เช่น

    Dim strSQL as string
    DoCmd.SetWarnings False
    strSQL = "Delete * From [student] WHERE [Student ID]='007'"
    DoCmd.RunSQL strSQL
    DoCmd.SetWarnings True

คำสั่งนี้ก็จะลบเรคคอร์ดจากตาราง Student โดยจะลบเรคคอร์ดที่ Student ID = 007 ออกไป
« แก้ไขครั้งสุดท้าย: 28 ก.พ. 63 , 08:36:55 โดย PNR »
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 
โพสต์นี้ได้รับคำขอบคุณจาก: ชุติพนธ์ มหาทรัพย์


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