Xuân Thanh > 07-04-12, 12:47 PM
(07-04-12, 12:32 PM)dtv197 Đã viết: em muốn ĐVT được quy đổi về giá trị nhỏ nhất, để báo cáo tồn kho được chính xác.
Ví dụ: mua vào 1 thùng dây mạng, bán ra 100m, còn lại 205m thì khi báo cáo tồn kho là 205m chứ không phải vẫn là 1 thùng.
Function LayDVT(MaHang As String)
Dim MaDVT As Recordset
Dim DVT As Recordset
Set MaDVT = CurrentDb.OpenRecordset("tblDonViTinh", dbOpenTable)
Set DVT = CurrentDb.OpenRecordset("tblDVT", dbOpenTable)
If DVT.RecordCount > 0 Then
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM tblDVT"
DoCmd.SetWarnings True
End If
MaDVT.MoveFirst
Do Until MaDVT.EOF
If MaDVT.Fields(1) = MaHang Then
DVT.AddNew
DVT!DVT = MaDVT.Fields(2)
DVT.Update
End If
MaDVT.MoveNext
Loop
MaDVT.Close: DVT.Close
End Function
Private Sub MaHang_AfterUpdate()
Call LayDVT(Me.MaHang)
Me.MaDVT.Requery
End Sub