Нужно пройтись по всем записям в ADOQuery.
Пишем так:
ADOQuery1.First;
while not ADOQuery1.Eof do begin
// Какие-то операторы
ADoQuery1.Next
end;
При этом по DBGrid, который связан с ADQuery двигается курсор.
Можно ли пройтись по всем записям запроса, но незаметно для пользователя, чтобы курсор в DBGrid не перемщался.
как незаметно пройтись по записям таблицы или запроса
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
1) связать с гридом другй Query
2) открыть запрос, по которому нужно пробежаться в другом Query
3) на время "пробежки" Grid.datasource:=''
2) открыть запрос, по которому нужно пробежаться в другом Query
3) на время "пробежки" Grid.datasource:=''
-
- Сообщения: 117
- Зарегистрирован: 10 ноя 2005, 02:00
"Открыть запрос" - то есть выполнить его чтоли ещё раз? Это не подходит, запрос один то раз выполняется долго, так что выполнить его ещё раз займёт много времени.
Или нужно сохранить результаты первого запроса в файл и открыть их во втором? Это тоже не подходит.
Или нужно сохранить результаты первого запроса в файл и открыть их во втором? Это тоже не подходит.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
Viktor Zull, всё проще:
читаем справку по представленным методам 
Код: Выделить всё
var
bm: string;
...
bm := ADOQuery1.Bookmark; // запомнить тек. поз.
ADOQuery1.DisableControls;
try
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
// Какие-то операторы
ADoQuery1.Next
end;
finally
ADOQuery1.Bookmark := bm; // восстановить тек. поз.
ADOQuery1.EnableControls;
end;
