Переменные в vba неправильно оценены - PullRequest
0 голосов
/ 22 января 2019

Я получаю эту проблему через все подпрограммы в модуле формы. Очень часто, но не так систематически, когда я использую содержимое текстового поля (в моем случае это всегда одно и то же и только как целочисленная переменная), такой Text.Value не распознается во встроенной оценке. Это будет работать, если я сохраню это в переменной. Чтобы привести пример, я должен изменить это:

If Text0.Value > DCount("field","table") Then
    MsgBox "wrong"
EndIf

Для того, чтобы он работал правильно:

Dim RNum as Integer
Dim RMax as Integer
RNum = Text0.Value
RMax = DCount("field","table")
If RNum > RMax Then
    MsgBox "wrong"
EndIf

Помимо желания понять проблему, это влияет и на подчиненную форму, где критическим полем является MasterLinkField для подчиненной формы. В этом случае иногда случается, что номер записи, отображаемой в подчиненной форме, не тот, который указан в текстовом поле, а предыдущий. Чтобы «обновить» его, мне нужно запустить в форме действие, например перейти к другой записи. Просто чтобы упомянуть, но это не источник проблемы, форма не связана (для этого у меня есть свои причины для этого), и навигация / сохранение / чтение записи из таблицы из / в форму сделано по кнопкам / действиям.

Я надеюсь, что кто-нибудь может помочь мне прояснить этот вопрос. Заранее спасибо,

A.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...