การดําเนินการเดียว เช่น การย้ายจาก ตัวควบคุม หนึ่งไปยังอีกตัวควบคุมหนึ่ง สามารถทริกเกอร์เหตุการณ์ที่แตกต่างกันหลายเหตุการณ์ ซึ่งเกิดขึ้นในลําดับเฉพาะ การรู้ว่าเหตุการณ์เกิดขึ้นเมื่อใดและเหตุการณ์เหล่านั้นเกิดขึ้นตามลําดับใดมีความสําคัญ เนื่องจากอาจส่งผลต่อวิธีการและเวลาที่แมโครหรือกระบวนงานเหตุการณ์ของคุณทํางาน ตัวอย่างเช่น ถ้ามีกระบวนงานเหตุการณ์สองกระบวนงานที่จะเรียกใช้ในลําดับที่แน่นอน
ในบทความนี้
ลำดับเหตุการณ์สำหรับตัวควบคุมบนฟอร์ม
เหตุการณ์ที่เกิดขึ้นสำหรับตัวควบคุมบนฟอร์มเมื่อคุณย้าย โฟกัส ไปยังตัวควบคุม และเมื่อคุณเปลี่ยนและอัปเดตข้อมูลในตัวควบคุม
หมายเหตุ: Microsoft Office Access จะแสดงชื่อเหตุการณ์แตกต่างกันเล็กน้อยในตัวแก้ไข Visual Basic มากกว่าชื่อเหตุการณ์ในแผ่นคุณสมบัติและตัวสร้างแมโคร ตัวอย่างเช่น เหตุการณ์ที่ชื่อ On Got Focus ในแผ่นคุณสมบัติของฟอร์มและในตัวสร้างแมโครจะมีชื่อว่า GotFocus ในตัวแก้ไข Visual Basic ตัวอย่างในบทความนี้ใช้รูปแบบ Visual Basic for Applications (VBA) สําหรับชื่อเหตุการณ์
การย้ายโฟกัสไปยังตัวควบคุม
เมื่อคุณย้ายโฟกัสไปยังตัวควบคุมคนฟอร์ม (เช่น โดยการเปิดฟอร์มที่มีอย่างน้อยหนึ่งตัวควบคุมที่ใช้งานอยู่ หรือการย้ายโฟกัสไปยังอีกตัวควบคุมหนึ่งบนฟอร์มเดียวกัน) เหตุการณ์ Enter และ GotFocus จะเกิดขึ้นในลำดับต่อไปนี้:
ใส่ GotFocus
เมื่อคุณเปิดฟอร์ม เหตุการณ์ Enter และ GotFocus จะเกิดขึ้นหลังจากเหตุการที่เกี่ยวข้องกับการเปิดฟอร์ม (เช่น Open, Activate และ Current) ตามลำดับ
Open (ฟอร์ม) Activate (ฟอร์ม) Current (ฟอร์ม) Enter (ตัวควบคุม) GotFocus (ตัวควบคุม)
เมื่อโฟกัสออกจากตัวควบคุมบนฟอร์ม (เช่น เมื่อคุณปิดฟอร์มที่มีอย่างน้อยหนึ่งตัวควบคุมที่ใช้งานอยู่ หรือเมื่อคุณย้ายไปยังอีกตัวควบคุมหนึ่งบนฟอร์มเดียวกัน) เหตุการณ์ Exit และ LostFocus จะเกิดขึ้นตามลำดับนี้
ออกจาก LostFocus
เมื่อคุณปิดฟอร์ม เหตุการณ์ Exit และ LostFocus จะเกิดก่อนเหตุการณ์ที่เกี่ยวข้องกับการปิดฟอร์ม (เช่น Unload, Deactivate และ Close) ตามต่อไปนี้:
Exit (ตัวควบคุม) LostFocus (ตัวควบคุม) Unload (ฟอร์ม) Deactivate (ฟอร์ม) Close (ฟอร์ม)
การเปลี่ยนและการอัปโหลดข้อมูลในตัวควบคุม
เมื่อคุณใส่หรือเปลี่ยนข้อมูลในตัวควบคุมบนฟอร์ม จากนั้นย้ายโฟกัสไปยังตัวควบคุมอื่น จะทำให้เกิดเหตุการณ์ BeforeUpdate และ AfterUpdate
BeforeUpdate Afte rUpdate
เหตุการณ์ Exit และ LostFocus สำหรับตัวควบคุมที่มีการเปลี่ยนค่าจะเกิดขึ้นหลังจากเหตุการณ์ BeforeUpdate และ AfterUpdate
BeforeUpdate AfterUpdate Exit LostFocus
เมื่อคุณเปลี่ยนข้อความในกล่องข้อความหรือในส่วนกล่องข้อความของกล่องคําสั่งผสม เหตุการณ์ เปลี่ยนแปลง จะเกิดขึ้น เหตุการณ์นี้จะเกิดขึ้นเมื่อใดก็ตามที่เนื้อหาของตัวควบคุมเปลี่ยนแปลง แต่ก่อนที่คุณจะย้ายโฟกัสไปยังตัวควบคุมหรือระเบียนอื่น (ดังนั้น ก่อนที่เหตุการณ์ BeforeUpdate และ AfterUpdate จะเกิดขึ้น) ลําดับเหตุการณ์ต่อไปนี้จะเกิดขึ้นสําหรับแต่ละแป้นที่คุณกดในกล่องข้อความหรือในส่วนกล่องข้อความของกล่องคําสั่งผสม:
KeyDown KeyPress Dirty Change KeyUp
เหตุการณ์ NotInList จะเกิดขึ้นหลังจากที่คุณใส่ค่าในกล่องคําสั่งผสมที่ไม่พบในรายการกล่องคําสั่งผสม แล้วพยายามย้ายโฟกัสไปยังตัวควบคุมหรือระเบียนอื่น เหตุการณ์ NotInList จะเกิดขึ้นหลังจากเหตุการณ์คีย์บอร์ดและเหตุการณ์ Change สําหรับกล่องคําสั่งผสม แต่จะเกิดขึ้นก่อนเหตุการณ์สําหรับตัวควบคุมหรือฟอร์มอื่น ถ้าคุณสมบัติ LimitToList ของกล่องคําสั่งผสมถูกตั้งค่าเป็น Yเหตุการณ์ข้อผิดพลาด สําหรับฟอร์มจะเกิดขึ้นทันทีหลังจากเหตุการณ์ NotInList :
KeyDown KeyPress Dirty Change KeyUp ข้อผิดพลาด 0 NotInList
ลำดับเหตุการณ์สำหรับระเบียนบนฟอร์ม
เหตุการณ์ที่เกิดขึ้นสำหรับระเบียนบนฟอร์มเมื่อคุณย้าย โฟกัส ไปยังระเบียนอื่น อัปเดตข้อมูลในระเบียน ลบระเบียนที่มีอยู่ หรือสร้างระเบียนใหม่
การย้ายโฟกัสไปยังระเบียนและการอัปเดตข้อมูลในระเบียน
เมื่อคุณย้ายโฟกัสไปยังระเบียนที่มีอยู่บนฟอร์ม ให้ใส่หรือเปลี่ยนข้อมูลในระเบียน จากนั้นย้ายโฟกัสไปยังระเบียนอื่น ลำดับเหตุการณ์สำหรับฟอร์มจะเป็นดังต่อไปนี้:
Current (ฟอร์ม) BeforeUpdate (ฟอร์ม) AfterUpdate (ฟอร์ม) Current (ฟอร์ม)
เมื่อคุณออกจากระเบียนที่มีข้อมูลเปลี่ยนแปลง แต่ก่อนที่คุณจะใส่ระเบียนถัดไป เหตุการณ์ Exit และ LostFocus จะเกิดขึ้นสําหรับตัวควบคุมที่มีโฟกัส เหตุการณ์เหล่านี้เกิดขึ้นหลังจากเหตุการณ์ BeforeUpdate และ AfterUpdate สําหรับฟอร์ม ดังนี้:
BeforeUpdate (ฟอร์ม) AfterUpdate (ฟอร์ม) Exit (ตัวควบคุม) LostFocus (ตัวควบคุม) Current (ฟอร์ม)
เมื่อคุณย้ายโฟกัสระหว่างตัวควบคุมบนฟอร์ม เหตุการณ์จะเกิดขึ้นสําหรับแต่ละตัวควบคุม ตัวอย่างเช่น ลําดับเหตุการณ์ต่อไปนี้จะเกิดขึ้นเมื่อคุณทําดังต่อไปนี้:
-
เปิดฟอร์มแล้วเปลี่ยนแปลงข้อมูลในตัวควบคุม
Current (ฟอร์ม) Enter (ตัวควบคุม) GotFocus (ตัวควบคุม) BeforeUpdate (ตัวควบคุม) AfterUpdate (ตัวควบคุม)
-
ย้ายโฟกัสไปยังตัวควบคุมอื่น:
Exit (ตัวควบคุม 1) LostFocus (ตัวควบคุม 1) Enter (ตัวควบคุม 2) GotFocus (ตัวควบคุม 2)
-
ย้ายโฟกัสไปยังระเบียนอื่น:
BeforeUpdate (ฟอร์ม) AfterUpdate (ฟอร์ม) Exit (ตัวควบคุม 2) LostFocus (ตัวควบคุม 2) Current (ฟอร์ม)
ระเบียนการลบ
เมื่อคุณลบระเบียน เหตุการณ์ต่อไปนี้สำหรับฟอร์มจะเกิดขึ้น และ Microsift Office Access จะแสดงกล่องโต้ตอบเพื่อขอให้คุณยืนยันการลบ:
ลบ BeforeDelConfirm AfterDelConfirm
ถ้าคุณยกเลิกเหตุการณ์ Delete เหตุการณ์ BeforeDelConfirm และ AfterDelConfirm จะไม่เกิดขึ้น และกล่องโต้ตอบจะไม่ปรากฏ
สร้างระเบียนใหม่
เมื่อคุณย้ายโฟกัสไปยังระเบียนใหม่ (เปล่า) บนฟอร์ม จากนั้นสร้างระเบียนใหม่โดยการพิมพ์ข้อมูลในตัวควบคุม ลำดับเหตุการณ์ต่อไปนี้จะเกิดขึ้น:
Current (ฟอร์ม) Enter (ตัวควบคุม) GotFocus (ตัวควบคุม) BeforeInsert (ฟอร์ม) AfterInsert (ฟอร์ม)
เหตุการณ์ BeforeInsert (ฟอร์ม) จะทริกเกอร์ทันทีที่คุณเริ่มพิมพ์ในตัวควบคุม เหตุการณ์ AfterInsert (ฟอร์ม) จะทริกเกอร์หลังจากที่คุณออกจากระเบียน
เหตุการณ์ BeforeUpdate และ AfterUpdate สำหรับตัวควบคุมบนฟอร์มและระเบียนใหม่จะเกิดขึ้นหลังจากเหตุการณ์ BeforeInsert และก่อนเหตุการณ์ AfterInsert
ลำดับของเหตุการณ์สำหรับฟอร์มและฟอร์มย่อย
เหตุการณ์ที่เกิดขึ้นสำหรับฟอร์มเมื่อคุณเปิดหรือปิดฟอร์ม ย้ายไปมาระหว่างฟอร์ม หรือทำงานกับข้อมูลบนฟอร์มหรือฟอร์มย่อย
การเปิดและปิดฟอร์ม
เมื่อคุณเปิดฟอร์ม ลำดับเหตุการณ์ต่อไปนี้จะเกิดขึ้นสำหรับฟอร์ม
เปิดโหลด #x2 ปรับขนาด เปิดใช้งาน ปัจจุบัน
ถ้าไม่ได้เปิดใช้งานตัวควบคุมบนฟอร์ม เหตุการณ์ GotFocus จะเกิดขึ้นฟลังจากเหตุการณ์ เปิดใช้งาน ก่อนเหตุการณ์ ล่าสุด สำหรับฟอร์ม
เมื่อคุณปิดฟอร์ม เหตุการณ์ต่อไปนี้จะเกิดขึ้นสำหรับฟอร์ม:
ยกเลิกการโหลด ปิดใช้งาน ปิด
ถ้าไม่มีตัวควบคุมที่เปิดใช้งานอยู่บนฟอร์ม เหตุการณ์ LostFocus จำเกิดขึ้นสำหรับฟอร์มหลังจากเหตุการณ์ Unload แต่จะเกิดก่อนเหตุการณ์ Deactivate
การย้ายไปมาระหว่างฟอร์ม
เมื่อคุณสลับไปมาระหว่างฟอร์มสองฟอร์ม เหตุการณ์ Deactivate จะเกิดขึ้นสำหรับฟอร์มแรก และเหตุการณ์ Activate จะเกิดขึ้นสำหรับฟอร์มที่สอง:
Deactivate (ฟอร์ม 1) Activate (ฟอร์ม 2)
เหตุการณ์ Deactivate สําหรับฟอร์มยังเกิดขึ้นเมื่อคุณสลับจากฟอร์มไปยังแท็บวัตถุอื่นใน Access อย่างไรก็ตาม เหตุการณ์ Deactivate จะไม่เกิดขึ้นเมื่อคุณสลับไปยังกล่องโต้ตอบ เป็นฟอร์มที่ คุณสมบัติ PopUp ถูกตั้งค่าเป็น ใช่ หรือเป็นหน้าต่างในโปรแกรมอื่น
หมายเหตุ: เหตุการณ์ Open จะไม่เกิดขึ้นถ้าคุณย้ายโฟกัสไปยังฟอร์มที่เปิดอยู่แล้ว แม้ว่าคุณจะย้ายโฟกัสไปยังฟอร์มดังกล่าวโดยการทำ OpenForm
การทำงานกับข้อมูลบนฟอร์ม
เหตุการณ์ของฟอร์มและตัวควบคุมจะเกิดขึ้นเมื่อคุณย้ายระหว่างระเบียนในฟอร์มและเปลี่ยนแปลงข้อมูล ตัวอย่างเช่น เมื่อคุณเปิดฟอร์มเป็นครั้งแรก ลําดับเหตุการณ์ต่อไปนี้จะเกิดขึ้น:
Open (ฟอร์ม) Load (ฟอร์ม) Resize (ฟอร์ม) Activate (ฟอร์ม) Current (ฟอร์ม) Enter (ตัวควบคุม)0 GotFocus (ตัวควบคุม)
ซึ่งคล้ายกับเมื่อคุณปิดฟอร์ม เหตุการณ์ต่อไปนี้จะเกิดขึ้น:
Exit (ตัวควบคุม) LostFocus (ตัวควบคุม) Unload (ฟอร์ม) Deactivate (ฟอร์ม) Close (ฟอร์ม)
ถ้าคุณเปลี่ยนข้อมูลในตัวควบคุม เหตุการณ์ BeforeUpdate และ AfterUpdate สำหรับทั้งตัวควบคุมและฟอร์มจะเกิดขึ้นก่อนเหตุการณ์ Exit สำหรับตัวควบคุม
การทำงานกับฟอร์มย่อย
เมื่อคุณเปิดฟอร์มที่มีฟอร์มย่อย ฟอร์มย่อยและระเบียนของฟอร์มย่อยจะถูกโหลดก่อนฟอร์มหลัก ดังนั้น เหตุการณ์สําหรับฟอร์มย่อยและตัวควบคุม (เช่น เปิด, ปัจจุบัน, Enter และ GotFocus) จะเกิดขึ้นก่อนเหตุการณ์สําหรับฟอร์ม อย่างไรก็ตาม เหตุการณ์ Activate จะไม่เกิดขึ้นสําหรับฟอร์มย่อย ดังนั้น การเปิดฟอร์มหลักจะทริกเกอร์เหตุการณ์ Activate สําหรับฟอร์มหลักเท่านั้น
ในทํานองเดียวกัน เมื่อคุณปิดฟอร์มที่มีฟอร์มย่อย ฟอร์มย่อยและระเบียนของฟอร์มนั้นจะไม่ถูกโหลดหลังจากฟอร์ม เหตุการณ์ Deactivate จะไม่เกิดขึ้นสําหรับฟอร์มย่อย ดังนั้น การปิดฟอร์มหลักจะทริกเกอร์เหตุการณ์ Deactivate สําหรับฟอร์มหลักเท่านั้น เหตุการณ์สําหรับตัวควบคุม ฟอร์ม และฟอร์มย่อยจะเกิดขึ้นตามลําดับต่อไปนี้
-
เหตุการณ์สำหรับตัวควบคุมของฟอร์มย่อย (เช่น Exit และ LostFocus)
-
เหตุการณ์สำหรับตัวควบคุมของฟอร์ม (รวมถึงตัวควบคุมของฟอร์มย่อย)
-
เหตุการณ์สำหรับฟอร์ม (เช่น Deactivate และ Close)
-
เหตุการณ์สำหรับฟอร์มย่อย
หมายเหตุ: เนื่องจากเหตุการณ์สําหรับฟอร์มย่อยเกิดขึ้นหลังจากปิดฟอร์มหลัก เหตุการณ์บางอย่าง เช่น การยกเลิกการปิดฟอร์มหลักจากเหตุการณ์ในฟอร์มย่อยจะไม่เกิดขึ้น คุณอาจจําเป็นต้องย้ายชนิดของการทดสอบการตรวจสอบเหล่านี้ไปยังเหตุการณ์บนฟอร์มหลัก
ลำดับเหตุการณ์สำหรับการกดแป้นพิมพ์และการคลิกเมาส์
เหตุการณ์บนคีย์บอร์ดจะเกิดขึ้นสําหรับฟอร์มและตัวควบคุมเมื่อคุณกดแป้นหรือส่งการกดแป้นพิมพ์ในขณะที่ฟอร์มหรือตัวควบคุมมี โฟกัส เหตุการณ์เมาส์จะเกิดขึ้นสําหรับฟอร์ม ส่วนของฟอร์ม และตัวควบคุมบนฟอร์มเมื่อคุณคลิกปุ่มเมาส์ขณะที่ตัวชี้เมาส์อยู่บนฟอร์ม ส่วน หรือตัวควบคุม เหตุการณ์ของเมาส์ยังเกิดขึ้นเมื่อคุณย้ายตัวชี้เมาส์ไปไว้เหนือฟอร์ม ส่วน หรือตัวควบคุม
เหตุการณ์บนคีย์บอร์ด
เมื่อคุณกดแล้วปล่อยปลุ่มขณะที่ตัวควบคุมอยู่บนฟอร์มที่โฟกัส (หรือใช้การดำเนินการ SendKeys หรือ คำสั่ง เพื่อรับการกดแป้นพิมพ์) ลำดับเหตุการณ์ต่อไปนี้จะเกิดขึ้น:
KeyDown KeyPress KeyUp
เมื่อคุณกดแล้วปล่อยแป้น หรือส่งการกดแป้นพิมพ์ใน ชุดอักขระ ANSI เหตุการณ์ KeyDown, KeyPress และ KeyUp ทั้งหมดจะเกิดขึ้น ถ้าคุณกดแป้น ANSI ค้างไว้ เหตุการณ์ KeyDown และ KeyPress จะสลับกันซ้ําๆ (KeyDown, KeyPress, KeyDown, KeyPress และอื่นๆ) จนกว่าคุณจะปล่อยแป้น จากนั้นเหตุการณ์ KeyUp จะเกิดขึ้น
ถ้าคุณกดแล้วปล่อยแป้นที่ไม่ใช่ปุ่ม ANSI เหตุการณ์ KeyDown และ KeyUp จะเกิดขึ้น ถ้าคุณกดปุ่มที่ไม่ใช่ปุ่ม ANSI ค้างไว้ เหตุการณ์ KeyDown จะเกิดขึ้นซ้ําๆ จนกว่าคุณจะปล่อยแป้น จากนั้นเหตุการณ์ KeyUp จะเกิดขึ้น
ถ้าการกดแป้นทําให้เกิดเหตุการณ์อื่นสําหรับตัวควบคุม เหตุการณ์นั้นจะเกิดขึ้นหลังจากเหตุการณ์ KeyPress แต่จะเกิดขึ้นก่อนเหตุการณ์ KeyUp ตัวอย่างเช่น ถ้าการกดแป้นพิมพ์เปลี่ยนแปลงข้อความในกล่องข้อความ ซึ่งทริกเกอร์เหตุการณ์ Change ลําดับเหตุการณ์ต่อไปนี้จะเกิดขึ้น:
KeyDown KeyPress Change KeyUp
ถ้าการกดแป้นพิมพ์ทําให้โฟกัสย้ายจากตัวควบคุมหนึ่งไปยังอีกตัวควบคุมหนึ่ง เหตุการณ์ KeyDown จะเกิดขึ้นสําหรับตัวควบคุมแรก ในขณะที่เหตุการณ์ KeyPress และ KeyUp เกิดขึ้นสําหรับตัวควบคุมที่สอง ตัวอย่างเช่น ถ้าคุณเปลี่ยนข้อมูลในตัวควบคุม แล้วกดแป้น TAB เพื่อย้ายไปยังตัวควบคุมถัดไป ลําดับของเหตุการณ์ต่อไปนี้จะเกิดขึ้น:
-
ตัวควบคุมแรก:
KeyDown BeforeUpdate AfterUpdate Exit LostFocus
-
ตัวควบคุมที่สอง:
ใส่ GotFocus KeyPress KeyUp
เหตุการณ์ของเมาส์
เมื่อคุณคลิกแล้วปล่อยปุ่มเมาส์ขณะที่ตัวชี้เมาส์อยู่บนตัวควบคุมบนฟอร์ม ลำดับเหตุการณ์ต่อไปนี้สำหรับตัวควบคุมจะเกิดขึ้น:
MouseDown MouseUp คลิก
ถ้าตัวควบคุมมีโฟกัสและคุณคลิกตัวควบคุมอีกตัวหนึ่งเพื่อย้ายโฟกัสไปยังตัวควบคุมที่สองนี้ ลำดับเหตุการณ์ต่อไปนี้จะเกิดขึ้น:
-
ตัวควบคุมแรก:
ออกจาก LostFocus
-
ตัวควบคุมที่สอง:
ใส่ GotFocus MouseDown MouseUp คลิก
ถ้าคุณย้ายไปยังระเบียนอื่น จากนั้นคลิกตัวควบคุม เหตุการณ์ Current จะเกิดขึ้นสำหรับฟอร์ม รวมถึงเกิดก่อนเหตุการณ์ Enter สำหรับตัวควบคุม
การดับเบิลคลิกที่ตัวควบคุมจะทําให้ทั้งเหตุการณ์ Click และ DblClick เกิดขึ้น ตัวอย่างเช่น เมื่อคุณคลิกสองครั้งที่ตัวควบคุมที่ไม่ใช่ปุ่มคําสั่ง ลําดับเหตุการณ์ต่อไปนี้สําหรับตัวควบคุมจะเกิดขึ้น:
MouseD own MouseUp Click DblClick MouseUp
เมื่อคุณคลิกสองครั้งที่ปุ่มคำสั่ง ลำดับก่อนหน้าของเหตุการณ์จะเกิดขึ้นตามด้วยเหตุการณ์ Click ที่สอง
เหตุการณ์ MouseMove สําหรับฟอร์ม ส่วน หรือตัวควบคุมจะเกิดขึ้นเมื่อคุณย้ายตัวชี้เมาส์ไปไว้เหนือฟอร์ม ส่วน หรือตัวควบคุม เหตุการณ์นี้ไม่เกี่ยวข้องกับเหตุการณ์อื่นๆ ของเมาส์
ลำดับเหตุการณ์สำหรับรายงานและส่วนของรายงาน
เหตุการณ์จะเกิดขึ้นสำหรับรายงานและส่วนของรายงานเมื่อคุณเปิดรายงานเพื่อพิมพ์หรือแสดงตัวอย่าง หรือปิดรายงาน
เหตุการณ์สำหรับรายงาน
เมื่อคุณเปิดรายงานหรือพิมพ์หรือแสดงตัวอย่าง จากนั้นปิดรายงานหรือย้ายไปยังแท็บวัตถุอื่นใน Access ลำดับเหตุการณ์ต่อไปนี้สำหรับรายงานจะเกิดขึ้น:
เปิด เปิดใช้งาน ปิด ปิดใช้งาน
เมื่อคุณสลับไปมาระหว่างสองรายงาน เหตุการณ์ Deactivate จะเกิดขึ้นสำหรับรายงานแรก และเหตุการณ์ Activate จะเกิดขึ้นสำหรับรายงานที่สอง:
Deactivate (รายงาน 1) Activate (รายงาน 2)
เหตุการณ์ Deactivate สําหรับรายงานยังเกิดขึ้นเมื่อคุณสลับจากรายงานไปยังแท็บวัตถุอื่นใน Access อย่างไรก็ตาม เหตุการณ์ Deactivate จะไม่เกิดขึ้นเมื่อคุณสลับไปยังกล่องโต้ตอบ เป็นฟอร์มที่ คุณสมบัติ PopUp ถูกตั้งค่าเป็น ใช่ หรือเป็นหน้าต่างในโปรแกรมอื่น
เมื่อคุณเปิดรายงานที่ยึดตามคิวรี Access จะทริกเกอร์เหตุการณ์ Open สําหรับรายงานก่อนที่จะเรียกใช้คิวรีพื้นฐาน ด้วยเหตุนี้ คุณสามารถตั้งค่าเกณฑ์สําหรับรายงานได้โดยใช้แมโครหรือกระบวนงานเหตุการณ์ที่ตอบสนองต่อเหตุการณ์ Open ตัวอย่างเช่น แมโครหรือกระบวนงานเหตุการณ์สามารถเปิดกล่องโต้ตอบแบบกําหนดเองที่คุณใส่เกณฑ์รายงาน
เหตุการณ์สำหรับส่วนของรายงาน
เมื่อคุณพิมพ์หรือแสดงตัวอย่างรายงาน เหตุการณ์ Format และ Print จะเกิดขึ้นสำหรับส่วนของรายงาน หลังจากเหตุการณ์ Open และ Activate สำหรับรายงาน และก่อนเหตุการณ์ Close หรือ Deactivate ของเหตุการณ์
Open (รายงาน) Activate (รายงาน) Format (ส่วนรายงาน) Print (ส่วนรายงาน) Close (รายงาน) Deactivate (รายงาน)
ความปลอดภัย คุณสามารถใช้มุมมองรายงานเพื่อเปิดใช้งาน การกรองรายงานของผู้ใช้ได้ แต่ไม่เหมือนกับตัวอย่างก่อนพิมพ์ เหตุการณ์ จัดรูปแบบ และ พิมพ์ ในส่วนใดๆ จะไม่เกิดขึ้นในมุมมองรายงาน ซึ่งยังนําไปใช้กับผลลัพธ์ของฟังก์ชัน VBA และกระบวนงานที่ผู้ใช้กําหนดที่แสดงในตัวควบคุม (เช่น คําอธิบายภาพป้ายชื่อ สถานะการแสดง การจัดรูปแบบตามเงื่อนไข การปรับขนาดตัวควบคุม และอื่นๆ) ภายในเหตุการณ์เหล่านั้น ดังนั้น อย่าใช้โค้ดในเหตุการณ์นี้เพื่อจัดรูปแบบ ซ่อน หรือพิมพ์ข้อมูลที่เป็นความลับ ซึ่งอาจแสดงขึ้น เราขอแนะนําให้กรองข้อมูลหรือปิดใช้งานการแสดงตัวอย่างรายงานล่วงหน้าโดยการตั้งค่าคุณสมบัติ AllowReportView เป็น ไม่ใช่
นอกจากนั้น เหตุการณ์ต่อไปนี้สามารถเกิดขึ้นระหว่างหรือหลังการจัดรูปแบบได้ แต่จะเกิดก่อนเหตุการณ์ Print
-
เหตุการณ์ Retreat จะเกิดขึ้นเมื่อ Access กลับไปยังส่วนก่อนหน้าระหว่างการจัดรูปแบบรายงาน
-
เหตุการณ์ NoData จะเกิดขึ้นถ้ารายงานไม่แสดงระเบียนเหล่านี้
-
เหตุการณ์ Page จะเกิดขึ้นหลังจากการจัดรูปแบบแต่เกิดก่อนการพิมพ์ คุณสามารถใช้เหตุการณ์นี้เพื่อกําหนดลักษณะที่ปรากฏของรายงานที่พิมพ์