-
Lỗi Name khi liên kết giữa listbox và subform
longkd_bvct@yahoo.com.vn > 30-07-19, 04:06 PM
Chào mọi người ạ. Em tạo 1 form gồm 1 listbox liên kết với subform. Khi click vào listbox thì hiện record tương ứng ở subform qua macty.
Nhưng trên subform lại bị lỗi #Name ạ. Em gửi file mọi người xem giúp ạ.Mọi người xem ở phần main_theodoislkh nhé
https://drive.google.com/file/d/1A1jLMX5...sp=sharing -
RE: Lỗi Name khi liên kết giữa listbox và subform
ongke0711 > 30-07-19, 04:35 PM
SubForm có Source là DanhMucHang.
Câu lệnh gán source lại là DanhMucCty. -
RE: Lỗi Name khi liên kết giữa listbox và subform
longkd_bvct@yahoo.com.vn > 31-07-19, 04:57 PM
(30-07-19, 04:35 PM)ongke0711 Đã viết: SubForm có Source là DanhMucHang.
Em đã làm được. cám ơn anh nhé.
Câu lệnh gán source lại là DanhMucCty.
Giờ phát sinh thêm lỗi là cột số lượng còn lại=số lượng kế hoạch - số lượng sử dụng bị lỗi ạ.
Nhờ anh xem giúp.
https://drive.google.com/file/d/1A1jLMX5...sp=sharing -
RE: Lỗi Name khi liên kết giữa listbox và subform
ongke0711 > 31-07-19, 09:39 PM
Bạn phải chú ý cái Record Source làm nguồn cho SubForm.
Mặc định Record Source khi Form load là bạn dùng query (câu lệnh SQL) có thêm trường [SoLuongCL] là trường tính toán bạn thêm vô. Sau đó bạn xử lý khi click chọn trong listbox bên trái thì chỉ gán Record Source là toàn bộ các trường trong table [DanhMucHang] nhưng không có trường [SoLuongCL] => nó báo lỗi Name vì trường này không tồn tại sau khi gán.
Cách sửa là bạn copy toàn bộ câu lệnh SQL gốc của subform ban đầu khi Load lên đưa vô VBA + thêm điều kiện WHERE của bạn rồi mới gán Source.
Một điều nữa là công thức tính [SoLuongCL]. Thay vì dùng IIF ...IsNull,.... => bạn dùng hàm Nz() để khử giá trị Null là được rồi.
SoLuongCL: IIF([SoLuongSD] Is Null, [SoLuongKH], [SoLuongKH] - [SoLuongSD])
Đổi lại thành:
SoLuongCL: Nz([SoLuongKH])-Nz([SoLuongSD])
----------------------
Private Sub lstcongty_Click()
Dim sSQL As String
sSQL = "SELECT DanhMucHang.MaHH, DanhMucHang.TenHH, DanhMucHang.Hamluong, DanhMucHang.DVT, DanhMucHang.DonGia, " & _
"DanhMucHang.SoLuongKH, DanhMucHang.SoluongSD, Nz([SoLuongKH])-Nz([SoLuongSD]) AS SoluongCL, DanhMucHang.Macty " & _
"FROM DanhMucCongTy INNER JOIN DanhMucHang ON DanhMucCongTy.macty = DanhMucHang.Macty " & _
"WHERE DanhMucHang.Macty='" & Me.lstcongty.Column(0) & "'"
Me.sub_theodoislkh.Form.RecordSource = sSQL
Me.sub_theodoislkh.Requery
End Sub
----------------------