我在Access frmAddComposerWork
中有一个弹出表单,该表单在数据输入设置为是的情况下打开,其中有2个文本框:一个为作曲家的姓名,另一个为工作区的姓名。标题。
填写完最后一个文本框后,当我按 ENTER (用新记录更新后面的表)时,我也想关闭表单。我尝试了几个事件,并在上面添加了以下VBA指令:
DoCmd.Close acForm, Me.frmAddComposerWork
但是,表单保持打开状态,并且容易收到新记录(我根本不想要)。
添加单行后如何使表单自行关闭?
答案 0 :(得分:0)
在点击最后一个文本框上的Enter后关闭表单
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
DoCmd.Close acForm, Me.Name
End If
End Sub
当您在窗体上的任意位置按Enter时关闭
KeyPreview属性在窗体的Load事件过程中设置为True。这会导致表单在任何控件接收到键盘事件之前先接收
Private Sub Form_Load()
Me.KeyPreview = True
End Sub
按Enter可以关闭表单上的任何地方
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
DoCmd.Close acForm, Me.Name
End If
End Sub
答案 1 :(得分:0)
让表单从其插入后事件关闭。
Option Compare Database
Option Explicit
Private Sub Form_AfterInsert()
DoCmd.Close ObjectType:=acForm, ObjectName:=Me.Name, Save:=acSaveNo
End Sub
据我了解,这种简单的方法可以实现您的目标: