Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Cách tạo Table/Query từ nhiều Table/Query khác
#1
Lightbulb 
Chào mọi người,

Mình có ví dụ như sau, nhờ mọi người hướng dẫn mình với:

Có table HangNhap: có các field Tenhang, SoLuongNhap, NgayNhap, ViTri 
và table Hangxuat: có các field Tenhang, SoLuongXuat, NgayXuat, ViTri
mình muốn tạo một table/Query các field: TenHang, SoLuongNhap, SoLuongXuat,ConLai (=SoLuongNhap-SoLuongXuat), ViTri

Như hình đính kèm:
HangNhap:
[Hình: view?usp=sharing]
HangXuat:
[Hình: view?usp=sharing]

BangTongHop
[Hình: view?usp=sharing]

Nếu không thấy hình thì các bạn chuột phải vào hình chọn Open nhé
Chữ ký của shinichikuto shinichikuto,gia nhập Thủ Thuật Access từ 24-08 -18.
Reply
Những người đã cảm ơn
#2
Theo em cái này bác cứ gộp 2 table làm một 1 table thôi 
thêm một field tính chất nữa (nhập, xuất)

thì tạo query dễ hơn nhiều còn như cái này hình như phải dùng union query để ghép 2 cái này lại
Chữ ký của NguyenDungAnh Đến với cuộc đời hai tay trắng
Giã từ trần thế trắng hai tay
Bao nhiêu tiếng nói tiếng cười
Sống ở cuộc đời lãi được vậy thôi
ღღღღღTài sản của NguyenDungAnh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
Table thế này nhé : tên hàng - số lượng - ngày - vị trí - tính chất

Query : tên hàng - soluongnhap: iif(tinhchat="nhập";số lượng;0) - soluongxuat: iif(tinhchat="xuất";số lượng;0) - vị trí- con lại : iif(tinhchat="nhập";số lượng;- số lượng).
Xong bác dùng total query Group  tên hàng vị trí còn 3 cột còn lại để sum là ok
Chữ ký của NguyenDungAnh Đến với cuộc đời hai tay trắng
Giã từ trần thế trắng hai tay
Bao nhiêu tiếng nói tiếng cười
Sống ở cuộc đời lãi được vậy thôi
ღღღღღTài sản của NguyenDungAnh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
(24-08-18, 11:04 PM)NguyenDungAnh Đã viết: Table thế này nhé : tên hàng - số lượng - ngày - vị trí - tính chất

Query : tên hàng - soluongnhap: iif(tinhchat="nhập";số lượng;0) - soluongxuat: iif(tinhchat="xuất";số lượng;0) - vị trí- con lại : iif(tinhchat="nhập";số lượng;- số lượng).
Xong bác dùng total query Group  tên hàng vị trí còn 3 cột còn lại để sum là ok

Làm thế dữ liệu rất rối bạn ạ vì dữ liệu nhập hàng đã có cả trăm nghìn dòng. Thực ra mình cũng đã làm gầm được như mình muốn chỉ có điều khi update bảng tổng hợp thì bị lỗi gộp dữ liệu cũ mới với nhau
Chữ ký của shinichikuto shinichikuto,gia nhập Thủ Thuật Access từ 24-08 -18.
Reply
Những người đã cảm ơn
#5
Có gì rối đâu bác data trong table mình chủ yếu chỉe để lưu dữ liệu mình nhập xuất thế nào với tạo báo cáo biểu mẫu sổ sách  qua form và report em còn làm 1 table nhapxuat với 1 table chiitiet  quan hệ 1 nhiều giờ cũng vài nghìn dòng rồi chạy vẫn rất ok
Chữ ký của NguyenDungAnh Đến với cuộc đời hai tay trắng
Giã từ trần thế trắng hai tay
Bao nhiêu tiếng nói tiếng cười
Sống ở cuộc đời lãi được vậy thôi
ღღღღღTài sản của NguyenDungAnh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#6
Về nguyên tắc tính xuất tồn, đề nghị xử lý bằng 1 table của bạn NguyenDungAnh là tối ưu nhất. Chỉ cần thêm 1 field nghiệp vụ (nhập/xuất) là xử lý xong bài toán. Có thể dùng hàm if như cách của bạn NguyenDungAnh hoặc gán luôn giá trị tại field nghiệp vụ nhập là 1 xuất là -1. Kết quả giá trị nhập là dương còn giá trị xuất là âm. Chỉ cần một select query đơn giản rồi thêm total để tạo group là có ngay kết quả tồn kho. Cẩn thận, Union query không phải là một query tổng hợp các record của nhiều table mà là hợp các phần tử record của nhiều table. Vì vậy nếu các record giống nhau nó sẽ chỉ chừa 1 record. Do đó sẽ làm sai kết quả.
Ví dụ: Ngày 25/8/2018 nhập 3 lần hàng ABC của công ty X mỗi lần 50kg.
Ta nhập 3 record:
     Ngày        Nhà cung cấp     Tên hàng       Số lượng
