Проверка орфографии VBA sub в MS Access перестала работать

#vba #ms-access

#vba #ms-access

Вопрос:

У меня есть sub, который работал нормально в течение нескольких месяцев, но теперь, без изменений в коде, он внезапно начал выдавать ошибки. Это код VBA для проверки орфографии содержимого текстового поля. Вот код:

 Sub SpellCheck(ByRef YourTB As TextBox)

With YourTB
    .SetFocus
    .SelStart = 0
    .SelLength = Len(YourTB)
    DoCmd.RunCommand acCmdSpelling
    .SetFocus
    .SelStart = 0
    .SelLength = 0
End With

End Sub
  

И ошибка, которую я получаю, это:
Ошибка 2046 — команда или действие «Правописание» теперь недоступны.

Как я уже сказал, раньше он работал нормально, но теперь внезапно перестал работать для всех пользователей БД. Мой поиск в Google выявил только несколько сообщений об этом, ни одного с решением, которое я могу найти.

К вашему сведению, этот доступ осуществляется через подписку Microsoft 365 E3, все компьютеры на Win10.

Есть идеи? И заранее спасибо!

Ответ №1:

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

Выяснилось, что источник записей forms (запрос) был изменен и доступен только для чтения. Похоже, что наличие источника записей, доступного только для чтения, не позволит выполнить проверку орфографии (поскольку, предположительно, вы не можете изменить данные).

Запрос не предназначался только для чтения, но он не был замечен как проблема, поскольку данные, которые изменялись в форме, не были связаны с запросом.

Настройка запроса таким образом, чтобы он не был доступен только для чтения, позволила снова запустить проверку орфографии.