我有一个组合框(状态),其中包括以下内容:
我还有其他5个日期字段,如下所示:
但是,我希望根据我之前字段中输入的数据自动填充此状态。
例如,一旦用有效日期(00/00/0000)填充了lack_date,我希望“状态”变为“短缺”。
一旦allocate_date填入了有效日期(00/00/0000),我希望“status”更改为“已分配”。
我在网上看到了这段代码,但我完全糊涂了:
Private Sub Textbox1_AfterUpdate()
If Textbox1.Value = "1" Then
Textbox2.Value = "10"
End If
End Sub
我相信我应该看起来像这样,但我不知道我需要确保它验证日期。
Private Sub shortage_date_AfterUpdate()
If shortage_date.Value = "(I want to valididate the date here)" Then
Status.Value = "Status"
End If
End Sub
希望我有意义!
答案 0 :(得分:2)
首先,我会在场地上设置一个Input Mask
。您可以将表单放入设计视图,然后选择字段,然后选择Property Sheet
Alt+Enter
如果它未打开,则选择Data
标签并设置一个Input Mask
。这将处理您的验证部分,因此您不必使用代码。
然后你应该可以使用代码:
Private Sub shortage_date_AfterUpdate()
If Nz(shortage_date.Value, "") <> "" Then
Status.Value = "Status"
End If
End Sub
If
语句只是为了确保每次更改日期时都不会将值重置为原始值。此处还有一个链接,您可以在其中阅读Input Masks
:https://msdn.microsoft.com/en-us/library/office/ff821336.aspx
更新:已更改为Input Mask
而非Validation Rule