RE: Cách Copy Data từ Table vào Sub Form
DooHoaangPhuuc > 08-06-19, 04:19 PM
Xin góp ý chút cho cơ sở dữ liệu này.
1. Đối với dữ liệu kiểu loại xe : chỉ cần 1 Table_Cars (trong đó chứa các trường Model Car / IDClass / Class (Kiểu loại xe / Dòng xe / Mã dòng xe ) (ví dụ : GLC200 / X253 / GLC). Như vậy khi nhập liệu chỉ cần chọn CboModelCar là những dữ liệu liên quan tương ứng sẽ được cập nhật (IDClass / Class tương ứng ModelCar sẽ được cập nhật trên Main form "frm_InputLot", điều này sẽ tránh cho việc nhập liệu sai khi phải nhập nhiều vào textbox hay combobox.
2. Tháng sản xuất / năm sản xuất : chỉ cần dùng 1 textbox cũng sẽ được cả tháng và năm (định dạng mmm/yyyy) sau đấy khi chuyển đổi theo số cũng dễ vì chỉ cần dùng hàm ngày tháng năm để giải quyết.
3. Giữa main-form / sub-form dường như thiết kế chưa hợp lý cho lắm :
- Trong quá trình nhập hàng : từ thùng được nhập dữ liệu sẽ có đầy đủ thông tin quy định cho Mã số thùng, Mã Lô hàng , số thùng con hoặc loại danh mục chi tiết bên trong . Vì thế , số thùng sẽ ở Main-form, còn Lô (lot) phụ thuộc vào thùng nên phải ở Sub-form.
Dường như thiết kế Mainform / Subform có gì đó chưa ổn .
4. Textbox Tongsothung (Tổng số thùng) , đây là dữ liệu đếm số thùng nhập , nên dùng hàm Dcount để đếm thì tốt hơn , tránh việc nhập liệu sai -----> báo cáo sẽ sai.
5. Ở Sub-form : CboMaTram (Mã Trạm) khi chọn thì thực chất đây là Mã linh kiện . Như vậy sẽ không phù hợp để sau này lọc ra mã Trạm, cũng như sẽ bị trùng lắp nhau khi phải điều chỉnh linh kiện tương ứng lại cho Trạm để hài hoà phù hợp quá trình sản xuất.
- Trong Sub-form, các trường "Số lô tối đa" hay "Tổng số thùng" (nếu là thùng con trong thùng lớn cùng phải nhập liệu cho từng thùng con mới phù hợp, vì chỉ nhập "Tổng số thùng" là con số dễ dàng nhập sai khi đếm sai. Còn số lot tối đa sẽ phải ở đâu đó trong cơ sở dữ liệu để quy định khi phận vật tư cho phù hợp. Còn đây chỉ dành cho phần nhập liệu.
6. Tiếp cho câu hỏi "Khi mình chọn Mã Model Car là GLC200, thì mình chỉ lấy chữ GLC, và sau đó đem so sánh dữ liệu bên table tbl_InfoThung cột CLASS, nếu trường nào trùng thì sẽ copy CỘT IDTHUNG vào SubForm như trong hình" : đây chỉ cần dùng query lọc "Mã thùng" trong Table_InfoThung với điều kiện lọc ModelCar.
Tuy nhiên do thiết kế các Table sai nên dẫn đế không có liên hệ giữa ModelCar - IDClassCar/ Class (kiểu loại xe / Mã dòng xe / Dòng xe)
Để cơ sở dữ liệu được quản lý chặt chẽ hơn, đôi chút nên thiết kế lại cơ sở dữ liệu . Nhất là phần phân tích cơ sở dữ liệu cho chính xác nhất. Khi đấy sẽ thuận lợi cho các thiết kế hay nâng cấp về sau.
Xin có vài dòng chia sẻ.
DooHoaangPhuuc