有啊,在母,子窗体的FORM _DELETE 和 BEFOREUPDATE里设置代码就行。
我以前回复的贴子里有完整的代码。
Private Sub Form_Delete(Cancel As Integer)
If Me.报关完成 = True Then
Cancel = True
MsgBox ("报关完成后不能删除记录!")
Else
' 不需要做什么,会删除记录
End If
End Sub
http://www.office-cn.net/forum.php?mod=viewthread&tid=36681&replyID=&skin=1
<DIV >ACCESS_一个制止修改窗体记录的示例</DIV>
1.先看附件图片
"报关完成"这个子段只能在其它窗体中修改,在本窗体中锁定.
2.再在本窗体的Form_BeforeUpdate中使用以下代码:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim strMsg As String
strMsg = "数据已经改变."
strMsg = strMsg & vbCr & "点击[是]保存,点击[否]放弃保存。"
If Me.报关完成 = True Then
DoCmd.RunCommand acCmdUndo '报关已完成,就不能修改记录,显示对话框后就此结束
MsgBox ("报关后记录不能修改!请在XXX窗体中先取消'报关完成'以及'报关单资料'后再行修改.")
Else
If MsgBox(strMsg, vbQuestion + vbYesNo, "记录保存吗?") = vbYes Then
' 什么也不需要做,就会保存记录
Else
DoCmd.RunCommand acCmdUndo
End If
End If
End Sub
此主题相关图片如下:
[此贴子已经被作者于2006-9-6 21:11:48编辑过]
|