Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса? / 14 сообщений из 14, страница 1 из 1
14.11.2017, 18:57:34
    #39553042
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
К полям из sql запроса в ADOQuery1 добавлено вычислимое поле.
В обработчике события OnCalcFields написано вычисление значение поля.
Но вычисление, кроме полей выборки DataSet['имяполя'] еще задействует данные полей на форме.
Т.е. при изменении значений в полях на форме нужно чтобы менялось и значение вычислимого поля.
Если сделать ADOQuery1.Close, ADOQuery1.Open то всё получается, но нужно избежать перевыполнение запроса SQL.
Можно каким-то образом вызвать пересчет вычислимого столбца, без перевыполнения запроса?
...
Рейтинг: 0 / 0
14.11.2017, 19:14:15
    #39553058
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
Господин Уэф!Можно каким-то образом вызвать пересчет вычислимого столбца, без перевыполнения запроса?

Можно, но придётся выкинуть TDBGrid, вычисляемое поле и написать пару экранов кода.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.11.2017, 19:27:34
    #39553069
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
Если нужно только отображение, то заменить OnCalcFields на OnGetText
...
Рейтинг: 0 / 0
14.11.2017, 20:27:54
    #39553105
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
На отрисовке ячейке со значением брать данные не из датасета, а считать на основе данных с формы (если расчеты долгие -- то делать пересчет при их изменении, сохранять в индекс с результатами, и по нему уже получать текст для показа).
...
Рейтинг: 0 / 0
15.11.2017, 02:36:42
    #39553185
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
Если не путаю, то ADODatsset.DisableC ontrols и затем EnableControls
...
Рейтинг: 0 / 0
15.11.2017, 05:46:42
    #39553196
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
Кроик Семён,
Спасибо, DisableControls и EnableControls, к сожалению не вызывают пересчет вычислимых столбцов.
...
Рейтинг: 0 / 0
15.11.2017, 05:48:18
    #39553197
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
авторЕсли нужно только отображение, то заменить OnCalcFields на OnGetText
Не подходит, расчетные значения так же нужны в качестве данных.
...
Рейтинг: 0 / 0
16.11.2017, 08:56:50
    #39554031
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
Господин Уэф!,

Не проверял, работает ли это на ADOQuery, но на MemTableEh (если его задействовать) работает включение и выключение фильтрации.
MemTableEh1.Filtered = True;
MemTableEh1.Filtered = False;

(подсказали на сайте EhLib)
...
Рейтинг: 0 / 0
16.11.2017, 11:18:02
    #39554165
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
Edit и Cancel?
...
Рейтинг: 0 / 0
16.11.2017, 11:34:12
    #39554176
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
Если датасет длинный (больше грида), то запомнить запись(букмарк), перейти к начало или конец датасета и вернуться на начальную запись. Тогда событие пересчета запустится. Все что видно в гриде в текущ. момент уже пересчитано.
Edit/Cancel тоже нужно попробывать.
...
Рейтинг: 0 / 0
16.11.2017, 11:50:37
    #39554189
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
Tactical Nuclear PenguinEdit и Cancel?
Это обновляет только текущую строку.
...
Рейтинг: 0 / 0
16.11.2017, 12:08:24
    #39554208
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
wadmanTactical Nuclear PenguinEdit и Cancel?
Это обновляет только текущую строку.

думаешь ТС не осилит цикл пробежаться по датасету?
...
Рейтинг: 0 / 0
16.11.2017, 12:10:58
    #39554213
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
Tactical Nuclear Penguinwadmanпропущено...

Это обновляет только текущую строку.

думаешь ТС не осилит цикл пробежаться по датасету?
ТС не ищет легких задач и их решений. Ему же "быстро" нужно, тогда уж проще переоткрывать весь датасет.
...
Рейтинг: 0 / 0
16.11.2017, 12:30:09
    #39554234
ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса?
авторТС не ищет легких задач и их решений. Ему же "быстро" нужно, тогда уж проще переоткрывать весь датасет.
А кто-то похоже не читатель, а только писатель. Читать выше, решение найдено.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADOQuery можно ли пересчитать вычислимые поля без выполнения sql запроса? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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