Nhân đây cũng nhắc các bác rằng : Khi tạo lập 1 báo cáo (ở đây là sổ chi tiết VT) thì phải đặc biệt chú ý đến thông tin mà nó thể hiện.
Không dư mà cũng không thừa.
VD : Cột tên hàng hóa, ĐVT là không cần thiết. Vì ở trên đã thể hiện rồi. Mỗi sổ là 1 mã vật tư đi kèm với các chỉ tiêu phụ như TÊN, ĐƠN VỊ TÍNH, XUẤT XỨ. . . ., vậy thì việc lặp lại là vô nghĩa
Trong khi đó, nội dung của nghiệp vụ đó lại không hề có (cái này rất quan trọng), và nếu cần thiết thì sẽ cần cả tên đơn vị Xuất nhập nữa.
Có làm như thế thì một báo cáo mới trở thành "Pro" được.
--------------------------------------------------------------
To Thien :
- MaVT là phải lấy từ 1 nguồn, có thể qua nhiều tầng nấc nhưng phải lấy từ một nguồn.
VD : Nhật ký NX, Sổ chi tiết, Bảng tổng hợp : Tất cả mã vật tư phải lấy cùng ở 1 nguồn và không trùng lắp, chứ không thể lấy lung tung được.
ở VD trên thì mình không có nguồn nên đành trích ra từ NKNX.
Chứ ai lại Validation mà không sắp xếp, lặp lại, có hàng trống . . .
-TH mã ở Sổ chi tiết không nên dùng validation mà nên dùng Combobox, vừa đẹp lại vừa dễ chọn lựa (vì có cả tên, chữ to). Hơn nữa khi dùng CB thì có thể lợi dụng sự kiện CB-Change để tính ngay ra : TÊN VT; ĐVT; SỐ DƯ ĐẦU KỲ. Như vậy trên sổ chỉ toàn con số, không có công thức --->> Tốc độ nhanh hơn, dung lượng giảm.
- Trong bảng NKNX không nên để quá nhiều hàng trống, quá nhiều công thức "khủng bố" như vậy. Vì các công thức là tương đồng, vì vậy chỉ cần tạo ra 1 sub chạy từ trên xuống là OK. Như vậy File sẽ nhẹ hơn rất nhiều
-Ngày tháng trong bảng rất lung tung, có khi lại để trống(tối kỵ). Thử xem qua File của mình xem, khi làm sổ xong, sort theo ngày tháng thì số tồn bị âm rất nhiều.
- Thien thường làm 1 tháng 1 File. Đây là điều không hợp lý. Một người rất khá về excel như cậu không nên lãng phí như vậy. Ta có thể làm cả 1 năm (hoặc nhiều) trên 1 File. Chính vì vậy các báo cáo của mình thường có thêm chỉ tiêu : Từ ngày . .. . đến ngày .. . . . Như vậy dòng dữ liệu là liên tục. Khi một số thay đổi là tất cả các số liệu khác sẽ thay đổi theo, nhịp nhàng và ăn khớp.
- Còn rất nhiều nữa, nhưng có lẽ cậu nên bắt đầu từ :
Cấu trúc dữ liệu
----------------------------------------------------
To ThuNghi : Đã lỡ sửa Bảng tổng hợp rồi thì dùng VBA luôn, ai lại để quá trời công thức như vậy (Đơn giản như : Copy Formula->Paste Value)
Thân!
Thien đã viết:
Dear MrHiếu & Thunghi
He He vui quá.
Rất cảm ơn 2 bạn quan tâm hướng dẫn. Xem sơ qua thấy 2 code gần giống nhau. Mình nghiên cứu có gì không hiểu nhờ giải thích hộ.
Thân chào.
PS: Bác Hiếu hay thay đổi cấu trúc file của mình quá nhỉ. Như vậy sẽ làm mình khó học & ứng dụng lắm đấy.
Nếu chỉ để học code không thôi thì có lẽ mình cũng chẳng bận tâm lắm về đề tài này, vì các bác ở trên đây đều có thể giúp Thien các code về vòng lặp thôi.
Cái mà mình muốn Thien nhìn xa hơn, cao hơn, cái mà cần quan tâm trước khi viết code đó là
tính chuyên nghiệp của 1 báo cáo,
sự tối ưu (trong chừng mực có thể) của 1 CSDL.
Có được cái đó thì mới viết code tốt được (bởi vì code đổi hởi sự tối ưu rất cao), vì code chẳng qua là để phục vụ các báo cáo, và báo cáo để phục vụ chúng ta.
Chính điều này mới làm chúng ta nhanh tiến bộ.
Đây mới chính là cái mà mình muốn truyền đạt lại cho bạn.
Hãy xem lại mẫu sổ của mình, mặc dù nó chưa phải là tối ưu, nhưng ít nhất nó cũng thể hiện được những thông tin cơ bản nhất vầ XN chi tiết của Vật tư đó mà không có thông tin nào bị thừa, bị trùng lắp cả.
Thân!