Hiển thị tên hàng, giá hàng trên màn hình tra cứu như thế nào?

  • Thread starter jay
  • Ngày gửi
J

jay

Guest
2/12/07
1
0
0
tphcm
minh co 1 table sản phẩm đã nhập liệu, mình muốn tạo 1 form nhập liệu , khi mình chọn tên sản phẩm bằng lookup wizard thì record giá tiền sẽ tự động tham chiếu theo tên sản phẩm mình đã chọn theo dữ liệu table sản phẩm đã được nhập, mình muốn xin code để làm được yêu cầu này.
 
Khóa học Quản trị dòng tiền
D

dongnamnb

Sơ cấp
16/11/06
42
0
6
47
Thanh Hóa
Giả sử tên table sản phẩm của bạn là tbl_SanPham, tên trường mã sản phẩm là MaSP, tên trường giá tiền là DonGia thì bạn có thể sử dụng hàm sau:

Function GiaBan(MaSP As String) As Double
Dim db As Database, Rec As Recordset
'Trường hợp form nhập liệu và table sản phẩm được tạo trên cùng 1 tệp mdb
Set db = CurrenntDb
'Trường hợp form nhập liệu và table sản phẩm được tạo trên 2 tệp mdb khác nhau
Set db = OpenDatabase(“đường dẫn đến tệp mdb chứa table sản phẩm”)
Set Rec = db.OpenRecordset("tbl_SanPham", DB_OPEN_DYNASET)
Rec.FindFirst "MaSP = '" & MaSP & "'"
If Rec.NoMatch Then
GiaBan = 0
Else
GiaBan = IIf(IsNull(Rec!DonGia), 0, Rec!DonGia)
End If
Rec.Close
Set db = Nothing
End Function

Lưu ý:
- Nếu tên bảng và tên trường không giống thì bạn có thể sửa lại các tên trong hàm cho đúng với tên đã khai báo ở bảng để sử dụng.
- Nếu trường mã sản phẩm trong bảng bạn đặt là kiểu số thì dòng đầu tiên của hàm bạn khai lại như sau:
Function GiaBan(MaSP As Integer) As Double
và dong thứ 8 đổi thành:
Rec.FindFirst "MaSP = " & MaSP
- Sử dụng: giả sử ở form nhập liệu có textbox đơn giá tên là txt_DonGia và combobox mã sản phẩm tên là cbo_MaSP
Bạn có thêm dòng lệnh sau vào sự kiện afterupdate của combobox mã sản phẩm như sau:
txt_DonGia=DonGia(cbo_MaSP.value)
Chúc thành công!
 
Sửa lần cuối:

Xem nhiều