Thứ tự của sự kiện cho đối tượng cơ sở dữ liệu

Quan trọng:  Bài viết này là dịch máy, hãy xem tuyên bố miễn trừ trách nhiệm. Bạn hãy tìm phiên bản tiếng Anh của bài viết này tại đây để tham khảo.

Một hành động đơn lẻ, chẳng hạn như di chuyển từ một điều khiển trên một đối tượng đến một điều khiển khác, có thể kích hoạt một số sự kiện khác nhau xảy ra theo một trình tự cụ thể. Việc biết rõ thời điểm và trình tự xảy ra sự kiện là rất quan trọng vì điều đó có thể ảnh hưởng đến cách thức và thời điểm macro của bạn hoặc quy trình sự kiện hoạt động. Ví dụ: nếu có hai quy trình sự kiện chạy theo một trình tự nhất định, bạn muốn đảm bảo rằng các sự kiện liên kết sẽ xảy ra theo cùng một trình tự đó.

Trong bài viết này

Trình tự của sự kiện đối với các điều khiển trên biểu mẫu

Trình tự của sự kiện đối với các bản ghi trên biểu mẫu

Trình tự của sự kiện đối với các biểu mẫu và biểu mẫu con

Trình tự của sự kiện đối với các lần nhấn phím và bấm chuột

Trình tự của sự kiện đối với báo cáo và các mục báo cáo

Trình tự của sự kiện đối với các điều khiển trên biểu mẫu

Sự kiện xảy ra đối với các điều khiển trên biểu mẫu khi bạn di chuyển tiêu điểm tới điều khiển và khi bạn thay đổi, cũng như cập nhật dữ liệu trong điều khiển.

Ghi chú: Microsoft Office Access hiển thị tên sự kiện trong Trình soạn thảo Visual Basic hơi khác so với trong trang thuộc tính và Bộ dựng Macro. Ví dụ: sự kiện có tên là On Got Focus trong trang thuộc tính của biểu mẫu và trong Bộ dựng Macro có tên là GotFocus trong Trình soạn thảo Visual Basic. Các ví dụ trong bài viết này sử dụng định dạng Visual Basic for Applications (VBA) cho tên sự kiện.

Di chuyển tiêu điểm đến một điều khiển

Khi bạn di chuyển tiêu điểm đến một điều khiển trên biểu mẫu (ví dụ: bằng cách mở biểu mẫu có chứa một hoặc nhiều điều khiển hiện hoạt hoặc bằng cách di chuyển tiêu điểm đến một điều khiển khác trên cùng một biểu mẫu), các sự kiện EnterGotFocus diễn ra theo trình tự này:

Enter mũi tên GotFocus

Khi bạn mở một biểu mẫu, các sự kiện EnterGotFocus sẽ xảy ra sau các sự kiện liên kết với việc mở biểu mẫu (chẳng hạn như Open, ActivateCurrent), như sau:

Open (biểu mẫu) mũi tên Activate (biểu mẫu) mũi tên Current (biểu mẫu) mũi tên Enter (điều khiển) mũi tên GotFocus (điều khiển)

Khi tiêu điểm rời khỏi một điều khiển trên biểu mẫu (ví dụ: khi bạn đóng biểu mẫu có chứa một hoặc nhiều điều khiển hiện hoạt hoặc khi bạn di chuyển đến một điều khiển khác trên cùng một biểu mẫu), các sự kiện ExitLostFocus diễn ra theo trình tự này:

Exit mũi tên LostFocus

Khi bạn đóng một biểu mẫu, các sự kiện ExitLostFocus sẽ xảy ra trước các sự kiện liên kết với việc đóng biểu mẫu (chẳng hạn như Unload, DeactivateClose), như sau:

Exit (điều khiển) mũi tên LostFocus (điều khiển) mũi tên Unload (biểu mẫu) mũi tên Deactivate (biểu mẫu) mũi tên Close (biểu mẫu)

Thay đổi và cập nhật dữ liệu trong điều khiển

