有一天,有人可以帮助我解决这个问题我不认为这么复杂有一种方法可以做到但我无法弄明白。
我有4个字段
ID
营业时间
截止时间
日期
例如[营业时间]是8 [关闭时间]是16然后我的[营业时间]将变为16 默认情况下在新的现有记录上。
我将此代码放在我的默认值属性上,以便开放时间工作,但不能用于新记录的现有记录。
= Nz(DMax(“[Closing Hours]”,“PlantTransaction”))
实际上必须发生的是,当我输入记录时,我已经在子表单中获得了4条记录。开放时间8和结束时间16记录2开放时间必须变为默认值16而不是记录5,因为它跳过4条现有记录和自动跳转到记录5的新记录 在此先感谢希望你们中的一个人能够度过我的一天!
答案 0 :(得分:0)
Access窗体中的“默认值”属性仅适用于新记录。您需要的是为新记录和现有记录执行此操作的一些代码。类似下面的内容应该适用于子表单的Current
事件:
Private Sub Form_Current()
Dim rst As DAO.Recordset
If IsNull(txtOpening) Then
Set rst = Me.RecordsetClone
If rst.RecordCount > 0 Then
If Me.NewRecord Then
rst.MoveLast
Else
rst.Bookmark = Me.Bookmark
rst.MovePrevious
End If
txtOpening = rst!Closing
End If
End If
End Sub
IsNull(txtOpening)
IF语句只是为了确保您不会覆盖当前记录的开头价值(如果已经输入)。如果您总是希望在用户输入记录时覆盖它,则可以将其删除。