Относительное имя для получения информации из формы в MS Access - PullRequest
0 голосов
/ 02 апреля 2020

Я хотел бы знать, возможно ли в сохраненном запросе на MS Access использовать предложение WHERE для получения значения из формы, не зависящей от установленного языка MS Access?

В предложении MS SQL QUERY WHERE это должно быть равно тексту в форме, я написал это так

= Form!Form_name!text_name

Это прекрасно работает, если у всех пользователей установлена ​​версия MS Engli sh, однако в моем случае это не так, так как у некоторых пользователей есть португальская версия. В их версии правильный способ вызова того же синтаксиса должен быть следующим:

= Formulários!Form_name!text_name

Итак, проблема в том, что Access не распознает эту версию с учетом языковой версии. Из-за этого, если пользователь с португальской версией попытается выполнить запрос, он выдаст окно вставки.

Я просмотрел много источников, но ни один не помог мне решить эту проблему.

Спасибо всем заранее!

1 Ответ

0 голосов
/ 06 апреля 2020

Я не могу проверить это, так как у меня нет португальской версии Access, но я избегаю вызовов для формирования параметров, потому что они хрупкие. Например, форма должна быть открыта или запрос не выполняется странным образом. Если мне нужно использовать параметр формы, я обертываю параметр в функции publi c (обычно в этом коде формы позади). Функция publi c обычно выбирается intellisense даже в конструкторе, но переменная publi c этого не делает.
Мой стиль состоит в том, чтобы синтезировать свойство с частной глобальной переменной области видимости и publi c получить и установить функции. Затем в конструкторе вы можете вызвать: get-myforms-property вместо Form! Form_name! Text_name. Когда форма открывается и закрывается, я обычно вызываю set-myforms-property и устанавливаю его равным фактическому свойству формы. Таким образом, вы также получаете преимущества упаковки. Например, вы можете выбрать, какое значение возвращать при закрытии формы, а не просто потерпеть неудачу при запросе.

...