Khi bạn nhập hoặc thay đổi dữ liệu trong điều khiển trên biểu mẫu, rồi di chuyển tiêu điểm đến một điều khiển khác, sự kiện BeforeUpdateAfterUpdate sẽ xảy ra:

BeforeUpdate mũi tên AfterUpdate

Các sự kiện ExitLostFocus cho một điều khiển có giá trị thay đổi xảy ra sau sự kiện BeforeUpdateAfterUpdate:

BeforeUpdate mũi tên AfterUpdate mũi tên Exit mũi tên LostFocus

Khi bạn thay đổi văn bản trong hộp văn bản hoặc trong phần hộp văn bản của hộp tổ hợp, sự kiện Change sẽ xảy ra. Sự kiện này xảy ra mỗi khi nội dung của điều khiển thay đổi nhưng trước khi bạn di chuyển tiêu điểm đến một điều khiển hoặc bản ghi khác (và do đó, trước khi các sự kiện BeforeUpdateAfterUpdate xảy ra). Chuỗi sự kiện sau đây sẽ xảy ra đối với từng khóa được bạn nhấn trong hộp văn bản hoặc trong phần hộp văn bản của hộp tổ hợp là như sau:

KeyDown mũi tên KeyPress mũi tên Dirty mũi tên Change mũi tên KeyUp

Sự kiện NotInList sẽ xảy ra sau khi bạn nhập giá trị vào hộp tổ hợp không tìm thấy trong danh sách hộp tổ hợp, rồi cố gắng di chuyển tiêu điểm đến điều khiển hoặc bản ghi khác. Sự kiện NotInList xảy ra sau các sự kiện của bàn phím và sự kiện Change cho hộp tổ hợp nhưng trước các sự kiện cho mọi điều khiển hoặc biểu mẫu khác. Nếu thuộc tính LimitToList của hộp tổ hợp được đặt thành Có thì sự kiện Error cho biểu mẫu sẽ xảy ra ngay lập tức sau sự kiện NotInList:

KeyDown mũi tên KeyPress mũi tên Dirty mũi tên Change mũi tên KeyUp mũi tên NotInList mũi tên Error

Đầu Trang

Trình tự của sự kiện cho các bản ghi trên biểu mẫu

Sự kiện xảy ra đối với các bản ghi trên biểu mẫu khi bạn di chuyển tiêu điểm vào bản ghi khác, cập nhật dữ liệu trong một bản ghi, xóa bản ghi hoặc các bản ghi hiện có hay tạo một bản ghi mới.

Di chuyển tiêu điểm đến bản ghi và cập nhật dữ liệu trong bản ghi

Khi bạn di chuyển tiêu điểm đến một bản ghi hiện có trên biểu mẫu, nhập hoặc thay đổi dữ liệu trong bản ghi, rồi di chuyển tiêu điểm đến một bản ghi khác, chuỗi sự kiện sau đây sẽ xảy ra đối với biểu mẫu:

Current (biểu mẫu) mũi tên BeforeUpdate (biểu mẫu) mũi tên AfterUpdate (biểu mẫu) mũi tên Current (biểu mẫu)

Khi bạn rời khỏi bản ghi đã thay đổi dữ liệu nhưng trước khi bạn nhập bản ghi kế tiếp, các sự kiện ExitLostFocus xảy ra đối với điều khiển có tiêu điểm. Những sự kiện này xảy ra sau các sự kiện BeforeUpdateAfterUpdate đối với biểu mẫu, như sau:

BeforeUpdate (biểu mẫu) mũi tên AfterUpdate (biểu mẫu) mũi tên Exit (điều khiển) mũi tên LostFocus (điều khiển) mũi tên RecordExit (biểu mẫu) mũi tên Current (biểu mẫu)

