powered by simpleCommunicator - 2.0.31     © 2024 Programmizd 02
Форумы / Вопросы по IT [закрыт для гостей] / народ, подскажите кто в access шарит
8 сообщений из 8, страница 1 из 1
народ, подскажите кто в access шарит
    #163843
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
народ, подскажите кто в access шарит, есть запрос, там одно из полей вычисляется с помощью функции vba.

сам запрос отрабатывает быстро, открываются результаты, но это вычислимое поле пересчитывается при любом клике/скролле на этих результатах.

например, функция:
Код
1.
2.
3.
4.
Public Function func1(name)
  MsgBox "Hello, " & name
  func1 = "Hello, " & name
End Function
делаем запрос:
Код: SQL
1.
2.
SELECT TOP 2 table1.name, func1(table1.name)
FROM table1;
запускаем, открываются результаты.
и при любой активности (клик, скролл, и т.п.) - будут выскакивать два msgbox'а (по кол-ву строк в выборке).

это почему так?
как убрать?
ну т.е. вычислились поля, и всё, хорош, зачем пересчитывать-то?...
...
Рейтинг: 0 / 0
народ, подскажите кто в access шарит
    #163955
Гарыныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
[spoiler][size=4][b]Клоп, жидок ты обоссаный, просто пройди нахуй![/b][/size] [:nahui][/spoiler]
1  26.09.2022, 11:58
[игнорируется]
народ, подскажите кто в access шарит, есть запрос, там одно из полей вычисляется с помощью функции vba.

сам запрос отрабатывает быстро, открываются результаты, но это вычислимое поле пересчитывается при любом клике/скролле на этих результатах.

например, функция:
Код
1.
2.
3.
4.
Public Function func1(name)
  MsgBox "Hello, " & name
  func1 = "Hello, " & name
End Function
делаем запрос:
Код: SQL
1.
2.
SELECT TOP 2 table1.name, func1(table1.name)
FROM table1;
запускаем, открываются результаты.
и при любой активности (клик, скролл, и т.п.) - будут выскакивать два msgbox'а (по кол-ву строк в выборке).

это почему так?
как убрать?
ну т.е. вычислились поля, и всё, хорош, зачем пересчитывать-то?...
убрать МсджБокс из функции, не вариант ?
...
Рейтинг: 0 / 0
народ, подскажите кто в access шарит
    #163986
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гарыныч  26.09.2022, 13:55
[игнорируется]
убрать МсджБокс из функции, не вариант ?
МсджБокс вставил чтобы убедиться, что ф-ция вызывается уже после фетча всех данных.

естественно в оригинальной ф-ции никаких м.боксов нет.
...
Рейтинг: 0 / 0
народ, подскажите кто в access шарит
    #164011
Гарыныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
[spoiler][size=4][b]Клоп, жидок ты обоссаный, просто пройди нахуй![/b][/size] [:nahui][/spoiler]
1  26.09.2022, 11:58
[игнорируется]
ну т.е. вычислились поля, и всё, хорош, зачем пересчитывать-то?...
https://accesshelp.ru/vychisljaemye-polja-v-zaprosah-access/
Цитата 
[игнорируется]
ВЫЧИСЛЯЕМЫЕ ПОЛЯ В ЗАПРОСАХ ACCESS
Автор: admin Обубликовано: 20.03.2015 Раздел: Уроки 4 0

В этой статье речь поговорим про вычисляемые поля в запросах Access. В запросе, как и в таблице, для каждой записи могут производиться вычисления с числовыми, строковыми значениями или значениями дат с использованием данных из одного или нескольких полей. Результат вычисления образует в таблице запроса новое вычисляемое поле. В отличие от вычисляемых полей таблицы, вычисляемые поля запроса в исходных таблицах базы данных новых полей не создают. При каждом выполнении запроса производятся вычисления на основе текущих значений полей.
....
...
Рейтинг: 0 / 0
народ, подскажите кто в access шарит
    #164076
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, но почему вычисления выполняются и после выполнения запроса?

запрос уже выполнился, результат на экране, но при навигации по этим результатам - он снова пересчитывает эти поля.
...
Рейтинг: 0 / 0
народ, подскажите кто в access шарит
    #164130
Гарыныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
[spoiler][size=4][b]Клоп, жидок ты обоссаный, просто пройди нахуй![/b][/size] [:nahui][/spoiler]
1  26.09.2022, 14:51
[игнорируется]
да, но почему вычисления выполняются и после выполнения запроса?

запрос уже выполнился, результат на экране, но при навигации по этим результатам - он снова пересчитывает эти поля.
многопользовательская Субд потому-что :)))

например, ты вывел результаты запроса в форму просмотра, отошёл покурить....
за это время другой внёс изменения в таблицу...., данные твоего запроса - окажутся устаревшими....
( имхо)
...
Рейтинг: 0 / 0
народ, подскажите кто в access шарит
    #164544
Модест
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как некие костыли, сделать запрос на создание временной таблицы (в том числе с вычисляемым полем) и работать с ней.
Понятно, что не выход.
Но костыль.
...
Рейтинг: 1 / 0
Нравится: 1
народ, подскажите кто в access шарит
    #165023
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модест  26.09.2022, 23:10
[игнорируется]
Как некие костыли, сделать запрос на создание временной таблицы (в том числе с вычисляемым полем) и работать с ней.
Понятно, что не выход.
Но костыль.
вариант, спасибо!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Вопросы по IT [закрыт для гостей] / народ, подскажите кто в access шарит
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]