Доступ во время выполнения Ошибка 2475 * иногда * происходит - PullRequest
0 голосов
/ 05 сентября 2018

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

Эта ошибка, по-видимому, возникает совершенно случайно, на случайном модуле с кодом Set ActiveForm, со случайными пользователями с произвольными интервалами. Насколько я вижу, между пользователями нет закономерностей.

2475 - «Вы ввели выражение, которое требует, чтобы форма была активным окном».

Это происходит в любом из модулей, которые содержат какие-либо настройки формы. Я использую следующие строки:

Dim af as Object
Set af = Screen.ActiveForm

Я пытался использовать альтернативы, такие как объявление формы как формы, а также пробовал следующее:

Dim sstatus as String
Dim ps as String

If DLookup("[TM_UserType]", "[SD_Teams]", "[TM_username]= '" & usernm & "'") = "adj" Then
    sstatus = "adj"
Else
    sstatus = "tm"
End If

ps = "frmProdSubmit_" & sstatus

Затем ссылаемся на форму следующим образом:

Forms(ps).cmbTeam.Value = ""

Но это все еще вызывает ту же проблему, даже удаляя часть ActiveForm.

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

К базе данных также ежедневно обращаются около 700 пользователей.

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

...