Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Viết câu lệnh SQl để tính toán giá trị trên form
#1
Mình bị vướng chỗ viết câu lệnh để tìm các giá trị sau:
1. Số lượng ứng với mã hàng hóa.
(Mình dùng hàm Dlookup để tìm những khi tìm trong bảng CTHD thì có 2 khóa chính là SoHD và MaHH nên khi viết hàm dlookup mà không biết làm sao)
câu lệnh SQL của mình: soluong=dlookup("soluong","cthd",điều kiện ???)
2. Tính tiền vận chuyển TIENVC = SoLuong*DonGia*MucPhi 
3. Thành tiền THANHTIEN=TIENVC+SoLuong*DonGia
(câu 2, 3 phải tính tự động, tức là giá trị phải tự thay đổi. Cái này thì mình chưa có ý tưởng)
Dữ  liệu:
Access 2003:
https://onedrive.live.com/redir?resid=34...file%2cmdb
Access 2013: 
https://onedrive.live.com/redir?resid=34...le%2caccdb
Chữ ký của NganNguyen Xin chào, mình là NganNguyen, Tham gia http://thuthuataccess.com/forum từ ngày 19-10 -14.
Reply
Những người đã cảm ơn
#2
(07-10-15, 10:48 PM)NganNguyen Đã viết: Mình bị vướng chỗ viết câu lệnh để tìm các giá trị sau:
1. Số lượng ứng với mã hàng hóa.
(Mình dùng hàm Dlookup để tìm những khi tìm trong bảng CTHD thì có 2 khóa chính là SoHD và MaHH nên khi viết hàm dlookup mà không biết làm sao)
câu lệnh SQL của mình: soluong=dlookup("soluong","cthd",điều kiện ???)
2. Tính tiền vận chuyển TIENVC = SoLuong*DonGia*MucPhi 
3. Thành tiền THANHTIEN=TIENVC+SoLuong*DonGia
(câu 2, 3 phải tính tự động, tức là giá trị phải tự thay đổi. Cái này thì mình chưa có ý tưởng)
Dữ  liệu:
Access 2003:
https://onedrive.live.com/redir?resid=34...file%2cmdb
Access 2013: 
https://onedrive.live.com/redir?resid=34...le%2caccdb
Trên bảng CTHD 2 khóa là SoHD và MaHH là khóa ngoại (foreign keys) chứ không phải là khóa chính (primary key)
Để tìm đơn giá trên form  
Mã:
Private Sub cboMaHH_AfterUpdate()
DonGia.Value = DLookup("[DMHH]![DONGIA]", "DMHH", "[DMHH]![MAHH]=MAHH.Value")
End Sub

tương tự
Mã:
TIENVC .Value = DLookup("[DONVI]![MUCPHI]", "DONVI", "[DONVI]![MADV] =MADV.Value")

Từ đó tính được:

Mã:
TIENVC.Value = SoLuong.Value * DLookup("[DMHH]![DONGIA]", "DMHH", "[DMHH]![MAHH]=MAHH.Value") * DLookup("[DONVI]![MUCPHI]", "DONVI", "[DONVI]![MADV] =MADV.Value")

THANHTIEN.Value=TIENVC.Value + SoLuong.Value * DLookup("[DMHH]![DONGIA]", "DMHH", "[DMHH]![MAHH]=MAHH.Value")

* Các tham số có tên bảng là các trường trong bảng, Các tham số có .Value là các textbox (textbox nào chưa có thì tạo)
* Những control là tham số thay đổi phải đưa thuật toán tính giá trị liên quan vào event control _AfterUpdate để khi thay đổi giá trị nó sẽ tính lại. 
* Access 2003 và 2013 giống nhau trong cách tính toán này.
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 maidinhdan


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Thủ Thuật] Tạo thanh tiến trình trên Form (Progress bar) khi xử lý dữ liệu ongke0711 18 1,492 21-10-16, 10:17 PM
Bài mới nhất: ongke0711
  [Hỏi] Viết code có điều kiện " lệnh Chạy tiếp khi đóng tbl cho sẵn" Trần Linh 3 140 21-10-16, 11:11 AM
Bài mới nhất: Minh Tiên
  Viết phần quyền sử dụng tt1212 9 491 01-10-16, 12:26 AM
Bài mới nhất: maidinhdan
  Tạo Form đăng ký tài khoản phuc_thanhtien 15 1,018 27-09-16, 12:19 AM
Bài mới nhất: maidinhdan
  [Hỏi] Quá trình thực hiện một lệnh với CSDL dinh_trong_hoa 1 174 02-08-16, 04:06 PM
Bài mới nhất: ongke0711

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ơ