25/8/2018         Công ty X          ABC              50kg
25/8/2018         Công ty X          ABC              50kg
25/8/2018         Công ty X          ABC              50kg

Kết quả sau khi sử dũng Union query chỉ còn 1 dòng
25/8/2018         Công ty X          ABC              50kg
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 NguyenDungAnh , maidinhdan
#7
Cám ơn bác an cho em mở mang đầu óc cái field nghiệp vụ làm 1 với -1 thì đã dễ tính toán hơn bao nhiêu rồi vậy mà em không nghĩ ra
Chữ ký của NguyenDungAnh Đến với cuộc đời hai tay trắng
Giã từ trần thế trắng hai tay
Bao nhiêu tiếng nói tiếng cười
Sống ở cuộc đời lãi được vậy thôi
ღღღღღTài sản của NguyenDungAnh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#8
Hì hì! Có những bài toán ta đã giải quyết được từ hồi cấp 2. Nhưng vì đã học xong đại học nên ta đặt vấn để theo kiểu đại học và tự làm khó mình  007
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 NguyenDungAnh
#9
Đúng vậy bác ạ. Có những cách giải quyết quá đơn giản mà mình lại cứ cố làm cho vấn đề nó phức tạp lên rồi giải quyết!
Chữ ký của NguyenDungAnh Đến với cuộc đời hai tay trắng
Giã từ trần thế trắng hai tay
Bao nhiêu tiếng nói tiếng cười
Sống ở cuộc đời lãi được vậy thôi
ღღღღღTài sản của NguyenDungAnh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn tranthanhan1962
#10
(25-08-18, 02:37 PM)tranthanhan1962 Đã viết: Về nguyên tắc tính xuất tồn, đề nghị xử lý bằng 1 table của bạn NguyenDungAnh là tối ưu nhất. Chỉ cần thêm 1 field nghiệp vụ (nhập/xuất) là xử lý xong bài toán. Có thể dùng hàm if như cách của bạn NguyenDungAnh hoặc gán luôn giá trị tại field nghiệp vụ nhập là 1 xuất là -1. Kết quả giá trị nhập là dương còn giá trị xuất là âm. Chỉ cần một select query đơn giản rồi thêm total để tạo group là có ngay kết quả tồn kho. Cẩn thận, Union query không phải là một query tổng hợp các record của nhiều table mà là hợp các phần tử record của nhiều table. Vì vậy nếu các record giống nhau nó sẽ chỉ chừa 1 record. Do đó sẽ làm sai kết quả.
Ví dụ: Ngày 25/8/2018 nhập 3 lần hàng ABC của công ty X mỗi lần 50kg.
Ta nhập 3 record:
     Ngày        Nhà cung cấp     Tên hàng       Số lượng
25/8/2018         Công ty X          ABC              50kg
25/8/2018         Công ty X          ABC              50kg
25/8/2018         Công ty X          ABC              50kg

Kết quả sau khi sử dũng Union query chỉ còn 1 dòng
25/8/2018         Công ty X          ABC              50kg

Mình đang gặp vấn đề như này:

Yêu cầu xuất:
     Ngày yêu cầu   Số phiếu     Tên hàng       Số lượng
       25/8/2018          X              ABC              250kg

Thực tế xuất:
     Ngày             Số phiếu yc     Tên hàng       Số lượng
26/8/2018                  X                ABC              50kg
27/8/2018                  X                ABC              150kg

Tổng hợp còn phải xuất:
     Ngày             Số phiếu yc     Tên hàng       Số lượng yc    Số lượng đã xuất         Còn phải xuất
26/8/2018                  X                ABC              250kg                  50kg                         200kg
27/8/2018                  X                ABC              250kg                 200kg                       50kg

Bạn có thể giúp mình cách tạo ra kết quả như trên được không. Vì thực tế mình làm ra thì tại ô 200kg là 150kg và 50Kg tô đỏ kia nó là 100kg chứ không phải 50kg
Chữ ký của shinichikuto shinichikuto,gia nhập Thủ Thuật Access từ 24-08 -18.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] lấy dữ liệu từ query sang Text box minhminh25767 3 151 13-11-18, 04:01 PM
Bài mới nhất: ongke0711
Photo [Lỗi] Không lấy được data table vunamnet 9 497 03-11-18, 03:57 PM
Bài mới nhất: vunamnet
  Xin hỏi cách so sánh để nâng cấp dữ liệu ledangvan 23 1,761 24-08-18, 11:37 AM
Bài mới nhất: tranthanhan1962
  [Lỗi] Lỗi mất dự liệu trong table thanhtruong 3 385 08-08-18, 02:52 PM
Bài mới nhất: Xuân Thanh
  [Help] Tạo Table xong bị ẩn toidjtjmtoi 2 284 03-08-18, 10:17 AM
Bài mới nhất: toidjtjmtoi

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