Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] Bị nhân đôi giá trị !
#1
Chào tất cả mọi người !

Mình có 1 file mẫu như đính kèm: https://drive.google.com/file/d/1GN5-1_x...GuSiBbVPM2


Vấn đề mình gặp phải là:
 - khi tổng số lượng nhập và xuất thì hay bị nhân lên theo cấp số hóa đơn hoặc phiếu nhập
 - Khi thống kế số lượng tồn kho thì chỉ hiển thị danh sách các sản phẩm có nằm trong hóa đơn hoặc trong pheieus nhập thì mới hiển thị.
còn các sản phẩm khác thì không?

anh/chị bạn nào có thể bỏ chút time check qua giúp mình với. mình cám ơn !
Chữ ký của Popeye Popeye,gia nhập Thủ Thuật Access từ 11-06 -18.
Reply
Những người đã cảm ơn
#2
Bạn tham khảo bài viết của tôi ở đây
http://thuthuataccess.com/forum/thread-4930.html
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
Mới xem qua file của bạn
1/ Xem lại cách đặt tên mã hàng hóa,nên viết liền nhau không có khoảng trắng ở giữa. Vụ nhân đôi số lượng có thể là do cái này
2/ Bỏ cái PrimariKey MaHang va MaPN,MaPX ơ 2 table nhập, xuất chi tiết vì đây chỉ là khóa phụ
Sau khi bỏ hết thì query Tonkho của bạn như sau

