Chào mọi người, em có vấn đề như sau, không biết có cách nào bớt nông dân hơn mọi người tư vấn giúp ạ.
Em có 1 file demo như bên dưới. Trong frmNhatKyChung có 2 continues form có quan hệ cha con. Kịch bản là khi TenPhatSinh (trong subform frmPhatSinh) update thì chạy 1 append query, tự động điền các TenNghiepVu (trong sub form frmNghiepVu) tương ứng.
Sẽ không vấn đề gì khi ở tblPhatSinh em không đặt thuộc tính "required" cho các field TenPhatSinh, TenXe, Ngay. Hoặc Validation Rule của 3 trường này đặt là "is not null".
Khi thêm bản ghi mới, sau khi TenPhatSinh update => nó không thực hiện Append query (bởi vì nó buộc phải nhập đủ 3 trường xong nó mới cho Append)
Hiện em đang làm 1 số cách sau với 3 mục tiêu là: Append query ngay khi update TenPhatSinh + Không được bỏ trống dữ liệu bên subform frmPhatSinh + Append query hoạt động được
Cách 1: Đổi thứ tự field trên subform frmNghiepVu, cho thằng TenPhatSinh ở cuối cùng. ( cách này em bỏ vì em muốn thứ tự không thay đổi, để các công việc code sau này đơn giản hơn)
Cách 2: Giữ nguyên thứ tự field, nhưng để defaul value cho field TenXe và Ngay. (Cách này em cũng không muốn xài, em muốn nó để trống - sẽ hạn chế được việc nhập liệu sai Tên xe và ngày - vì có thể lúc nhập liệu đang mải nghĩ vu vơ gì đó, rời bản ghi trong khi chưa sửa TenXe và Ngay.)
Cách 3 ( em chưa thử nhưng dù được cũng thấy nó hơi nông dân): lúc này sẽ bỏ Required hoặc Validation rule cho 2 field TenXe, Ngay
Khi đó sẽ phải giải quyết 2 trường hợp:
-Khi thoát khỏi cái subform frmPhatSinh thì kiểm tra xem có bản ghi nào chưa đầy đủ không ( kiểm tra bằng 1 query chẳng hạn, hay gì đó đại loại thế). Nếu có thì thông báo thiếu dữ liệu và quay trở về bản ghi đó.
-Khi không thoát khỏi subform frmPhatSinh nhưng chuyển sang bản ghi khác (form current) thì cũng kiểm tra như trường hợp trên.
Thiết nghĩ nó hơi lằng nhằng, các pro có cách nào hay chỉ giáo giúp em. Thiết nghĩ có 1 cái event :"Rời bản ghi hiện hành" hay " Trước khi form current" thì nhàn hơn :P
Cảm ơn mọi người đã đọc.
https://www.mediafire.com/file/jmngbxao5vpi1n7/demo.mdb