如何让 MS Access 表单中的按钮创建日期戳,然后不允许进一步编辑?
How do I make a button in an MS Access form create a date stamp, THEN not allow further edits?
日期戳的代码很简单。
Private Sub CmdMyButton_Click()
txtThingDateStamped.Locked = False
txtThingDateStamped = Now()
txtThingDateStamped.Locked = True
End Sub
但用户仍然可以多次点击日期戳,并且可以通过其他形式进行编辑。
我使用 MS Access 项目管理模板开始了我的冒险之旅。具体来说,我正在使用的两种形式是 (1) "Project Details" 和 (2) "Project List".
您可以在 table 上使用 Before Change data macro 来强制执行该级别的约束:
<?xml version="1.0" encoding="utf-16" standalone="no"?>
<DataMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application">
<DataMacro Event="BeforeChange">
<Statements>
<ConditionalBlock>
<If>
<Condition>Updated("ThingDateStamped")</Condition>
<Statements>
<ConditionalBlock>
<If>
<Condition>Not IsNull([Old].[ThingDateStamped])</Condition>
<Statements>
<Action Name="RaiseError">
<Argument Name="Number">1</Argument>
<Argument Name="Description">An existing datestamp cannot be altered.</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</DataMacro>
</DataMacros>
日期戳的代码很简单。
Private Sub CmdMyButton_Click()
txtThingDateStamped.Locked = False
txtThingDateStamped = Now()
txtThingDateStamped.Locked = True
End Sub
但用户仍然可以多次点击日期戳,并且可以通过其他形式进行编辑。
我使用 MS Access 项目管理模板开始了我的冒险之旅。具体来说,我正在使用的两种形式是 (1) "Project Details" 和 (2) "Project List".
您可以在 table 上使用 Before Change data macro 来强制执行该级别的约束:
<?xml version="1.0" encoding="utf-16" standalone="no"?>
<DataMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application">
<DataMacro Event="BeforeChange">
<Statements>
<ConditionalBlock>
<If>
<Condition>Updated("ThingDateStamped")</Condition>
<Statements>
<ConditionalBlock>
<If>
<Condition>Not IsNull([Old].[ThingDateStamped])</Condition>
<Statements>
<Action Name="RaiseError">
<Argument Name="Number">1</Argument>
<Argument Name="Description">An existing datestamp cannot be altered.</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</DataMacro>
</DataMacros>