ตัว Control เป็น Unbound หรือ Bound ครับ
แบบที่พอจบงานแล้วเคลียคอนโทรลทั้งหมด
เคลียทีเดียวหมด ใช้แบบนี้ดูครับ
ใช้กับ Control ที่ Unbound
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 ออกไป