|
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim st1 As String
If Me.产品名称.OldValue <> Me.产品名称 Then st1 = "产品名称由 " & Me.产品名称.OldValue & " 修改成 " & Me.产品名称 & Chr(13)
If Me.单位数量.OldValue <> Me.单位数量 Then st1 = st1 & "单位数量由 " & Me.单位数量.OldValue & " 修改成 " & Me.单位数量 & Chr(13)
If Me.单价.OldValue <> Me.单价 Then st1 = st1 & "单价由 " & Me.单价.OldValue & " 修改成 " & Me.单价 & Chr(13)
If Me.库存量.OldValue <> Me.库存量 Then st1 = st1 & "库存量由 " & Me.库存量.OldValue & " 修改成 " & Me.库存量 & Chr(13)
If Me.订购量.OldValue <> Me.订购量 Then st1 = st1 & "订购量由 " & Me.订购量.OldValue & " 修改成 " & Me.订购量 & Chr(13)
If Me.再订购量.OldValue <> Me.再订购量 Then st1 = st1 & "再订购量由 " & Me.再订购量.OldValue & " 修改成 " & Me.再订购量 & Chr(13)
If Me.中止.OldValue <> Me.中止 Then st1 = st1 & "中止由 " & IIf(Me.中止.OldValue, "是", "否") & " 修改成 " & IIf(Me.中止, "否", "是") & Chr(13)
If Len(Trim(st1)) = 0 Then
Me.Undo
Exit Sub
End If
If MsgBox("数据已经修改" & Chr(13) & Chr(13) & st1 & Chr(13) & Chr(13) & "是否保存?" & _
Chr(13) & "单击是保存,单击否取消修改。", vbInformation + vbYesNo, "修改提示") = vbNo Then
Cancel = True
Me.Undo
End If
End Sub
=========================================================================
就是如果当该项目没有数据时,输入新数据就不会提示(如当产品名称里有数据时修改后会提示,但是当没有数据里,在输入数据时就不会提示.)
这是为什么啊? |
|