Заставить пользователя заполнить гиперссылку до заполнения текстового поля

В настоящее время я совершенствую довольно старую базу данных порядка задач, и одно из улучшений, которое я пытаюсь сделать, - это заставить пользователя установить значение гиперссылки в форме, прежде чем выбрать дату для задачи, которая будет помечена как завершенная.

Я чрезвычайно новичок в VBA, кстати.

FEDel - это мое текстовое поле для выбора даты.
FSDel - мой контрольный источник для выбора даты.
FDLink - это мое текстовое поле для гиперссылки.
LinkToFieldDel - это мой источник управления для гиперссылки.

Private Sub FEDel_Click()
  If LinkToFieldDel = Null Then Msgbox("Please set the Field Deliverables File Path before entering a Delivery Date!", vbCritical, "Field Deliverables File Path Not Set!", "Use the 'Link to File Deliverables' button below to set the file path.") As VbMsgBoxResult


  Exit Sub

Else

End Sub

Я продолжаю получать "Ошибка компиляции: оператор недействителен вне блока Type" на LinkToFieldDel, и я не понимаю, почему это так.

Я открыт для любых других предложений о том, как заставить этот тип сценария работать, это как раз то, что пришло мне в голову с моим ограниченным опытом. Спасибо!

1 ответ

Решение

Есть несколько причин, почему это не скомпилируется

  1. Вы должны использовать THEN на другой линии и закрыть свой блок IF после ELSE - или удалить ELSE
  2. Вы также должны удалить As VbMsgBoxResult - вы вызываете функцию, а не объявляете
  3. Удалите это, если у вас нет файла справки где-нибудь "Используйте кнопку" Ссылка на файл "ниже, чтобы указать путь к файлу".

Также - вероятно, лучшая идея для сравнения с использованием функций IsNull() или NZ()

Private Sub FEDel_Click()

   If IsNull(LinkToFieldDel) Then 
      Msgbox "Please set the Field Deliverables File Path before entering a Delivery Date!", vbCritical, "Field Deliverable File Path Not Set!"         
      Exit Sub

   Else
      ' Do something else here
   End If
End Sub
Другие вопросы по тегам