Mã PHP:
SELECT AIOKho.MaHangSum(IIf([SLNhap]>0,[SLNhap],0)) AS TongNhapSum(IIf([SLBan]>0,[SLBan],0)) AS TongXuat, [TongNhap]-[TongXuat] AS TonKho
FROM 
(AIOKho LEFT JOIN AIOHoadonchitiet ON AIOKho.MaHang AIOHoadonchitiet.MaHangLEFT JOIN AIOPhieunhapchitiet ON AIOKho.MaHang AIOPhieunhapchitiet.MaHang
GROUP BY AIOKho
.MaHang

Nói thêm nếu làm như bạn sẽ không tính được tồn kho theo ngày. Tham khảo theo dường dẫn trên
Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
(27-07-18, 07:29 PM)Xuân Thanh Đã viết: Mới xem qua file của bạn
1/ Xem lại cách đặt tên mã hàng hóa,nên viết liền nhau không có khoảng trắng ở giữa. Vụ nhân đôi số lượng có thể là do cái này
2/ Bỏ cái PrimariKey MaHang va MaPN,MaPX ơ 2 table nhập, xuất chi tiết vì đây chỉ là khóa phụ
Sau khi bỏ hết thì query Tonkho của bạn như sau

Mã PHP:
SELECT AIOKho.MaHangSum(IIf([SLNhap]>0,[SLNhap],0)) AS TongNhapSum(IIf([SLBan]>0,[SLBan],0)) AS TongXuat, [TongNhap]-[TongXuat] AS TonKho
FROM 
(AIOKho LEFT JOIN AIOHoadonchitiet ON AIOKho.MaHang AIOHoadonchitiet.MaHangLEFT JOIN AIOPhieunhapchitiet ON AIOKho.MaHang AIOPhieunhapchitiet.MaHang
GROUP BY AIOKho
.MaHang

Nói thêm nếu làm như bạn sẽ không tính được tồn kho theo ngày. Tham khảo theo dường dẫn trên
Thân mến

Chào Xuân Thanh !
Mình rất vui và cám ơn khi được Xuân Thanh và mọi người xem qua  vấn đề và đã hướng cho mình 1 số cách xử lý.
Mình xin được trả lời lại sau khi đã thử cách của Xuân Thanh hướng tới cách giải quyết vấn đề ở trên như sau:


1/ Bảng mã hàng: bảng mã này là bảng mã sản phẩm thực nên ko sửa được ý :sad
2/ MÌnh có bỏ " Khóa chính " MaHang ở Chitietphieunhap và chitietphieu xuất như Xuân Thanh có hướng dẫn.
Sau khi tạo liên kết lại giữa các bảng xong. thì mình có gặp thêm 1 vấn đề đó là: khi nhâp hóa đơn, hay hóa đơn chi tiết. ko thể thêm sản phẩm thứ 2 vào đc
( có nghĩa là, mình chỉ cho thêm đc 1 sản phẩm/ hóa đơn. sad
Chữ ký của Popeye Popeye,gia nhập Thủ Thuật Access từ 11-06 -18.
Reply
Những người đã cảm ơn
#5
(28-07-18, 09:56 AM)Popeye Đã viết:
(27-07-18, 07:29 PM)Xuân Thanh Đã viết: Mới xem qua file của bạn
1/ Xem lại cách đặt tên mã hàng hóa,nên viết liền nhau không có khoảng trắng ở giữa. Vụ nhân đôi số lượng có thể là do cái này
2/ Bỏ cái PrimariKey MaHang va MaPN,MaPX ơ 2 table nhập, xuất chi tiết vì đây chỉ là khóa phụ
Sau khi bỏ hết thì query Tonkho của bạn như sau

Mã PHP:
SELECT AIOKho.MaHangSum(IIf([SLNhap]>0,[SLNhap],0)) AS TongNhapSum(IIf([SLBan]>0,[SLBan],0)) AS TongXuat, [TongNhap]-[TongXuat] AS TonKho
FROM 
(AIOKho LEFT JOIN AIOHoadonchitiet ON AIOKho.MaHang AIOHoadonchitiet.MaHangLEFT JOIN AIOPhieunhapchitiet ON AIOKho.MaHang AIOPhieunhapchitiet.MaHang
GROUP BY AIOKho
.MaHang

Nói thêm nếu làm như bạn sẽ không tính được tồn kho theo ngày. Tham khảo theo dường dẫn trên
Thân mến

Chào Xuân Thanh !
Mình rất vui và cám ơn khi được Xuân Thanh và mọi người xem qua  vấn đề và đã hướng cho mình 1 số cách xử lý.
Mình xin được trả lời lại sau khi đã thử cách của Xuân Thanh hướng tới cách giải quyết vấn đề ở trên như sau:


1/ Bảng mã hàng: bảng mã này là bảng mã sản phẩm thực nên ko sửa được ý :sad
2/ MÌnh có bỏ " Khóa chính " MaHang ở Chitietphieunhap và chitietphieu xuất như Xuân Thanh có hướng dẫn.
Sau khi tạo liên kết lại giữa các bảng xong. thì mình có gặp thêm 1 vấn đề đó là: khi nhâp hóa đơn, hay hóa đơn chi tiết. ko thể thêm sản phẩm thứ 2 vào đc
( có nghĩa là, mình chỉ cho thêm đc 1 sản phẩm/ hóa đơn. sad

1/ Làm theo cái chữ màu đỏ chưa? Chuyển từ Yes thành No dạng một ông có nhiều bà. Cũng là Bà Chủ nhưng ai đến trước thì xếp trước, ai đên sau thì xếp sau
2/ Chuyển từ khoảng trắng sang dấu gạch nối được không? Chứ dể khoảng trắng trong các Mã Hàng thì không ổn
Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#6
(28-07-18, 10:09 AM)Xuân Thanh Đã viết:
(28-07-18, 09:56 AM)Popeye Đã viết:
(27-07-18, 07:29 PM)Xuân Thanh Đã viết: Mới xem qua file của bạn
1/ Xem lại cách đặt tên mã hàng hóa,nên viết liền nhau không có khoảng trắng ở giữa. Vụ nhân đôi số lượng có thể là do cái này
2/ Bỏ cái PrimariKey MaHang va MaPN,MaPX ơ 2 table nhập, xuất chi tiết vì đây chỉ là khóa phụ
Sau khi bỏ hết thì query Tonkho của bạn như sau

Mã PHP:
SELECT AIOKho.MaHangSum(IIf([SLNhap]>0,[SLNhap],0)) AS TongNhapSum(IIf([SLBan]>0,[SLBan],0)) AS TongXuat, [TongNhap]-[TongXuat] AS TonKho
FROM 
(AIOKho LEFT JOIN AIOHoadonchitiet ON AIOKho.MaHang AIOHoadonchitiet.MaHangLEFT JOIN AIOPhieunhapchitiet ON AIOKho.MaHang AIOPhieunhapchitiet.MaHang
GROUP BY AIOKho
.MaHang

Nói thêm nếu làm như bạn sẽ không tính được tồn kho theo ngày. Tham khảo theo dường dẫn trên
Thân mến

Chào Xuân Thanh !
Mình rất vui và cám ơn khi được Xuân Thanh và mọi người xem qua  vấn đề và đã hướng cho mình 1 số cách xử lý.
Mình xin được trả lời lại sau khi đã thử cách của Xuân Thanh hướng tới cách giải quyết vấn đề ở trên như sau:


1/ Bảng mã hàng: bảng mã này là bảng mã sản phẩm thực nên ko sửa được ý :sad
2/ MÌnh có bỏ " Khóa chính " MaHang ở Chitietphieunhap và chitietphieu xuất như Xuân Thanh có hướng dẫn.
Sau khi tạo liên kết lại giữa các bảng xong. thì mình có gặp thêm 1 vấn đề đó là: khi nhâp hóa đơn, hay hóa đơn chi tiết. ko thể thêm sản phẩm thứ 2 vào đc
( có nghĩa là, mình chỉ cho thêm đc 1 sản phẩm/ hóa đơn. sad

1/ Làm theo cái chữ màu đỏ chưa? Chuyển từ Yes thành No dạng một ông có nhiều bà. Cũng là Bà Chủ nhưng ai đến trước thì xếp trước, ai đên sau thì xếp sau
2/ Chuyển từ khoảng trắng sang dấu gạch nối được không? Chứ dể khoảng trắng trong các Mã Hàng thì không ổn
Thân mến

1/ Mình có sửa rồi: 
trong lúc test lại vấn đề bị nhân đôi giá trị: 
có lúc mã này bị có lúc mã khác bị: trong khi mình đã xóa hết dấu cách để chạy thử tìm phương án giải quyết rồi.
[Hình: a.png]

2/ Vấn đề này mới nhức nhối.
là có khoảng 80.000 sản phẩm có chứa dấu cách. và được đồng bộ với Web,exel...
Nhờ Xuân Thanh, ngoài cách giải quyết thêm dấu _ ra thì còn phương án nào có thể khả thi ko ạ..
Mình cám ơn !
Chữ ký của Popeye Popeye,gia nhập Thủ Thuật Access từ 11-06 -18.
Reply
Những người đã cảm ơn
#7
Bây giờ mới rảnh và xem kỹ lại bài của bạn
1/ Thực hiện bỏ PrimaryKey như hướng dẫn trên
2/ Không phải thay đổi lại Mã Hàng vì MaHang là Text
3/Lập 3 query sau để tính tồn theo kiểu của bạn

3.1/ qryNhap
Mã PHP:
SELECT AIOPhieunhapchitiet.MaHangSum(AIOPhieunhapchitiet.SLNhap) AS Nhap
FROM AIOPhieunhapchitiet
GROUP BY AIOPhieunhapchitiet
.MaHang

3.2/ qryBan
Mã PHP:
SELECT AIOHoadonchitiet.MaHangSum(AIOHoadonchitiet.SLBan) AS Ban
FROM AIOHoadonchitiet
GROUP BY AIOHoadonchitiet
.MaHang


3.3/ qryTon
Mã PHP:
SELECT AIOKho.MaHangSum(IIf([Nhap]>0,[Nhap],0)) AS TongNhapSum(IIf([Ban]>0,[Ban],0)) AS TongBan, [TongNhap]-[TongBan] AS TonKho
FROM 
(AIOKho LEFT JOIN qryNhap ON AIOKho.MaHang qryNhap.MaHangLEFT JOIN qryBan ON AIOKho.MaHang qryBan.MaHang
GROUP BY AIOKho
.MaHang
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#8
(28-07-18, 04:33 PM)Xuân Thanh Đã viết: Bây giờ mới rảnh và xem kỹ lại bài của bạn
1/ Thực hiện bỏ PrimaryKey như hướng dẫn trên
2/ Không phải thay đổi lại Mã Hàng vì MaHang là Text
3/Lập 3 query sau để tính tồn theo kiểu của bạn

3.1/ qryNhap
Mã PHP:
SELECT AIOPhieunhapchitiet.MaHangSum(AIOPhieunhapchitiet.SLNhap) AS Nhap
FROM AIOPhieunhapchitiet
GROUP BY AIOPhieunhapchitiet
.MaHang

3.2/ qryBan
Mã PHP:
SELECT AIOHoadonchitiet.MaHangSum(AIOHoadonchitiet.SLBan) AS Ban
FROM AIOHoadonchitiet
GROUP BY AIOHoadonchitiet
.MaHang


3.3/ qryTon
Mã PHP:
SELECT AIOKho.MaHangSum(IIf([Nhap]>0,[Nhap],0)) AS TongNhapSum(IIf([Ban]>0,[Ban],0)) AS TongBan, [TongNhap]-[TongBan] AS TonKho
FROM 
(AIOKho LEFT JOIN qryNhap ON AIOKho.MaHang qryNhap.MaHangLEFT JOIN qryBan ON AIOKho.MaHang qryBan.MaHang
GROUP BY AIOKho
.MaHang

1/ Cám ơn Xuân Thanh đã giải được bài toán mà mình đang gặp phải.
dù đã giải được bài đã đề ra và đã hiểu cách hoạt động theo cách giải như trên. ko dừng ở lại là đã giải đc bài toán đó. Mình vẫn thử chạy mà ko xóa bỏ khóa chính mà Xuân Thanh đã bôi đỏ ở trên. và kết quả vẫn ra: Tổng nhập, tỏng xuất, tồn với con số chính xác

Vậy mình muốn hỏi với sự sắp xếp các trường, khóa chính, khóa phụ, liên kết như vậy liệu có gặp hạn chế cho việc sau này không ạ !

2/ Xuân Thanh có nêu ở trên là sẽ không thể tổng kết theo ngày được là vì sao ạ ? ( trên thực tế mình muốn tổng kết theo tháng )
Chữ ký của Popeye Popeye,gia nhập Thủ Thuật Access từ 11-06 -18.
Reply
Những người đã cảm ơn
#9
hình như là hơi gặp vấn đề thật sad
Đau đầu quá

1/ Giờ mình đang muốn có thể kiểm tra số lượng nhập, xuất theo ngày hoặc theo tháng =>> tồn theo tháng, theo ngày ( kiểm tra )
2/ mình có thử làm nãy giờ hơi bị rắc rối và ko ra kết quả. có thể sau này sẽ bị phát sinh với table, field + liên kết các bảng như trong hình ở trên
Phiền Xuân Thanh kiểm tra, rồi có thể định hướng giúp mình cách làm, sao cho có thể hạn chế lỗi phát sinh sau này đc ko ạ ?
Vì chưa học access bao giờ và có mua tk học access ở edumall + tài liệu loanh quanh trên mạng. nên sẽ gặp nhiêu vấn đề. Nên có thể có những câu hỏi đơn giản mà mình ko biết nên mọi người thông cảm !
Chữ ký của Popeye Popeye,gia nhập Thủ Thuật Access từ 11-06 -18.
Reply
Những người đã cảm ơn
#10
Chính cách phân tích các table đã tạo sự phức tạp gây ra sự khó khăn cho tác giả. Thực ra chỉ cần ghép 2 table AIOPhieunhap & AIOHoadon thành table AIOHoaDonNhapXuat thêm một field xác định record nào nhập và record nào xuất, và 2 table AIOPhieunhapchitiet và AIOHoadonchitiet thành AIOCchitietnhapxuat là xong bài toán tồn kho.
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Popeye


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Xử lý biểu thức,toán tử.. để "lừa" Criteria của query nhận giá trị??? vkaccess 1 633 25-11-17, 11:19 PM
Bài mới nhất: maidinhdan
  Hướng Dẫn Query cấp phát quần áo cho công nhân tieuho828 10 2,966 15-02-17, 10:36 AM
Bài mới nhất: tieuho828
  [Hỏi] cách lọc nhân viên làm việc ở 2 phòng ban? hoanghai902 1 723 27-11-16, 04:49 PM
Bài mới nhất: Noname
Question [Help] không làm tròn số khi nhân số % trong Access 2007 huymcsa 6 2,826 17-03-13, 12:13 PM
Bài mới nhất: huymcsa
  [Help] Lọc nhân viên thotho 3 1,350 26-12-12, 10:58 PM
Bài mới nhất: thotho

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line