Khi bạn di chuyển tiêu điểm giữa các điều khiển trên biểu mẫu, các sự kiện sẽ xảy ra đối với từng điều khiển. Ví dụ: chuỗi sự kiện sau đây sẽ xảy ra khi bạn thao tác như sau:

  • Mở biểu mẫu và thay đổi dữ liệu trong điều khiển:

    Current (biểu mẫu) mũi tên Enter (điều khiển) mũi tên GotFocus (điều khiển) mũi tên BeforeUpdate (điều khiển) mũi tên AfterUpdate (điều khiển)

  • Di chuyển tiêu điểm đến điều khiển khác:

    Exit (điều khiển 1) mũi tên LostFocus (điều khiển 1) mũi tên Enter (điều khiển 2) mũi tên GotFocus (điều khiển 2)

  • Di chuyển tiêu điểm đến bản ghi khác:

    BeforeUpdate (biểu mẫu) mũi tên AfterUpdate (biểu mẫu) mũi tên Exit (điều khiển 2) mũi tên LostFocus (điều khiển 2) mũi tên RecordExit (biểu mẫu) mũi tên Current (biểu mẫu)

Xóa bản ghi

Khi bạn xóa bản ghi, các sự kiện sau đây sẽ xảy ra đối với biểu mẫu và Microsoft Office Access sẽ hiển thị hộp thoại yêu cầu bạn xác nhận xóa:

Delete mũi tên BeforeDelConfirm mũi tên AfterDelConfirm

Nếu bạn hủy bỏ sự kiện Delete, các sự kiện BeforeDelConfirmAfterDelConfirm sẽ xảy ra và hộp thoại sẽ không hiển thị.

Tạo bản ghi mới

Khi bạn di chuyển tiêu điểm đến một bản ghi (trống) mới trên biểu mẫu, rồi tạo một bản ghi mới bằng cách nhập dữ liệu vào điều khiển, chuỗi sự kiện sau đây sẽ xảy ra:

Current (biểu mẫu) mũi tên Enter (điều khiển) mũi tên GotFocus (điều khiển) mũi tên BeforeInsert (biểu mẫu) mũi tên AfterInsert (biểu mẫu)

Các sự kiện BeforeUpdateAfterUpdate cho các điều khiển trên biểu mẫu và cho bản ghi mới sẽ xảy ra sau sự kiện BeforeInsert và trước sự kiện AfterInsert.

Đầu Trang

Trình tự của sự kiện cho các biểu mẫu và biểu mẫu con

Sự kiện sẽ xảy ra đối với các biểu mẫu khi bạn mở hoặc đóng biểu mẫu, di chuyển giữa các biểu mẫu hoặc làm việc với dữ liệu trên biểu mẫu hay biểu mẫu con.

Mở và đóng một biểu mẫu

Khi bạn mở biểu mẫu, trình sự kiện sau đây sẽ xảy ra đối với biểu mẫu:

Open mũi tên Load mũi tên Resize mũi tên Activate mũi tên Current

Nếu không có điều khiển hiện hoạt trên biểu mẫu, sự kiện GotFocus sẽ xảy ra đối với biểu mẫu sau sự kiện Activate nhưng trước sự kiện Current.

Khi bạn đóng biểu mẫu, chuỗi sự kiện sau đây sẽ xảy ra đối với biểu mẫu:

Unload mũi tên Deactivate mũi tên Close

Nếu không có điều khiển hiện hoạt trên biểu mẫu, sự kiện LostFocus sẽ xảy ra đối với biểu mẫu sau sự kiện Unload nhưng trước sự kiện Deactivate.

Di chuyển giữa các biểu mẫu

Khi bạn chuyển đổi giữa hai biểu mẫu đang mở, sự kiện Deactivate sẽ xảy ra đối với biểu mẫu đầu tiên và sự kiện Activate xảy ra đối với biểu mẫu thứ hai:

Deactivate (biểu mẫu 1) mũi tên Activate (biểu mẫu 2)

Sự kiện Deactivate đối với biểu mẫu cũng sẽ xảy ra khi bạn chuyển đổi từ biểu mẫu sang một tab đối tượng khác trong Access. Tuy nhiên, sự kiện Deactivate sẽ xảy ra khi bạn chuyển sang một hộp thoại, sang biểu mẫu có thuộc tính PopUp được đặt thành hoặc sang một cửa sổ trong chương trình khác.

