Mình mới tìm hiểu về VBA mà lại đang phải làm 1 Tool Quản lý bán hàng nên rối quá , mong các bạn giúp đỡ kiểm tra giup đoạn code mình viết để cập nhật tồn kho sau :
Private Sub Capnhat_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim rs1 As DAO.Recordset
Dim dbqf As DAO.QueryDef
Set db = CurrentDb
Set rs = db.OpenRecordset("T_hanghoa")
Set rs1 = db.OpenRecordset("SELECT * FROM T_ChiTietNhap WHERE T_ChiTietNhap.MaPN='" & [Forms]![F_Nhap]![MaPN] & "'")
rs.MoveFirst
rs1.MoveFirst
Do While rs1.EOF = False
Do While rs.EOF = False
'' MsgBox " hang hoa " & rs!mamh & " nhap " & rs1!mahang
If rs!mamh = rs1!mahang Then
rs.Edit
rs!slton = rs!slton + rs1!soluongnhap
rs.Update
End If
rs.MoveNext
Loop
''MsgBox "Nhap" & rs1!mahang
rs1.MoveNext
Loop
rs.Close
rs1.Close
db.Close
End Sub
Mình có 3 bảng Hàng Hóa Và Nhập và Chi Tiết Nhập
Bảng Hàng Hóa có cột MaMH,SLTon
Bảng Nhập có cột SoPN,Ngày Nhập
Bảng Chi Tiết Nhập có SoPN,mahang,soluongnhap
Mình tạo một form "Nhập" , để tạo một phiếu nhập ,gồm các textbox phiếu nhập và một subform chi tiết nhập
Cuối cùng mình muốn khi ấn vào nút cập nhập thì Cột số lượng tồn sẽ bằng số lượng tồn +số lượng nhập
(Đơn giản là cập nhập tồn kho )
nên mình viết đoạn code trên nhưng nó chỉ cập nhật được tồn kho của mặt hàng đầu tiên
Mình test thì thấy vòng lặp trong chỉ thực hiện một lần
Không biết mình đã sai chỗ nào vậy ạ
Mọi người thường dùng Code nào để cập nhật TK vậy ạ , mình mới tập viết nên nghĩ được mỗi vây
Mong mọi người chỉ giúp!
Private Sub Capnhat_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim rs1 As DAO.Recordset
Dim dbqf As DAO.QueryDef
Set db = CurrentDb
Set rs = db.OpenRecordset("T_hanghoa")
Set rs1 = db.OpenRecordset("SELECT * FROM T_ChiTietNhap WHERE T_ChiTietNhap.MaPN='" & [Forms]![F_Nhap]![MaPN] & "'")
rs.MoveFirst
rs1.MoveFirst
Do While rs1.EOF = False
Do While rs.EOF = False
'' MsgBox " hang hoa " & rs!mamh & " nhap " & rs1!mahang
If rs!mamh = rs1!mahang Then
rs.Edit
rs!slton = rs!slton + rs1!soluongnhap
rs.Update
End If
rs.MoveNext
Loop
''MsgBox "Nhap" & rs1!mahang
rs1.MoveNext
Loop
rs.Close
rs1.Close
db.Close
End Sub
Mình có 3 bảng Hàng Hóa Và Nhập và Chi Tiết Nhập
Bảng Hàng Hóa có cột MaMH,SLTon
Bảng Nhập có cột SoPN,Ngày Nhập
Bảng Chi Tiết Nhập có SoPN,mahang,soluongnhap
Mình tạo một form "Nhập" , để tạo một phiếu nhập ,gồm các textbox phiếu nhập và một subform chi tiết nhập
Cuối cùng mình muốn khi ấn vào nút cập nhập thì Cột số lượng tồn sẽ bằng số lượng tồn +số lượng nhập
(Đơn giản là cập nhập tồn kho )
nên mình viết đoạn code trên nhưng nó chỉ cập nhật được tồn kho của mặt hàng đầu tiên
Mình test thì thấy vòng lặp trong chỉ thực hiện một lần
Không biết mình đã sai chỗ nào vậy ạ
Mọi người thường dùng Code nào để cập nhật TK vậy ạ , mình mới tập viết nên nghĩ được mỗi vây
Mong mọi người chỉ giúp!