![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему может не работать Locate?
Шаповалов Кирилл © (2003-06-02 10:54:00)Возникла ситуация что Locate не желает работать. Причина мне не ясна, т.к. аналогичный код работает в соседней форме.
Поиск ведётся по первичному ключу. Параметр берётся из другого запроса. Причем, если вместо параметра установить конкретное значение - работает. Хотелось бы узнать
1) Где грабли могут быть
2) Есть ли альтернатива Locate. Т.е. необходимо найти запись по перв. ключю. и сделать её активной.
Большое спасибо.
Zacho (2003-06-02 11:29:00) [21]
> Соловьев © (02.06.03 11:21)
А может более правильно else break; ?
Соловьев (2003-06-02 11:21:00) [22]
> while TableField1.asInteger <> SearchingValue do
>
...
while not Eof do
begin
if TableField1.asInteger <> SearchingValue then Next
else SysUtils.Abort;
end;
...
VAleksey (2003-06-02 11:17:00) [23]
> Шаповалов Кирилл (02.06.03 11:10)
А мы типа тоже бимся ошибиться без кода, прикинь ;-).
> Sandman25 © (02.06.03 11:10)
И можно идти кофе пить. :-)
Шаповалов Кирилл (2003-06-02 11:10:00) [24]блин, нету под рукой оригинала, на память боюсь ошибиться
Sandman25 (2003-06-02 11:10:00) [25]2) Есть ли альтернатива Locate. Т.е. необходимо найти запись по перв. ключю. и сделать её активной.
Пробежаться по записям и остановиться на нужной.
with Table do
begin
DisableControls;
try
First;
while TableField1.asInteger <> SearchingValue do
Next;
finally
EnableControls;
end;
end;
Шаповалов Кирилл (2003-06-02 11:07:00) [26]блин, нету под рукой оригинала, на память боюсь ошибиться
Соловьев (2003-06-02 11:00:00) [27]код?