-
RE: Tạo textbox đánh dấu Report
tranthanhan1962 > 06-10-20, 03:51 PM
Cái table của bạn SoCT, SKU, HoaDon, TenHang đều được quyền trùng thì lấy gì phân biệt để cho nó cho phép hay ngăn không cho phép nó append -
RE: Tạo textbox đánh dấu Report
ongke0711 > 06-10-20, 04:08 PM
(06-10-20, 03:48 PM)yamakashi2003 Đã viết: Em vừa test lại khi để default value = o ở tất cả các trường số nó vẫn báo lỗi vậy bác ạ,
Còn về việc tạo soct cho từng report em nghĩ tạo 1 tables tblPhieuNhapXuat và để trường soct dạng autonumber rồi sau đó lấy giá trị ở soct ở đây cho gán bảng chi tiết là sẽ có soct không bị trùng ở từng nhóm hàng của report phiếu nhập phải không bác
- Tôi nói bạn vụ field dạng Number ở trên chỉ là một trường hợp và bạn theo cách đó mà kiểm tra kiểu dữ liệu của các Field còn lại có nhất quán giữa các table không thì Append Query mới cho Append. Ví dụ: field [sl] của bạn ở 1 table dạng ShortText, table khác thì dạng Number.
- SoCT: trong table Nhập Xuất có thể dùng AutoNumber cho nhanh nhưng đây không phải là cách tôi khuyên dùng vì [SoCT] nên là một chuỗi nội dung có ý nghĩa, khi nhìn vào người ta cũng có thể phán đoán được một số thông tin từ đó thay vì là con số nhảy tự động.
Ví dụ: PN_20201006_001 --> Phiếu nhập + Ngày + Stt
Còn trong table "chi tiết nhập xuất" tôi khuyên bạn thêm 1 field ID là Autonumber thì nó có công dụng khác. Bạn không cần dùng gì nhiều đến nó vì mọi thứ tham chiếu bạn dùng KHOÁ NGOẠI là SoCT rồi. Cái field ID này chỉ để tạo Index cho table, dùng để xác định và xoá dòng chi tiết thôi.
Khi bạn thiết kế Table nhập liệu, bạn có nghĩ tới việc Xoá dữ liệu không? Vậy thiết kế như thế nào để việc Xoá được đơn giản nhất. Chỉ thêm chi tiết thiết kế [ID] nhỏ này trong Table thì bạn có thể tiết kiệm và đơn giản hoá code trong việc xoá các dòng trong table chi tiết nhập xuất rồi. Do đó tôi nói thiết kế Table cực kỳ quan trọng. -
RE: Tạo textbox đánh dấu Report
yamakashi2003 > 06-10-20, 06:02 PM
(06-10-20, 04:08 PM)ongke0711 Đã viết:
Vâng bác, thường cái ID dùng auto number, em thường dùng để đánh STT thôi ạ, vì khi in record trên report em không biết làm sao để hiển thị so ID đó trên report, để dùng ID tìm record đó trong bảng(06-10-20, 03:48 PM)yamakashi2003 Đã viết: Em vừa test lại khi để default value = o ở tất cả các trường số nó vẫn báo lỗi vậy bác ạ,
Còn về việc tạo soct cho từng report em nghĩ tạo 1 tables tblPhieuNhapXuat và để trường soct dạng autonumber rồi sau đó lấy giá trị ở soct ở đây cho gán bảng chi tiết là sẽ có soct không bị trùng ở từng nhóm hàng của report phiếu nhập phải không bác
- Tôi nói bạn vụ field dạng Number ở trên chỉ là một trường hợp và bạn theo cách đó mà kiểm tra kiểu dữ liệu của các Field còn lại có nhất quán giữa các table không thì Append Query mới cho Append. Ví dụ: field [sl] của bạn ở 1 table dạng ShortText, table khác thì dạng Number.
- SoCT: trong table Nhập Xuất có thể dùng AutoNumber cho nhanh nhưng đây không phải là cách tôi khuyên dùng vì [SoCT] nên là một chuỗi nội dung có ý nghĩa, khi nhìn vào người ta cũng có thể phán đoán được một số thông tin từ đó thay vì là con số nhảy tự động.
Ví dụ: PN_20201006_001 --> Phiếu nhập + Ngày + Stt
Còn trong table "chi tiết nhập xuất" tôi khuyên bạn thêm 1 field ID là Autonumber thì nó có công dụng khác. Bạn không cần dùng gì nhiều đến nó vì mọi thứ tham chiếu bạn dùng KHOÁ NGOẠI là SoCT rồi. Cái field ID này chỉ để tạo Index cho table, dùng để xác định và xoá dòng chi tiết thôi.
Khi bạn thiết kế Table nhập liệu, bạn có nghĩ tới việc Xoá dữ liệu không? Vậy thiết kế như thế nào để việc Xoá được đơn giản nhất. Chỉ thêm chi tiết thiết kế [ID] nhỏ này trong Table thì bạn có thể tiết kiệm và đơn giản hoá code trong việc xoá các dòng trong table chi tiết nhập xuất rồi. Do đó tôi nói thiết kế Table cực kỳ quan trọng.
Bác chỉ em vụ tạo SoCT được không ạ -
RE: Tạo textbox đánh dấu Report
ongke0711 > 06-10-20, 06:10 PM
(06-10-20, 06:02 PM)yamakashi2003 Đã viết: Vâng bác, thường cái ID dùng auto number, em thường dùng để đánh STT thôi ạ, vì khi in record trên report em không biết làm sao để hiển thị so ID đó trên report, để dùng ID tìm record đó trong bảng
Bác chỉ em vụ tạo SoCT được không ạ
Nếu chỉ thuần tuý là Số thứ tự để hiển thị trong Report thì không cần tạo trong Table làm gì cho tốn dung lượng. Field ID (dạng AutoNumber) không nằm ngoài mục đích tôi nói ở trên. Muốn in thêm cột STT trong Report thì tạo một TextBox =1 và chọn Running Sum trong Property Sheet là được rồi.
Bạn thiết kế lại CSDL chuẩn hoá đi chứ tổ chức Table như vậy thì xin lỗi tôi không hỗ trợ bạn được vì thấy bạn đi sai đường mà còn tiếp tay thì tôi không làm nhé. Sau này kéo theo một đống bùi nhùi phát sinh khác để xử lý. -
RE: Tạo textbox đánh dấu Report
yamakashi2003 > 06-10-20, 06:22 PM
(06-10-20, 06:10 PM)ongke0711 Đã viết: [quote="yamakashi2003" pid='47826' dateline='1601978544']
Nếu chỉ thuần tuý là Số thứ tự để hiển thị trong Report thì không cần tạo trong Table làm gì cho tốn dung lượng. Field ID (dạng AutoNumber) không nằm ngoài mục đích tôi nói ở trên. Muốn in thêm cột STT trong Report thì tạo một TextBox =1 và chọn Running Sum trong Property Sheet là được rồi.
Ý em không phải là đánh số thứ tự, bác lây ví dụ trường ID để tìm record, xóa record, thì em mới hỏi làm sao để hiển thị cái trường ID đó trên report để biết record đó tương ứng với record nào đó bác
Trong trường hợp em dùng form unbound để nhập liệu ạ -
RE: Tạo textbox đánh dấu Report
tranthanhan1962 > 06-10-20, 08:15 PM
Thực tình tôi không hiểu bạn yamakashi2003 đang làm cái gì nữa, khi nghe bạn ấy đối đáp với ongke0711. Về vấn đề nhập xuất hàng để tính nhập xuất tồn cực kỳ đơn giản, nếu các bạn để ý một chút cứ lấy một cái mẫu hóa đơn của tổng cục thuế (mẫu 01GTKT3/001), lấy phần trên làm table chính, phần Tên hàng hóa dịch vụ lam subtable. Table chính thên mã chứng từ (làm khóa chính và nó sẽ là khóa ngoại của subtable), thêm một trường biẻu thị nhập xuất để phân biệt. Chỉ có vậy là xong. Form Outbound để lam gì. Nhâp liêu xong chỉ cần tạo select query thêm cột Số lương tồn chỉ cân dung hàm IIf, nếu nhập thì = số lượng, xuất thì = - số lượng. sum 1 phát ra ngay kết quả kể cả tồn đầu cũng đơn giản -
RE: Tạo textbox đánh dấu Report
ongke0711 > 06-10-20, 10:09 PM
Bởi vậy em mới nói bạn Yamakashi2003 ở bài #9 là tập trung sửa lại Table cho phù hợp, là xương sống của ứng dụng. Chứ bạn này cứ đi lo tìm code xử lý mấy chuyện râu ria xung quanh, lo thiết kế Form, Report giống như xây nhà không móng, sớm muộn cũng sập.