Đá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
  [Help] Kết quả tính toán theo dòng record tương ứng tvn_hut 5 259 02-06-18, 03:24 PM
Bài mới nhất: tvn_hut
  [Help] So sánh giá trị record trên cùng 1 trường trong 1 bảng để có kết quả tính toán đúng tvn_hut 5 176 29-05-18, 10:39 PM
Bài mới nhất: ongke0711
  [Hỏi] Có nên chuyển toàn bộ query vào vba mrsiro 4 201 26-04-18, 11:19 PM
Bài mới nhất: ongke0711
  [Thủ Thuật] Demo Tổng hợp tất cả các kiểu thông báo tiếng việt trong Access maidinhdan 23 6,464 24-04-18, 08:13 PM
Bài mới nhất: DooHoaangPhuuc
  [Hỏi] AddNew và Edit dữ liệu trên UnboundForm Access pherotao 12 1,029 03-01-18, 10:16 AM
Bài mới nhất: pherotao

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