-
Tạo textbox đánh dấu Report
yamakashi2003 > 05-10-20, 10:59 PM
Em chào các bác ạ,
Em có 1 bài toán: Em tạo 1 form nhập liệu vào 1 table tạm, nhập nhiều mã hàng (SKU) có soct giống nhau để in report. sau đó em lại append các mã sku và cả soct này vào tablechinh. Giờ em muốn nhờ mọi người giúp tạo cái textbox soct tự chọn giá trị trên form, và khi add vào table chính nó không trùng với record đã có.
Mỗi 1 lần add vào table chính, các mã hàng sẽ có cùng soct và số này không bị trùng với các số đã có trước đó
Để khi in report ra em nhìn trên report soct là sẽ tìm được những mã hàng có cùng soct trong table chính
Em gửi file : http://www.mediafire.com/file/ftfoskqoud...accdb/file
Nhờ các bác xem giúp ạ,
Em chưa biết cách để tạo soct cho cac mã hàng trên cùng 1 report để soct không bị trùng với các hàng hóa đã có trong bảng T_chitietHang ở file ạ -
RE: Tạo textbox đánh dấu Report
tranthanhan1962 > 06-10-20, 12:31 AM
Tạo query Find Unmatched Query Wizard. Chon field cần bỏ những giá trị đã có sau đó mới append -
RE: Tạo textbox đánh dấu Report
yamakashi2003 > 06-10-20, 02:36 AM
(06-10-20, 12:31 AM)tranthanhan1962 Đã viết: Tạo query Find Unmatched Query Wizard. Chon field cần bỏ những giá trị đã có sau đó mới append
Bác ơi, em chưa hiểu lắm bác nói rõ được không ạ
Tóm lại bài toàn của em là: Em tạo 1 form nhập liệu vào 1 table tạm, nhập nhiều mã hàng (SKU) có soct giống nhau để in report. sau đó em lại append các mã sku và cả soct này vào tablechinh. Giờ em muốn nhờ mọi người giúp tạo cái textbox soct tự chọn giá trị trên form, và khi add vào table chính nó không trùng với record đã có.
Mỗi 1 lần add vào table chính, các mã hàng sẽ có cùng soct và số này không bị trùng với các số đã có trước đó
Để khi in report ra em nhìn trên report soct là sẽ tìm được những mã hàng có cùng soct trong table chính -
RE: Tạo textbox đánh dấu Report
ongke0711 > 06-10-20, 09:18 AM
(06-10-20, 02:36 AM)yamakashi2003 Đã viết: Tóm lại bài toàn của em là: Em tạo 1 form nhập liệu vào 1 table tạm, nhập nhiều mã hàng (SKU) có soct giống nhau để in report. sau đó em lại append các mã sku và cả soct này vào tablechinh. Giờ em muốn nhờ mọi người giúp tạo cái textbox
...
Bạn đã tự làm được đến đâu? file demo của bạn đâu, up lên đây mọi người xem và hướng dẫn cho chính xác. -
RE: Tạo textbox đánh dấu Report
yamakashi2003 > 06-10-20, 10:15 AM
(06-10-20, 09:18 AM)ongke0711 Đã viết:
Em gửi link file ở bài viết rồi, bác xem giúp em ạ(06-10-20, 02:36 AM)yamakashi2003 Đã viết: Tóm lại bài toàn của em là: Em tạo 1 form nhập liệu vào 1 table tạm, nhập nhiều mã hàng (SKU) có soct giống nhau để in report. sau đó em lại append các mã sku và cả soct này vào tablechinh. Giờ em muốn nhờ mọi người giúp tạo cái textbox
...
Bạn đã tự làm được đến đâu? file demo của bạn đâu, up lên đây mọi người xem và hướng dẫn cho chính xác. -
RE: Tạo textbox đánh dấu Report
tranthanhan1962 > 06-10-20, 11:01 AM
(06-10-20, 02:36 AM)yamakashi2003 Đã viết: Bác ơi, em chưa hiểu lắm bác nói rõ được không ạ
Hì hì! CSDL không có! Nói chung chung thì phải hướng dẫn chung chung thôi
Tóm lại bài toàn của em là: Em tạo 1 form nhập liệu vào 1 table tạm, nhập nhiều mã hàng (SKU) có soct giống nhau để in report. sau đó em lại append các mã sku và cả soct này vào tablechinh. Giờ em muốn nhờ mọi người giúp tạo cái textbox soct tự chọn giá trị trên form, và khi add vào table chính nó không trùng với record đã có.
Mỗi 1 lần add vào table chính, các mã hàng sẽ có cùng soct và số này không bị trùng với các số đã có trước đó
Để khi in report ra em nhìn trên report soct là sẽ tìm được những mã hàng có cùng soct trong table chính -
RE: Tạo textbox đánh dấu Report
yamakashi2003 > 06-10-20, 11:21 AM
(06-10-20, 11:01 AM)tranthanhan1962 Đã viết:
bac oi em sua lai bai viet va up file luc nay roi, bac xem giup em a(06-10-20, 02:36 AM)yamakashi2003 Đã viết: Bác ơi, em chưa hiểu lắm bác nói rõ được không ạ
Hì hì! CSDL không có! Nói chung chung thì phải hướng dẫn chung chung thôi
Tóm lại bài toàn của em là: Em tạo 1 form nhập liệu vào 1 table tạm, nhập nhiều mã hàng (SKU) có soct giống nhau để in report. sau đó em lại append các mã sku và cả soct này vào tablechinh. Giờ em muốn nhờ mọi người giúp tạo cái textbox soct tự chọn giá trị trên form, và khi add vào table chính nó không trùng với record đã có.
Mỗi 1 lần add vào table chính, các mã hàng sẽ có cùng soct và số này không bị trùng với các số đã có trước đó
Để khi in report ra em nhìn trên report soct là sẽ tìm được những mã hàng có cùng soct trong table chính -
RE: Tạo textbox đánh dấu Report
yamakashi2003 > 06-10-20, 11:26 AM
(06-10-20, 11:01 AM)tranthanhan1962 Đã viết:
Tiện bác cho em hỏi trong file em gửi ở đầu bài viết ạ,(06-10-20, 02:36 AM)yamakashi2003 Đã viết: Bác ơi, em chưa hiểu lắm bác nói rõ được không ạ
Hì hì! CSDL không có! Nói chung chung thì phải hướng dẫn chung chung thôi
Tóm lại bài toàn của em là: Em tạo 1 form nhập liệu vào 1 table tạm, nhập nhiều mã hàng (SKU) có soct giống nhau để in report. sau đó em lại append các mã sku và cả soct này vào tablechinh. Giờ em muốn nhờ mọi người giúp tạo cái textbox soct tự chọn giá trị trên form, và khi add vào table chính nó không trùng với record đã có.
Mỗi 1 lần add vào table chính, các mã hàng sẽ có cùng soct và số này không bị trùng với các số đã có trước đó
Để khi in report ra em nhìn trên report soct là sẽ tìm được những mã hàng có cùng soct trong table chính
khi em dùng append query mà cột giá bán ở table phụ rỗng thì nó không cho append vào table chính, và hiện thông báo
ms set o field to null due to a type conversion failure
and it do not add 7 record to the table due to key violations, 0 record due to lock violations, and 0 record due to validation rule violations
Liệu có cách nào để có thể appen được cả cột rỗng không ạ, vì có lúc cột đó có dữ liệu, có lúc không ạ -
RE: Tạo textbox đánh dấu Report
ongke0711 > 06-10-20, 01:19 PM
(06-10-20, 11:26 AM)yamakashi2003 Đã viết: Tóm lại bài toàn của em là: Em tạo 1 form nhập liệu vào 1 table tạm, nhập nhiều mã hàng (SKU) có soct giống nhau để in report. sau đó em lại append các mã sku và cả soct này vào tablechinh. Giờ em muốn nhờ mọi người giúp tạo cái textbox soct tự chọn giá trị trên form, và khi add vào table chính nó không trùng với record đã có.
Mỗi 1 lần add vào table chính, các mã hàng sẽ có cùng soct và số này không bị trùng với các số đã có trước đó
Để khi in report ra em nhìn trên report soct là sẽ tìm được những mã hàng có cùng soct trong table chính
Khoan hãy bàn tới việc tạo SOCT, hãy nói tới việc tổ chức CSDL chuẩn cái đã, CSDL mà lung tung thì làm phức tạp thêm việc code thôi chứ không ích gì.
- Report dựa trên Table dữ liệu, nếu dữ liệu nguồn quá lớn (10k trở lên) thì lúc đó mới nghĩ tới việc tạo 1 "Table tạm" dùng cho Report xong xoá. Dữ liệu it thì truy vấn trực tiếp từ Table nguồn.
- Về việc thiết kế CSDL, tôi thấy bạn thiết kế Table nhập liệu kiểu Excel chứ không phải kiểu CSDL quan hệ (Relational Database). Dữ liệu trùng, được lập lại ở nhiều Table.
- Về việc nhập dữ liệu hàng hoá (SKU): buộc phải có 2 table.
+ 1 Table lưu thông tin chung cho phiếu nhập/xuất (SoCT, Ngay, Nhà cung cấp/người mua, số hoá đơn v.v... Table này có khoá chính (Primaty Key) là SOCT. Ví dụ: "tblPhieuNhapXuat"
+ 1 Table luu chi tiết Nhập/Xuất (SoCT, SKU, Số lượng, giá bán/mua, kho nhập xuất v.v... Table này lấy SoCT là khoá ngoại (Foreign Key). Có thể thiết lập Primary Key cho Table này dựa trên một Field [ID] dạng AutoNumber cũng được để tăng tốc tìm kiếm sau này. Ví dụ: đặt tên "tblPhieuNhapXuat_ChiTiet"
+ Sau khi có 2 table chuẩn để lưu dữ liệu gốc, bạn mới tạo 1 table tạm y như "tblPhieuNhapXuat_ChiTiet" đặt tên "tblPhieuNXCT_Temp" để lưu dữ liệu của Form Nhập Liệu trước khi lưu xuống Table gốc.
- Lưu ý thiết kế tên Field, kiểu dữ liệu cho chuẩn, số ra số, text ra text và phải nhất quán giữa các Table. Không phải ở Table 1 dạng Integer, qua Table cũng Field đó dạng Long Integer.
- Table nào thuộc về Danh Mục thì tạo field mã danh mục cho nó để truy vấn chính xác, nhanh. Ví dụ: T_NganhHang của bạn. Bạn đặt khoá chính sai hoàn toàn. Ngành hàng ít thì dùng dạng Number cho [MaNH] cũng được vì dạng Number sẽ tìm kiếm nhanh hơn Text. Nếu số ngành hàng không vượt qua con số: 255 ngành thì dùng kiểu Byte, nếu hơn 255 và không quá 32.768 thì dùng kiểu Integer. PrimaryKey (PK) sẽ là field [maNH]. Bạn đang thiết lập PK là tên ngành hàng là một đống text tiếng Việt có dấu. Nếu tôi gõ chữ "Hoá Phẩm" bằng font Unicode tổ hợp, nó sẽ khác với Unicode dựng sẳn, mặc dù nhìn giống nhau nhưng bạn lọc sẽ không ra. Nếu tôi gõ chữ "Hoá phẩm" dư một khoảng trắng thì sẽ là một mã khác, và tìm không không ra luôn nhé. Đây là những cái rất cơ bản trong thiết kế Table của Access, nếu bạn bỏ qua thì sau này sẽ gánh hậu quả trong thiết kế ứng dụng. Cụ thể như cái báo lỗi bên dưới bạn gặp phải.
Sau khi có CSDL chuẩn thì mới thiết kế Form, Report, tạo SOCT chuẩn và dễ dàng được.
Trích dẫn:Tiện bác cho em hỏi trong file em gửi ở đầu bài viết ạ,
khi em dùng append query mà cột giá bán ở table phụ rỗng thì nó không cho append vào table chính, và hiện thông báo
ms set o field to null due to a type conversion failure
and it do not add 7 record to the table due to key violations, 0 record due to lock violations, and 0 record due to validation rule violations
Liệu có cách nào để có thể appen được cả cột rỗng không ạ, vì có lúc cột đó có dữ liệu, có lúc không ạ
Lỗi này là do bạn sơ xài trong việc thiết kế Table. Nếu cột dạng Number thì thiết lập Default Value =0 đi để loại bỏ giá trị Null nếu không nhập liệu. -
RE: Tạo textbox đánh dấu Report
yamakashi2003 > 06-10-20, 03:48 PM
(06-10-20, 01:19 PM)ongke0711 Đã viết: [quote="yamakashi2003" pid='47819' dateline='1601954811']
Em cám ơn bác, e sẽ thêm trường id ở các bảng làm prima key
Trích dẫn:Tiện bác cho em hỏi trong file em gửi ở đầu bài viết ạ,
khi em dùng append query mà cột giá bán ở table phụ rỗng thì nó không cho append vào table chính, và hiện thông báo
ms set o field to null due to a type conversion failure
and it do not add 7 record to the table due to key violations, 0 record due to lock violations, and 0 record due to validation rule violations
Liệu có cách nào để có thể appen được cả cột rỗng không ạ, vì có lúc cột đó có dữ liệu, có lúc không ạ
Lỗi này là do bạn sơ xài trong việc thiết kế Table. Nếu cột dạng Number thì thiết lập Default Value =0 đi để loại bỏ giá trị Null nếu không nhập liệu.
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