Ghi chú:  Sự kiện Open sẽ không xảy ra nếu bạn di chuyển tiêu điểm đến một biểu mẫu đã mở, ngay cả khi bạn đã di chuyển tiêu điểm đến biểu mẫu đó bằng cách thực hiện hành động OpenForm.

Làm việc với dữ liệu trên biểu mẫu

Sự kiện đối với biểu mẫu và điều khiển sẽ xảy ra khi bạn di chuyển giữa các bản ghi trong biểu mẫu và thay đổi dữ liệu. Ví dụ: Khi bạn mở biểu mẫu lần đầu tiên, chuỗi sự kiện sau đây sẽ xảy ra:

Open (biểu mẫu) mũi tên Load (biểu mẫu) mũi tên Resize (biểu mẫu) mũi tên Activate (biểu mẫu) mũi tên Current (biểu mẫu) mũi tên Enter (điều khiển) mũi tên GotFocus (điều khiển)

Tương tự, khi bạn đóng biểu mẫu, chuỗi sự kiện sau sẽ xảy ra:

Exit (điều khiển) mũi tên LostFocus (điều khiển) mũi tên Unload (biểu mẫu) mũi tên Deactivate (biểu mẫu) mũi tên Close (biểu mẫu)

Nếu bạn đã thay đổi dữ liệu trong điều khiển, các sự kiện BeforeUpdateAfterUpdate cho điều khiển và biểu mẫu sẽ xảy ra trước sự kiện Exit đối với điều khiển.

Làm việc với biểu mẫu con

Khi bạn mở biểu mẫu có chứa biểu mẫu con, biểu mẫu con và các bản ghi sẽ được tải trước biểu mẫu chính. Do đó, các sự kiện đối với biểu mẫu con và điều khiển của biểu mẫu con (chẳng hạn như Open, Current, EnterGotFocus) sẽ xảy ra trước các sự kiện đối với biểu mẫu. Tuy nhiên, sự kiện Activate sẽ không xảy ra đối với biểu mẫu con. Do đó, việc mở một biểu mẫu chính sẽ chỉ kích hoạt sự kiện Activate đối với biểu mẫu chính.

Tương tự, khi bạn đóng biểu mẫu có chứa biểu mẫu con, biểu mẫu con và các bản ghi của biểu mẫu con sẽ bỏ tải sau biểu mẫu. Sự kiện Deactivate sẽ không xảy ra đối với biểu mẫu con. Do đó, việc đóng một biểu mẫu chính sẽ chỉ kích hoạt sự kiện Deactivate đối với biểu mẫu chính. Các sự kiện đối với điều khiển, biểu mẫu và biểu mẫu con xảy ra theo trình tự sau:

  1. Các sự kiện đối với điều khiển của biểu mẫu con (chẳng hạn như ExitLostFocus)

  2. Các sự kiện cho điều khiển biểu mẫu (bao gồm điều khiển biểu mẫu con)

  3. Các sự kiện đối với biểu mẫu (chẳng hạn như DeactivateClose)

  4. Các sự kiện đối với biểu mẫu con

Ghi chú:  Vì các sự kiện đối với biểu mẫu con xảy ra sau khi đóng biểu mẫu chính, những sự kiện nhất định, chẳng hạn như hủy đóng biểu mẫu chính từ một sự kiện trong biểu mẫu con, sẽ không xảy ra. Bạn có thể cần phải di chuyển các kiểu kiểm tra xác thực vào một sự kiện trên biểu mẫu chính.

Đầu Trang

Trình tự của sự kiện đối với các lần nhấn phím và bấm chuột

Các sự kiện về bàn phím xảy ra đối với biểu mẫu và điều khiển khi bạn nhấn phím hoặc gửi tổ hợp phím trong khi biểu mẫu hoặc điều khiển có tiêu điểm. Sự kiện về chuột xảy ra đối với biểu mẫu, các mục biểu mẫu và điều khiển trên biểu mẫu khi bạn bấm nút chuột trong khi con trỏ chuột nằm trên biểu mẫu, mục hoặc điều khiển. Sự kiện về chuột cũng xảy ra khi bạn di chuyển con trỏ chuột trên biểu mẫu, mục hoặc điều khiển.

