我在表单上有5个文本框。
用户填写这些框,然后提交表单以写入表格。用户使用相同的信息每班多次执行此操作。
问题:有时用户会忘记填写第5个文本框,因此我只想检查其先前在表格中提交的值,并使用最长开始时间填写文本框。
我尝试了什么:我做了一个查询,将前4个文本框作为标准,然后返回最大开始时间。该查询有效,但我无法在表单上默认显示该查询。我使用默认值属性指向查询中的正确值,但没有显示任何内容。
目标: 5个文本框最初应为空白(当前为空)。在用户填写前4个文本框后,第5个框应填充最大开始时间。
答案 0 :(得分:0)
您需要为4个字段添加AfterUpdate代码,该字段应检查所有4个第一个字段的值,如果它们不为空,请使用查询中的DLookup填充第5个文本框。
例如,你可以从所有AfterUpdate事件中调用这样的函数:
Private Function CheckData()
If Nz(Me.job, "") <> "" And Nz(Me.suffix, "") <> "" _
And Nz(Me.[production date], "") <> "" And Nz(Me.Shift, "") <> "" Then
Me.[start time] = DLookup("start time", "MyQuery", "job='" & Me.job & _
"' and suffix=" & Me.suffix & " and [production date]=#" & _
Format(Me.[production date], "yyyy/mm/dd") & "# and Shift='" & Me.Shift & "'")
End If
End Function