Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Giúp mình tạo Update Query với
#1
Chào các bạn, mình lại gặp phải một vấn đề mà mình thật sự không giải quyết được.
Mình có csdl như thế này
http://www.mediafire.com/?ky90y9qy8kqh24n
Đây là hình ảnh chi tiết các bảng cần dùng
[img][Hình: chitiethd.png][/img]

[img][Hình: hoadon.png][/img]

[Hình: sanpham.png]
yêu cầu đề bài là cập nhật cột thanhtien cho bảng Hoadon. Với công thức: thanhtien=soluong*dongia
mình giả sử thế này: hd002 có 2 sản phẩm là SUAT (số lượng đặt 80, đơn giá: 3000), XUCXI (số lượng đặt 10, đơn giá 36000) Như vậy sau khi cập nhật thì HD002 trong bảng HOADON sẽ có giá trị tại cột thành tiền là 60000 (tức là 80(suat)*3000+10(xucxi)*36000 = 60000).
sau khi lấy 3 bảng ra để tạo query update, Trong ô update to mình dùng công thức Dsum("soluongdat","chitiethd","[chitiethd].[mahd]='"&[hoadon].[mahd]"'")*[dongia]. Kết quả chạy được nhưng hd002 có thành tiền là 3240000, tức là nó lấy tổng số lượng đặt trong hd002 là 80+10=90 nhân với 36000 là đơn giá của xucxi. Mình chỉ còn cách tạo query trung gian lấy thành tiền rồi đưa ngược lại vào câu lệnh update. Như vậy thấy không hay lắm, mong các bạn chỉ cho mình cách nào chỉ dùng một query update là xong. Mình cảm ơn các bạn nhiều.
Chữ ký của sinh_coi Xin chào, mình là sinh_coi, Tham gia http://thuthuataccess.com/forum từ ngày 13-09 -11.
Reply
Những người đã cảm ơn
#2
(09-04-12, 05:00 PM)sinh_coi Đã viết: Chào các bạn, mình lại gặp phải một vấn đề mà mình thật sự không giải quyết được.
Mình có csdl như thế này
http://www.mediafire.com/?ky90y9qy8kqh24n
Đây là hình ảnh chi tiết các bảng cần dùng
[img][Hình: chitiethd.png][/img]

[img][Hình: hoadon.png][/img]

[Hình: sanpham.png]
yêu cầu đề bài là cập nhật cột thanhtien cho bảng Hoadon. Với công thức: thanhtien=soluong*dongia
mình giả sử thế này: hd002 có 2 sản phẩm là SUAT (số lượng đặt 80, đơn giá: 3000), XUCXI (số lượng đặt 10, đơn giá 36000) Như vậy sau khi cập nhật thì HD002 trong bảng HOADON sẽ có giá trị tại cột thành tiền là 60000 (tức là 80(suat)*3000+10(xucxi)*36000 = 60000).
sau khi lấy 3 bảng ra để tạo query update, Trong ô update to mình dùng công thức Dsum("soluongdat","chitiethd","[chitiethd].[mahd]='"&[hoadon].[mahd]"'")*[dongia]. Kết quả chạy được nhưng hd002 có thành tiền là 3240000, tức là nó lấy tổng số lượng đặt trong hd002 là 80+10=90 nhân với 36000 là đơn giá của xucxi. Mình chỉ còn cách tạo query trung gian lấy thành tiền rồi đưa ngược lại vào câu lệnh update. Như vậy thấy không hay lắm, mong các bạn chỉ cho mình cách nào chỉ dùng một query update là xong. Mình cảm ơn các bạn nhiều.

Phát biểu
Mã:
Dsum("soluongdat","chitiethd","[chitiethd].[mahd]='"&[hoadon].[mahd]"'")*[dongia]

Là gần đúng rồi,ráng chỉnh xíu nữa.
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn sinh_coi
#3
Cảm ơn bạn NONAME đã quan tâm.
Mình post thiếu câu lệnh của mình. Chính xác thì mình đã làm là
DSum("soluongdat","chitiethd","[chitiethd].[mahd]=' " &[hoadon].[mahd] & " ' ") *[Dongia]. Mình viết thiếu dấu &. Kết quả thì không được chính xác như mình đã nói ở trên. Không biết bạn có thể giúp mình được không.
Chữ ký của sinh_coi Xin chào, mình là sinh_coi, Tham gia http://thuthuataccess.com/forum từ ngày 13-09 -11.
Reply
Những người đã cảm ơn
#4
Diễn đàn đa số mọi người dùng Access 2003, vì vậy bạn convert file của mình thành MDB rồi up lên nhé!

Xin lỗi ban chiều mình chưa xem rõ cấu trúc dữ liệu của bạn. Với cấu trúc này, nếu không dùng query trung gian chỉ có cách dùng code thôi chứ không thể trong 1 phát biểu không lồng nhau mà có thể tính ra ngay kết quả.
Làm gì thì cũng phải sum( soluong *dongia)
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn sinh_coi
#5
Cảm ơn bạn Noname, nếu dùng code thì xem ra mình bó tay thôi vì mình không biết lập trình. Nếu co thời gian bạn có thể giúp mình đoạn code đó được không.
Đây là file csdl mình đã chuyển sang access 2003

http://www.mediafire.com/?ffycftsyi22h62x
Chữ ký của sinh_coi Xin chào, mình là sinh_coi, Tham gia http://thuthuataccess.com/forum từ ngày 13-09 -11.
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
  [Help] K biết là lỗi hay gì cần trợ giúp. nhocdevill11 2 54 10 Giờ trước
Bài mới nhất: nhocdevill11
  [Hỏi] Cách loại bỏ icon Filter trên Datasheet Form có nguồn là Query. toancvp 2 102 19-10-16, 08:53 PM
Bài mới nhất: toancvp
  [Help] Nhờ anh em trong diễn đàn giúp mình thiết kế chương trình báo dịch hàng ngày vinhpaint 1 258 21-06-16, 09:15 AM
Bài mới nhất: zinzin8x
  [Help] ai giúp mình code lại sql này thành access với li_95 0 133 24-04-16, 05:59 PM
Bài mới nhất: li_95
  Hướng dẫn giúp câu lệnh mở file access khác và lệnh import data. chihienphuco 5 3,899 17-11-15, 09:47 AM
Bài mới nhất: kieu manh

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ơ