|
6#
楼主 |
发表于 2008-3-6 03:23:55
|
只看该作者
Option Compare Database
Option Explicit
Private Sub Posted_To_Inventory_AfterUpdate()
On Error GoTo ErrorHandler
Dim InventoryID As Long
Dim ProductID As Long
Dim Quantity As Long
ProductID = Nz(Me![²úÆ· ID], 0)
Quantity = Nz(Me![ÊýÁ¿], 0)
InventoryID = Nz(Me![¿â´æ ID], 0)
'ÕýÔÚתÈëпâ´æ
If Me![תÈë¿â´æ] Then
If IsNull(Me![½ÓÊÕÈÕÆÚ]) Then
Me![½ÓÊÕÈÕÆÚ] = Date
End If
If ¿â´æ.AddPurchase(Me![²É¹º¶©µ¥ ID], ProductID, Quantity, InventoryID) Then
If InventoryID > 0 Then
Me![¿â´æ ID] = InventoryID
Me![תÈë¿â´æ] = True
MsgBoxOKOnly InventoryPostingSuccess
End If
Else
Me![תÈë¿â´æ] = False
MsgBoxOKOnly InventoryPostingFailure
End If
eh.TryToSaveRecord
If ¿â´æ.GetQtyOnBackOrder(ProductID) > 0 Then
If MsgBoxYesNo(FillBackOrdersPrompt) Then
¿â´æ.FillBackOrders ProductID
End If
End If
'ÕýÔÚɾ³ýÒÑתÈëµÄ¿â´æ
Else
If InventoryID > 0 Then
Me![תÈë¿â´æ] = True
End If
End If
Done:
Exit Sub
ErrorHandler:
' µ÷ÊÔʱ½«»á»÷ÖÐ Resume Óï¾ä
If eh.LogError("Posted_To_Inventory_AfterUpdate") Then Resume
End Sub
Private Sub Date_Received_AfterUpdate()
If Me![תÈë¿â´æ] Then
Debug.Assert False
ElseIf MsgBoxYesNo(PostReceivedProductPrompt) Then
Me![תÈë¿â´æ] = True
Posted_To_Inventory_AfterUpdate
End If
End Sub
Private Sub Form_Current()
Me.AllowEdits = Not Me![תÈë¿â´æ]
End Sub
Private Sub Form_Load()
Dim rsw As New ¼Ç¼¼¯·â×°³ÌÐò
With rsw.GetRecordsetClone(Me.Recordset)
'È·±£¿â´æתÈëµÄÍêÕûÐÔ
While Not .EOF
If Not IsNull(![¿â´æ ID]) Then
rsw.Edit
![תÈë¿â´æ] = True
rsw.Update
End If
rsw.MoveNext
Wend
End With
End Sub
不知道为什么贴上来以后中文变乱码了 可能是我机器系统不是中文的原因 这个是罗斯文实例里 采购订单明细的接收子窗体的复选框中的事件代码 我发现他对复选框建立了一个字段 用复选框来判断是和否来确定是否添加 不知道我应该如何简化改写这个程序 只要实现 选中物品价格累加 显示报表就可以了 请教大家 |
|