-
Nhờ Hướng dẫn lấy Bảng giá trong Form
thaomobilecntv > 24-02-21, 07:08 AM
Chào các bạn thuthuataccess.com!
Mình có tbl_HangHoa gồm: MaHang, TenHang,...,GiaSi, GiaLe
Tbl_DuLieuBanHang gồm: MaHang,...,LoaiKH, DonGia, SoLuong, ThanhTien
Mình muốn tạo Form nhập DuLieuBanHang khi chọn Loại Khách Hàng là "Sỉ" thì trường DonGia sẽ tự động lấy GiaSi trong tbl_HangHoa, ngược lại lấy GiaLe
Xin được hướng dẫn chi tiết ạ! -
RE: Nhờ Hướng dẫn lấy Bảng giá trong Form
ongke0711 > 24-02-21, 09:11 AM
Trong Form nhập liệu:
- Tạo 1 comboBox cboMaHang có Row Source là mã hàng hoá của table Hàng hoá
- Tạo 1 comboBox cho "Loại KH" (Name: cboLoaiKH) có
+ Row Source: 1;"Sỉ";2;"Lẻ"
+ Row Source Type: Value List
+ Default value: 1
+ Column count: 2
+ Column Width: 0"; 1"
- Ở sự kiện AfterUpdate của cả 2 comboBox: cboMaHang và cboLoaiKH -> gọi cái Sub "LayDonGia"
Mã PHP:Private Sub cboMaHang_AfterUpdate()
LayDonGia
End Sub
Private Sub cboLoaiKH_AfterUpdate()
LayDonGia
End Sub
- Copy code cho cái Sub "LayDonGia" vào Form module của cùng Form nhập liệu trên. Code này với điều kiện mã hàng hoá dạng Text nhé, nếu là dạng Number thì bỏ 2 dấu nháy đơn sau dấu "=" của hàm DLookup.
Mã PHP:Sub LayDonGia()
Select Case cboLoaiKH.Value
Case 1
Me.txtDonGia.Value = DLookup("GiaSi", "tbl_HangHoa", "MaHang ='" & Me.cboMaHang & "'")
Case 2
Me.txtDonGia.Value = DLookup("GiaLe", "tbl_HangHoa", "MaHang ='" & Me.cboMaHang & "'")
End Select
End Sub -
RE: Nhờ Hướng dẫn lấy Bảng giá trong Form
thaomobilecntv > 06-03-21, 06:24 AM
Sub LayDonGia()
Select Case cboLoaiKH.Value
Case 1
Me.txtDonGia.Value = DLookup("GiaSi", "tbl_HangHoa", "MaHang ='" & Me.cboMaHang & "'")
Case 2
Me.txtDonGia.Value = DLookup("GiaLe", "tbl_HangHoa", "MaHang ='" & Me.cboMaHang & "'")
End Select
End Sub
Trong hàm Dlookup Me.cboMaHang, Me có ý nghĩa gì -
RE: Nhờ Hướng dẫn lấy Bảng giá trong Form
thaomobilecntv > 06-03-21, 06:32 AM
(24-02-21, 09:11 AM)ongke0711 Đã viết: Trong Form nhập liệu:
- Tạo 1 comboBox cboMaHang có Row Source là mã hàng hoá của table Hàng hoá
- Tạo 1 comboBox cho "Loại KH" (Name: cboLoaiKH) có
+ Row Source: 1;"Sỉ";2;"Lẻ"
+ Row Source Type: Value List
+ Default value: 1
+ Column count: 2
+ Column Width: 0"; 1"
- Ở sự kiện AfterUpdate của cả 2 comboBox: cboMaHang và cboLoaiKH -> gọi cái Sub "LayDonGia"
Mã PHP:Private Sub cboMaHang_AfterUpdate()
LayDonGia
End Sub
Private Sub cboLoaiKH_AfterUpdate()
LayDonGia
End Sub
- Copy code cho cái Sub "LayDonGia" vào Form module của cùng Form nhập liệu trên. Code này với điều kiện mã hàng hoá dạng Text nhé, nếu là dạng Number thì bỏ 2 dấu nháy đơn sau dấu "=" của hàm DLookup.
Mã PHP:Sub LayDonGia()
Select Case cboLoaiKH.Value
Case 1
Me.txtDonGia.Value = DLookup("GiaSi", "tbl_HangHoa", "MaHang ='" & Me.cboMaHang & "'")
Case 2
Me.txtDonGia.Value = DLookup("GiaLe", "tbl_HangHoa", "MaHang ='" & Me.cboMaHang & "'")
End Select
End Sub
Bị lỗi vậy sao xếp? -
RE: Nhờ Hướng dẫn lấy Bảng giá trong Form
ongke0711 > 06-03-21, 08:34 AM
(06-03-21, 06:32 AM)thaomobilecntv Đã viết:
Bị lỗi vậy sao xếp?
- Hình bạn share không xem được. phải share full.
- Từ khoá "Me": đại diện cho đối tượng mà bạn đang thao tác. Ví dụ: bạn đang thao tác trên Form thì Me đại diện cho cái Form đó. Tương tự khi thao tác trên Report cũng vậy.
Me.cboMaHang là tham chiếu đến comboBox mã hàng đang nằm trên Form đang thao tác. -
RE: Nhờ Hướng dẫn lấy Bảng giá trong Form
thaomobilecntv > 07-03-21, 06:30 AM
(06-03-21, 08:34 AM)ongke0711 Đã viết:
https://drive.google.com/file/d/1ajIiUQA...sp=sharing(06-03-21, 06:32 AM)thaomobilecntv Đã viết:
Bị lỗi vậy sao xếp?
- Hình bạn share không xem được. phải share full.
- Từ khoá "Me": đại diện cho đối tượng mà bạn đang thao tác. Ví dụ: bạn đang thao tác trên Form thì Me đại diện cho cái Form đó. Tương tự khi thao tác trên Report cũng vậy.
Me.cboMaHang là tham chiếu đến comboBox mã hàng đang nằm trên Form đang thao tác. -
RE: Nhờ Hướng dẫn lấy Bảng giá trong Form
ongke0711 > 07-03-21, 08:47 AM
Lỗi do bạn copy và dán cái hàm vào sai vị trí.
Tôi nói dán vào Form module tức là mở form ở chế độ design và vô màn hình code VBE của nó và dán vào, không phải dán vào ngăn Module nên nó không hiểu “Me” là đang nói đến cái Form nào. -
RE: Nhờ Hướng dẫn lấy Bảng giá trong Form
thaomobilecntv > 12-03-21, 06:07 AM
(24-02-21, 09:11 AM)ongke0711 Đã viết: Trong Form nhập liệu:
Hỏi ngu chút: chèn mã PHP cho 2 combo MaHang và LoaiKH bằng cách nào
- Tạo 1 comboBox cboMaHang có Row Source là mã hàng hoá của table Hàng hoá
- Tạo 1 comboBox cho "Loại KH" (Name: cboLoaiKH) có
+ Row Source: 1;"Sỉ";2;"Lẻ"
+ Row Source Type: Value List
+ Default value: 1
+ Column count: 2
+ Column Width: 0"; 1"
- Ở sự kiện AfterUpdate của cả 2 comboBox: cboMaHang và cboLoaiKH -> gọi cái Sub "LayDonGia"
Mã PHP:Private Sub cboMaHang_AfterUpdate()
LayDonGia
End Sub
Private Sub cboLoaiKH_AfterUpdate()
LayDonGia
End Sub
- Copy code cho cái Sub "LayDonGia" vào Form module của cùng Form nhập liệu trên. Code này với điều kiện mã hàng hoá dạng Text nhé, nếu là dạng Number thì bỏ 2 dấu nháy đơn sau dấu "=" của hàm DLookup.
Mã PHP:Sub LayDonGia()
Select Case cboLoaiKH.Value
Case 1
Me.txtDonGia.Value = DLookup("GiaSi", "tbl_HangHoa", "MaHang ='" & Me.cboMaHang & "'")
Case 2
Me.txtDonGia.Value = DLookup("GiaLe", "tbl_HangHoa", "MaHang ='" & Me.cboMaHang & "'")
End Select
End Sub
Trước kia mình học Access cơ bản dùng phiên bản 2003 dùng thủ thuật xây dựng Macro, gọi lệnh Setvalue là có thể tính được DonGia, ThanhTien trong Form. Giờ nâng cấp lên Office 2010 vào Macro không tìm thấy lệnh Setvalue nữa
Mong anh chị hướng dẫn chi tiết thao tác trên version 2010 ạ! -
RE: Nhờ Hướng dẫn lấy Bảng giá trong Form
Xuân Thanh > 12-03-21, 10:21 AM
(12-03-21, 06:07 AM)thaomobilecntv Đã viết: Hỏi ngu chút: chèn mã PHP cho 2 combo MaHang và LoaiKH bằng cách nào
Trước kia mình học Access cơ bản dùng phiên bản 2003 dùng thủ thuật xây dựng Macro, gọi lệnh Setvalue là có thể tính được DonGia, ThanhTien trong Form. Giờ nâng cấp lên Office 2010 vào Macro không tìm thấy lệnh Setvalue nữa
Mong anh chị hướng dẫn chi tiết thao tác trên version 2010 ạ!
Học lại phần cơ bản về việc tạo combobox(Ver 2003 hay bất cứ Ver nào lơn hơn đều có chung một cách tạo cơ bản) -
RE: Nhờ Hướng dẫn lấy Bảng giá trong Form
ongke0711 > 12-03-21, 11:12 AM
(12-03-21, 06:07 AM)thaomobilecntv Đã viết: Hỏi ngu chút: chèn mã PHP cho 2 combo MaHang và LoaiKH bằng cách nào
Trước kia mình học Access cơ bản dùng phiên bản 2003 dùng thủ thuật xây dựng Macro, gọi lệnh Setvalue là có thể tính được DonGia, ThanhTien trong Form. Giờ nâng cấp lên Office 2010 vào Macro không tìm thấy lệnh Setvalue nữa
- Chèn code VBA chứ không phải PHP nhé.
- SetValue: mặc định trong các phiên bản Access sau nó sẽ ẩn cái hàm này. Trên Ribbon Menu của Macro Design bạn chọn "Show All Actions" sẽ thấy nó.
- Bạn kiếm tài liệu tự học lại cơ bản nhé.