Я добавил следующий код в событие AfterUpdate текстового поля в форме MS Access:
Private Sub txtComments_AfterUpdate()
With Me!txtComments
.SetFocus
If Len(.Value) > 0 Then
DoCmd.SetWarnings False
.SelStart = 1
.SelLength = Len(.Value)
DoCmd.RunCommand acCmdSpelling
.SelLength = 0
DoCmd.SetWarnings True
End If
End With
End Sub
Это запускает проверку орфографии, когда пользователь выходит из поля. Частично работает. Он открывает диалог проверки орфографии и находит первую ошибку. Проблема в том, что когда вы нажимаете «Игнорировать», «Изменить» и т. д., чтобы обработать/исправить орфографическую ошибку, происходит сбой кода и появляется следующее окно с ошибкой:
«Макрос или функция, установленная для свойства BeforeUpdate или ValidationRule для этого поля, не позволяет Microsoft Office Access сохранять данные в поле».
Я попытался добавить код сохранения записи перед кодом проверки орфографии:
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
но это не решило.