RE: Mong mọi người hướng dẫn làm form nhập dữ liệu
ongke0711 > 25-01-16, 10:58 PM
Cách để thêm dữ liệu vào table bạn có thể dùng kết hợp Select query và Append query
Về CSDL của bạn có một số vấn đề cần phân tích, chỉnh sửa để có thể làm được như yêu cầu của bạn, mới áp dụng phương thức Add new chính xác hơn.
Để lưu các records đã click chọn vào table Bàn giao thiết bị:
b1. Select query table DS thiết bị, tìm các record nào đã được chọn (thông qua field [DaMuon]).
b2. Append các records từ Select Q ở trên vào table Bàn giao thiết bị. Việc thêm các record này bao gồm thêm luôn các thông tin lấy từ form như ngày giao, người giao, người nhận, hiện trạng...-> Xong.
Đối với bước 1 (b1) có mấy vấn đề như sau:
- Nếu dựa vào field [DaMuon] để lọc ra các record (để add vào table Bàn giao) thì làm sao bạn phân biệt được record (thiết bị) nào được bàn giao ngày hôm nay với những thiết bị đã bàn giao trước đó (field [DaMuon] đã check YES)? Table DS thiết bị không có cột ngày giao để làm điều kiện lọc tiếp. Bạn cũng không thể thêm cột [Ngày giao] vào đây vì nếu lần sau giao tiếp thiết bị này thì lưu như thế nào? Do vậy cột [Ngày giao] nằm bên table Bàn giao thiết bị là đúng rồi. Trở lại vấn đề là làm sao để phân biệt "record nào cho mượn hôm nay" theo tôi nghĩ field [DaMuon] có thể đổi lại thành [Selected] và chỉ có hiện trạng "YES" tạm thời khi được chọn trong 1 phiên làm việc của form Bàn giao TB thôi và khi đóng form này sẽ giải phóng field này trả về "NO" toàn bộ record. Khi đó chỉ cần query các record nào có [Selected]= Yes là lọc được các thiết bị được chọn bàn giao trong 1 phiên làm việc (trong ngày).
- Một khi có được các record thiết bị bàn giao, chọn Save (Append Qry) để lưu sang table Bàn giao TB, trả hiện trạng [Selected] về No rồi đóng form hoặc mở 1 phiên làm việc mới (bàn giao tiếp).
Form Bàn giao của bạn chỉ nên là Unbound form thực hiện 1 nhiệm vụ là nghiệp vụ bàn giao (hoặc kết hợp hoàn trả). Muốn xem các phát sinh bàn giao thì bạn làm 1 form liệt kê khác.
Table Bàn giao TB nên có thêm cột [Ngày trả] để phục vụ cho việc query join với table DS thiết tìm ra các thiết bị còn trong kho (chưa cho mượn) dựa vào ngày trả (If [Ngày trả] is Null và [Ngày giao] is not null => thiết bị đang cho mượn).
Bạn ngâm cứu tiếp nhé.