H
Chào các bạn! Mình gặp 1 trở ngại mong các bạn giúp đỡ. Khi tính giá thành cho từng sản phẩm mình dùng hàm Round(HeSo/TongHeSo*TongChiPhi;0) thì khi cộng tổng giá thành các sản phẩm lại thường bị lệch so với Tổng chi phí 1 đến 2 đồng (do làm tròn). Mình đã viết 1 code để cho sản phẩm cuối cùng = Tổng chi phí - Tổng giá thành các sản phẩm còn lại như sau:
Function LamTron(Heso, TongHeSo, TongChiPhi)
DoCmd.SetWarnings False
DoCmd.RunSQL "SELECT 0 AS TIEN INTO T_LamTron"
Dim CSDL As Database, TQ As Recordset
Set CSDL = CurrentDb
Set TQ = CSDL.OpenRecordset("T_LamTron", dbOpenTable)
If Abs(TongChiPhi - Round(Heso / TongHeSo * TongChiPhi, 0) - TQ!TIEN) < 3 Then
LamTron = Val(TongChiPhi - TQ!TIEN)
TQ.MoveFirst: TQ.Edit
TQ!TIEN = 0
Else
LamTron = Val(Round(Heso / TongHeSo * TongChiPhi, 0))
TQ.MoveFirst: TQ.Edit
TQ!TIEN = LamTron + TQ!TIEN
End If
TQ.Update: TQ.Close
DoCmd.DeleteObject acTable, "T_LamTron"
DoCmd.SetWarnings True
End Function
Hàm đã sử dụng được. Nhưng khi áp dụng để tính giá thành cho nhiều phân xưởng (mỗi phân xưởng có Tổng chi phí riêng) thì hàm không sử dụng được (vẫn bị chênh lệch Tổng giá thành với Tổng chi phí). Nó chỉ sử dụng được khi Sort theo phân xưởng (tức là hết sản phẩm của phân xưởng này thì đến sản phẩm của phân xưởng khác). Vậy có cách nào khắc phục xin các bạn giúp đỡ. Hoặc có hàm nào hay hơn mong các cao thủ chỉ giáo.
Function LamTron(Heso, TongHeSo, TongChiPhi)
DoCmd.SetWarnings False
DoCmd.RunSQL "SELECT 0 AS TIEN INTO T_LamTron"
Dim CSDL As Database, TQ As Recordset
Set CSDL = CurrentDb
Set TQ = CSDL.OpenRecordset("T_LamTron", dbOpenTable)
If Abs(TongChiPhi - Round(Heso / TongHeSo * TongChiPhi, 0) - TQ!TIEN) < 3 Then
LamTron = Val(TongChiPhi - TQ!TIEN)
TQ.MoveFirst: TQ.Edit
TQ!TIEN = 0
Else
LamTron = Val(Round(Heso / TongHeSo * TongChiPhi, 0))
TQ.MoveFirst: TQ.Edit
TQ!TIEN = LamTron + TQ!TIEN
End If
TQ.Update: TQ.Close
DoCmd.DeleteObject acTable, "T_LamTron"
DoCmd.SetWarnings True
End Function
Hàm đã sử dụng được. Nhưng khi áp dụng để tính giá thành cho nhiều phân xưởng (mỗi phân xưởng có Tổng chi phí riêng) thì hàm không sử dụng được (vẫn bị chênh lệch Tổng giá thành với Tổng chi phí). Nó chỉ sử dụng được khi Sort theo phân xưởng (tức là hết sản phẩm của phân xưởng này thì đến sản phẩm của phân xưởng khác). Vậy có cách nào khắc phục xin các bạn giúp đỡ. Hoặc có hàm nào hay hơn mong các cao thủ chỉ giáo.
Sửa lần cuối: