Установите скрытое поле формы для видимого, основываясь на состоянии флажка - PullRequest
0 голосов
/ 14 октября 2018

C, Спасибо за ваш вклад и поддержку!Я немного изменил форму и сценарий, боюсь, я сохранил заявление if then, так как мне удобно с форматированием.Сценарий теперь работает, когда запускается событие «При открытии».

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 в предопределенный макрос?Или вы можете предложить более точный способ выполнения моих требований:

  1. При открытии формы выполняется проверка на наличие ложного значения в флажке, если флажок установленесли установлено значение false, то текстовое поле «Примечания» и метка скрыты, а кнопка «Примечания» видима.

  2. Если флажок имеет истинное значение, то текстовое поле «Примечания» и метка создаютсявидимый, и кнопка скрыта.

  3. По завершении теста я проверяю поле Track Name, если оно пустое, я предполагаю, что я нахожусь на последней записи и даю кнопку Add New Recordфокус

  4. Если имя дорожки не пустое, тогда фокус устанавливается на кнопку «Следующая запись»

при нажатии этой кнопки следующая записьстраница открывается и процесс начинается снова.

Большое спасибо

Майк

1 Ответ

0 голосов
/ 20 октября 2018

Вы должны использовать событие Form_Current вместо Form_Open.Это срабатывает при запуске формы (2 раза) и каждый раз, когда вы переходите к другой записи.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...