C,谢谢您的投入和鼓励!我已经稍微改变了形式和脚本,恐怕我保留了if语句,因为我对格式很满意。现在,脚本在“打开时”事件运行时起作用。
Private Sub Form_Open(Cancel As Integer)
Me.ChkAlbumNotes.SetFocus
If Me.ChkAlbumNotes.Value = False Then
Me.lblAlbumNotes.Visible = False
Me.txtAlbumNotes.Visible = False
Me.btnAlbumNotes.Visible = True
Else
Me.lblAlbumNotes.Visible = True
Me.txtAlbumNotes.Visible = True
Me.btnAlbumNotes.Visible = False
End If
Me.TrackName.SetFocus
If Me.TrackName = " " Then
Me.btnAddRecord.SetFocus
Else
Me.btnNextRecord.SetFocus
End If
End Sub
第一次打开表单时很好,但是我有一组导航按钮,这些按钮由应用程序安装为宏。单击按钮后,我无法将脚本添加到On_Click事件中,因为On_Click已链接到宏。有没有一种方法可以将脚本从On_Load进程合并到预定义的宏中?还是可以建议一种更整洁的方式来达到我的要求;
打开表单时,将检查复选框中是否存在错误值 如果该复选框设置为false,则“注释文本”框和标签将被隐藏,并且注释按钮可见。
如果该复选框的值为真,则“注释”文本框和标签将变为可见,并且该按钮将被隐藏。
测试完成后,我检查“轨道名称”字段 如果为空,则假定我在最后一条记录上,并为“添加新记录”按钮赋予焦点
如果“轨道名称”不为空,则将焦点设置为“下一条记录”按钮
单击此按钮时,将打开下一个记录页面,并且该过程再次开始。
非常感谢
迈克
答案 0 :(得分:1)
您应该使用Form_Current
事件而不是Form_Open
。在启动表单(两次)和每次您移至另一条记录时触发。
Private Sub Form_Current()
Me.lblAlbumNotes.Visible = Me.ChkAlbumNotes.Value
Me.txtAlbumNotes.Visible = Me.ChkAlbumNotes.Value
Me.btnAlbumNotes.Visible = Not Me.ChkAlbumNotes.Value
If Me.TrackName = "" Then ' I suggest If Me.TrackName = " " being a typo and you want to check if empty ( that's why you should use vbNullString instead of "")
Me.btnAddRecord.SetFocus
Else
Me.btnNextRecord.SetFocus
End If
End Sub