Sự kiện về bàn phím

Khi bạn nhấn và thả một phím trong khi điều khiển trên biểu mẫu có tiêu điểm (hoặc sử dụng hành động SendKeys hoặc câu lệnh để gửi tổ hợp phím), chuỗi sự kiện sau sẽ xảy ra:

KeyDown mũi tên KeyPress mũi tên KeyUp

Khi bạn nhấn và thả một phím hoặc gửi tổ hợp phím trong Tập ký tự ANSI, tất cả các sự kiện KeyDown, KeyPressKeyUp sẽ xảy ra. Nếu bạn nhấn và giữ phím ANSI, các sự kiện KeyDownKeyPress sẽ thay nhau lặp đi lặp lại (KeyDown, KeyPress, KeyDown, KeyPress, v.v.) cho đến khi bạn thả phím; sau đó sự kiện KeyUp sẽ xảy ra.

Nếu bạn nhấn và thả phím không phải ANSI, các sự kiện KeyDownKeyUp sẽ xảy ra. Nếu bạn nhấn và giữ phím không phải ANSI, sự kiện KeyDown sẽ xảy ra lặp đi lặp lại cho đến khi bạn thả phím, sau đó, sự kiện KeyUp sẽ xảy ra.

Nếu việc nhấn phím kích hoạt một sự kiện khác đối với điều khiển, sự kiện đó sẽ xảy ra sau sự kiện KeyPress nhưng trước sự kiện KeyUp. Ví dụ: nếu tổ hợp phím làm thay đổi văn bản trong văn bản hộp, mà việc này làm kích hoạt sự kiện Change, chuỗi sự kiện sau đây sẽ xảy ra:

KeyDown mũi tên KeyPress mũi tên Change mũi tên KeyUp

Nếu tổ hợp phím khiến tiêu điểm di chuyển từ một điều khiển tới điều khiển khác, sự kiện KeyDown sẽ xảy ra đối với điều khiển đầu tiên, còn sự kiện KeyPressKeyUp sẽ xảy ra đối với điều khiển thứ hai. Ví dụ: nếu bạn thay đổi dữ liệu trong điều khiển, rồi nhấn phím TAB để di chuyển tới điều khiển tiếp theo, chuỗi sự kiện sau sẽ xảy ra:

  • Điều khiển thứ nhất:

    KeyDown mũi tên BeforeUpdate mũi tên AfterUpdate mũi tên Exit mũi tên LostFocus

  • Điều khiển thứ hai:

    Enter mũi tên GotFocus mũi tên KeyPress mũi tên KeyUp

Sự kiện về chuột

Khi bạn bấm và thả nút chuột trong khi con trỏ nằm trên điều khiển ở biểu mẫu, chuỗi sự kiện sau đây sẽ xảy ra đối với điều khiển:

MouseDown mũi tên MouseUp mũi tên Click

Nếu điều khiển có tiêu điểm và bạn bấm điều khiển khác để di chuyển tiêu điểm đến điều khiển thứ hai này, chuỗi sự kiện sau đây sẽ xảy ra:

  • Điều khiển thứ nhất:

    Exit mũi tên LostFocus

  • Điều khiển thứ hai:

    Enter mũi tên GotFocus mũi tên MouseDown mũi tên MouseUp mũi tên Click

Nếu bạn di chuyển đến một bản ghi khác, rồi bấm điều khiển, sự kiện Current đối với biểu mẫu cũng sẽ xảy ra trước sự kiện Enter đối với điều khiển.

Việc bấm đúp vào điều khiển sẽ khiến cho cả hai sự kiện ClickDblClick xảy ra. Ví dụ: khi bạn bấm đúp vào điều khiển không phải là nút lệnh, chuỗi sự kiện sau đây sẽ xảy ra đối với điều khiển:

