Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] nhờ các bạn giúp đỡ câu query tính tổng trị giá
#1
Sad 
Mình có csdl gồm 3 bảng:
Bảng DMSP (danh muc sản phẩm)

MASP TENSP DVT GIATHANH
SP1 Thau nhựa loại nhỏ Cái 5,000.00
SP2 Thau nhựa loại lớn Cái 7,000.00
SP3 Tấm trải bàn m2 6,000.00
SP4 Ghế nhựa Cái 35,000.00

Bảng SANSUAT

NGAYSX CASX MASP SL_TP SL_PP
04/01/2012 CA1 SP1 100 5
04/01/2012 CA2 SP2 150 2
04/01/2012 CA3 SP3 50 0
04/01/2012 CA4 SP4 60 0
04/02/2012 CA1 SP4 100 2
04/02/2012 CA2 SP3 60 0
04/02/2012 CA3 SP2 80 2
04/02/2012 CA4 SP1 40 0

Bảng DONVI_SX

CASX TENCASX GIATRI_SP GT_PHEPHAM
CA1 Phân xưởng Tây
CA2 Phân xưởng Đông
CA3 Phân xưởng Nam
CA4 Phân xưởng Bắc


Mình cần tạo một query update 2 trường GIATRI_SP và GT_PHEPHAM trong bảng DONVI_SX
Biết GIATRI_SP = SL_TP*GIATHANH
GIATRI_PP = SL_PP*GIATHANH

Mình đã thử nhiều cách nhưng không tài nào tạo được 1 câu update query như thế haiizz...
Mong các bạn giúp đỡ mình với!!!
gửi các bạn file access đính kèm!
Chữ ký của ptkhlk Xin chào, mình là ptkhlk, Tham gia http://thuthuataccess.com/forum từ ngày 21-04 -14.
Reply
Những người đã cảm ơn
#2
(24-04-14, 12:04 AM)ptkhlk Đã viết: ....
Đáng tiếc là Access không hỗ trợ dạng Update nhiều bản ghi thỏa mãn các điều kiện khác nhau. Dạng Query với Subquery kiểu:
UPDATE tblSample as a SET a.Field1=(SELECT abc from tblTotal as b where b.ID=a.ID) hoặc
UPDATE DONVI_SX AS a INNER JOIN qryTotal AS b ON a.CASX = b.CASX SET a.GIATRI_SP = b.GIATRI_PP;
(Trong đó qryTotal là truy vấn tính toán kết quả theo yêu cầu của bạn)
là không thực hiện được.
Để làm điều này, cách đơn giản nhất là sử dụng dạng truy vấn tạo bảng (INSERT INTO) hoặc bổ sung (APPEND).
Tức là DONVI_SX sẽ được tạo lại mỗi khi cần thực hiện tính toán hoặc xóa các số liệu liên quan trong bảng DONVI_SX sau đó thêm.
XIn chia sẻ như vậy!
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn Xuân Thanh
#3
Không thể dùng query để update trong trường hợp này, chỉ có thể
1/ Dùng query để tính toán và xem trực tiếp hoặc MakeTable vào table mới. Khi này table DonViSX chỉ có Mã và Tên
2/ Viết VBA để tính và up vào table DonViSX như cấu trúc của bạ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
Đúng là mình đã thử tìm hiểu các cách viết như bạn paulsteigel nhưng thực hiện không được. Vì thế đành phải tạo 1 bảng tạm trung gian, rồi update giá trị từ bảng tạm đó. Cách này hơi dỡ nhưng đành vậy. Không biết nếu là trên sql server thì có thực hiện được không ta haizz...
Xin cảm ơn các bạn nhiều lắm!!!

À còn 1 trường hợp nữa:
giả sử ta có 2 bảng:
table1 (a, d)
table2 (a, b, c, f)
Mình muốn cập nhật giá trị của field d trên table1 theo công thức d = c*f (table1 và 2 có quan hệ 1 - nhiều). Liệu mình có thể dùng dsum("[c]*[f]","table2", "[a] = '"&table1.[a] &"'" được không ta. Mình có thử update query như thế nhưng sao không được. Trên mạng 1 số bạn bảo là được. liệu có gì đặc biệt ở đây không nhỉ? Mong các bạn chỉ giáo giúp.
Chữ ký của ptkhlk Xin chào, mình là ptkhlk, Tham gia http://thuthuataccess.com/forum từ ngày 21-04 -14.
Reply
Những người đã cảm ơn
#5
À còn 1 trường hợp nữa:
giả sử ta có 2 bảng:
table1 (a, d)
table2 (a, b, c, f)
Mình muốn cập nhật giá trị của field d trên table1 theo công thức d = c*f (table1 và 2 có quan hệ 1 - nhiều). Liệu mình có thể dùng dsum("[c]*[f]","table2", "[a] = '"&table1.[a] &"'" được không ta. Mình có thử update query như thế nhưng sao không được. Trên mạng 1 số bạn bảo là được. liệu có gì đặc biệt ở đây không nhỉ? Mong các bạn chỉ giáo giúp.

nếu vậy cần gì bảng Table 1 làm gì cho tốn công: Khi nào cần trích dẫn hoặc lấy dữ liệu thì bạn chỉ cần thêm 1 trường trong Query cần lấy là OK. trường đó = c*f
Chữ ký của wintq Đang có mấy chương trình đ.ồ á.n tốt nghiệp trước viết cho Sinh viên về: QL nhân sự, Thư viện, QL Báo, QL Bán hàng,......ai có nhu cầu liên hệ: 0904 506 777.
ღღღღღTài sản của wintq (View All Items) ღღღღღ
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
  Lọc query có điều kiện để tạo report honglv157 3 153 01-12-16, 05:15 PM
Bài mới nhất: maidinhdan
  [Help] Xin giúp đỡ về sử dụng hàm Dlookup với nhiều điều kiện dangh5 1 72 30-11-16, 10:44 PM
Bài mới nhất: dangh5
  [Help] ẩn nút ""Close Windown" khi mở query tronghieu9792 4 85 30-11-16, 09:36 PM
Bài mới nhất: tronghieu9792
Question [Help] Cần giúp đỡ tạo query lấy giá trị của dòng liền trước để tính giá trị trung bình luonguct 4 86 23-11-16, 12:33 AM
Bài mới nhất: luonguct
  Hướng Dẫn hướng dẫn làm query tieuho828 6 143 21-11-16, 12:36 AM
Bài mới nhất: toancvp

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ơ