Ms-доступ к производительности запросов - PullRequest
0 голосов
/ 28 мая 2011

У меня есть подформа, отображаемая в виде таблицы, в которой есть источник записи, подобный этому:

    SELECT MyTable.*, myFunction(MyTable.id) as my_result FROM MyTable

Где myFunction() - это функция vba, которая выполняет вызов хранимой процедуры MySQL.

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

Ответы [ 2 ]

0 голосов
/ 29 мая 2011

Похоже, что MyFunction () следует вызывать не в операторе SQL, а на уровне представления, например, как ControlSource элемента управления в форме, которую вы используете для отображения ваших данных.

0 голосов
/ 28 мая 2011

Когда фокус отдается связанному полю, значения полей обновляются.Нет «простого» решения вашего вопроса.

Но, если вы можете внести некоторые изменения в базу данных доступа, вы можете: - создать процесс, который заполнит поле в MyTable с результатом «myFunction ()» -вызывать этот процесс каждый раз, когда вы отображаете подформу или каждый раз, когда текущая запись изменяется в подформе

Или вы можете: - добавить неотделенное поле в вашу подформу - вставить его с помощью кодарезультат вызова myFunction () каждый раз, когда текущая запись изменяется в вашей форме

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