sinh_coi > 09-04-12, 05:00 PM
Noname > 09-04-12, 05:07 PM
(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][/img]
[img][/img]
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.
Dsum("soluongdat","chitiethd","[chitiethd].[mahd]='"&[hoadon].[mahd]"'")*[dongia]
sinh_coi > 09-04-12, 05:15 PM
Noname > 09-04-12, 10:10 PM
sinh_coi > 11-04-12, 10:32 AM