我有一个基于表格的表格,但在同一表格上也有一些额外的选择。我想在插入后保持选中记录,以便可以在另一个表中设置其他选项。我试过在插入后使用VBA进行此操作,但是该子例程结束后,表单将消失。
Private Sub Form_AfterInsert()
DoCmd.GoToRecord , , acLast
End Sub
我知道gotorecord可以工作,因为我可以手动运行它,并且它确实选择了最后一条记录。问题是在“ AfterInsert”之后有一个清除的表格。如何停止?
答案 0 :(得分:1)
控制此属性的是Form.Cycle
属性。
将其设置为当前记录(1),然后在最后一个字段上按Enter或Tab键将再次将您移回到第一个字段。
请注意,enter不会保存当前记录,它只是tab的替代方法。如果要在离开最后一个字段时保存记录,则可以使用VBA。
答案 1 :(得分:0)
您可能正在使用一些DoCmd命令来插入记录。
使用 RecordsetClone ,什么都不会移动-如果可以看到新记录,则表单将显示新记录:
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
rs.AddNew
rs.Fields("First Fieldname").Value = some value
rs.Fields("Second Fieldname").Value = some other value
' etc.
rs.Update
rs.Close
修改:
要保留当前记录:
转到表单的属性,标签其他,设置循环属性:当前记录