-
Sự kiện After Update của Combobox để thay đổi số liệu của Sub Form
Đình Phán > 15-06-21, 12:34 PM
Chào các anh chị.
Hiện em có làm 1 Main Form và Sub Form.
Tại Main Form em có để 1 Combobox là mã Tài khoản
Còn Sub Form em tạo từ Query để bắt điều kiện mã Tài khoản ở Combobox ở Main Form.
Giờ em muốn khi thay đổi giá trị tại Combobox trên MainForm thì số liệu ở Sub Form sẽ thay đổi theo.
Em có tìm hiểu sự kiện After Update cho Combobox, nhưng không rõ câu lệnh để Refresh số liệu cho Sub Form như thế nào.
Mong anh chị giúp đỡ ạ.
Em cảm ơn! -
RE: Sự kiện After Update của Combobox để thay đổi số liệu của Sub Form
ongke0711 > 15-06-21, 01:10 PM
- sfmABC.Requery
Một cách khác là dùng Link Child/Master field giữa Main và Sub Form. Khi thay đổi Combobox trên MainF thì SubF tự đổi theo. Bạn tìm từ khoá trên đi. -
RE: Sự kiện After Update của Combobox để thay đổi số liệu của Sub Form
tranthanhan1962 > 15-06-21, 01:17 PM
Refresh là làm tươi form. Requery là load lại dữ liệu của object (trong đó có subform) -
RE: Sự kiện After Update của Combobox để thay đổi số liệu của Sub Form
tranthanhan1962 > 15-06-21, 02:23 PM
Thực tế nhiều bạn cũng không hiểu rõ về 2 lệnh Refresh và Requery. Tiện đây tôi sẽ nói rõ thêm về sự khác biệt giữa 2 lệnh này:
1/Requery là cập nhật tất cả dữ liệu mới từ bảng hoặc truy vấn bên dưới (update record source), bao gồm các phần bổ sung và xóa mới (giống như mở lại form)
2/Refresh là cập nhật record hiện tại mà bạn đang làm việc (udate current record). (giống như chạy qua record khác rồi quay về record cũ)
*Vì vậy nếu xử lý form.requery khi làm việc với một form nào đó, thì con trỏ sẽ thoát khỏi record đang làm việc và nhảy về record đầu - nếu default open form, hay record nào khác - nếu có lệnh hoặc điều kiện khi mở form. Khi con trỏ nằm trên mainform lệnh subform.Refresh không làm việc vì nó nằm ngoài record của control này.
Ngoài ra còn có lệnh Me.Recalc và Me.Repaint.
Me.Repaint vẽ lại biểu mẫu hiện tại và tất cả các điều khiển của nó trên màn hình (trường hợp ẩn/hiện thay đổi vị trí/kích thước control...)
Me.Recalc buộc tất cả các điều khiển được tính toán trên biểu mẫu phải được tính toán lại. Thực ra từ access 2003, việc cập nhật giá trị công thức trên form rất tốt nên không ai dùng tới lệnh này cả -
RE: Sự kiện After Update của Combobox để thay đổi số liệu của Sub Form
Đình Phán > 26-05-22, 06:16 PM
Chào các anh, chi
Lại là em đây. Lần trước em có hỏi về việc cập nhật SubForm khi thay đổi giá trị tại Combobox.
Nay em lại vướng 1 trường hợp khác.
Cụ thể là SubForm em đã tham chiếu đến 2 giá trị, Em có để 2 giá trị đó tại Header của MainForm, và dùng 1 Button để thực hiện lệnh khi 2 giá trị đó thay đổi.
Câu lệnh
Private Sub Command11_Click()
sfmTraCuu.Requery
End Sub
Tuy nhiên luôn bị báo lỗi và ko Requery.
Nhờ các anh chị giúp đỡ
Em cảm ơn!
Link
https://drive.google.com/file/d/1J2PpaXY...sp=sharing -
RE: Sự kiện After Update của Combobox để thay đổi số liệu của Sub Form
ongke0711 > 26-05-22, 07:50 PM
(26-05-22, 06:16 PM)Đình Phán Đã viết: Private Sub Command11_Click()
sfmTraCuu.Requery
End Sub
Tuy nhiên luôn bị báo lỗi và ko Requery.
Bạn phải ngâm cứu lại cách tham chiếu để các đối tượng trên Form.
Cái sfmTraCuu bạn đã đặt nó trên Main Form và đặt tên (Name) của nó là gì, khi tham chiếu phải dùng cái Name đó.
Me.sfmTraCuu_subform.Requery
Link: http://access.mvps.org/access/forms/frm0031.htm