MouseD own mũi tên MouseUp mũi tên Click mũi tên DblClick mũi tên MouseUp

Khi bạn bấm đúp vào nút lệnh, chuỗi sự kiện trước đó sẽ xảy ra, theo sau bởi sự kiện Click thứ hai.

Sự kiện MouseMove đối với biểu mẫu, mục hoặc điều khiển sẽ xảy ra khi bạn di chuyển con trỏ chuột trên biểu mẫu, mục hoặc điều khiển. Sự kiện này độc lập với các sự kiện về chuột khác.

Đầu Trang

Trình tự của sự kiện đối với báo cáo và các mục báo cáo

Các sự kiện sẽ xảy ra đối với báo cáo và mục báo cáo khi bạn mở báo cáo để in hoặc xem trước hoặc đóng báo cáo.

Các sự kiện đối với báo cáo

Khi bạn mở báo cáo để in hoặc xem trước, rồi đóng báo cáo hoặc di chuyển đến tab đối tượng khác trong Access, chuỗi sự kiện sau đây sẽ xảy ra đối với báo cáo:

Open mũi tên Activate mũi tên Close mũi tên Deactivate

Khi bạn chuyển đổi giữa hai báo cáo đang mở, sự kiện Deactivate sẽ xảy ra đối với báo cáo đầu tiên và sự kiện Activate xảy ra đối với báo cáo thứ hai:

Deactivate (báo cáo 1) mũi tên Activate (báo cáo 2)

Sự kiện Deactivate đối với báo cáo cũng sẽ xảy ra khi bạn chuyển đổi từ báo cáo sang một tab đối tượng khác trong Access. Tuy nhiên, sự kiện Deactivate sẽ xảy ra khi bạn chuyển sang một hộp thoại, sang biểu mẫu có thuộc tính PopUp được đặt thành hoặc sang một cửa sổ trong chương trình khác.

Khi bạn mở báo cáo dựa trên truy vấn, Access sẽ kích hoạt sự kiện Open đối với báo cáo trước khi chạy truy vấn cơ sở. Do đó, bạn có thể đặt các tiêu chí cho báo cáo bằng macro hoặc quy trình sự kiện phản hồi sự kiện Open. Ví dụ: macro hoặc quy trình sự kiện có thể mở hộp thoại tùy chỉnh mà bạn nhập tiêu chí báo cáo.

Các sự kiện đối với mục báo cáo

Khi bạn in hoặc xem trước báo cáo, sự kiện FormatPrint sẽ xảy ra đối với các mục báo cáo sau sự kiện OpenActivate đối với báo cáo và trước các sự kiện Close hoặc Deactivate của báo cáo:

Open (báo cáo) mũi tên Activate (báo cáo) mũi tên Format (phần báo cáo) mũi tên Print (phần báo cáo) mũi tên Close (báo cáo) mũi tên Deactivate (báo cáo)

Ngoài ra, các sự kiện sau đây có thể xảy ra trong hoặc sau khi định dạng nhưng trước sự kiện Print:

  • Sự kiện Retreat xảy ra khi Access quay lại mục trước đó trong quá trình định dạng báo cáo.

  • Sự kiện NoData xảy ra nếu không có bản ghi nào hiển thị theo báo cáo.

  • Sự kiện Page xảy ra sau khi định dạng nhưng trước khi in. Bạn có thể sử dụng sự kiện này để tùy chỉnh giao diện của báo cáo được in.

Đầu Trang

Ghi chú: Tuyên bố miễn trừ trách nhiệm Dịch Máy: Bài viết này do một hệ thống máy tính dịch mà không có sự can thiệp của con người. Microsoft cung cấp những bản dịch máy này để giúp người dùng không nói tiếng Anh hiểu nội dung về các sản phẩm, dịch vụ và công nghệ của Microsoft. Do bài viết này được dịch máy nên có thể có các lỗi về từ vựng, cú pháp hoặc ngữ pháp.

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×