Вниз
Скачать: CL | DM;

Locate то работает, то выдает ошибку.   Найти похожие ветки 

 
Донской   (2004-08-27 19:17) [0]

День добрый!

У меня два набора данных, подключенных к базе Access
В разных местах я использую Locate для того, чтобы определить, есть ли запись со интересующим меня значением в интересующем поле.

В одном месте все работает,
а в другом - выдает ошибку, если запись не найдена. НИкак не могу найти закономерность, да и в хелпе написано, что если записи нет, то функция вернет false,

Ничего не понимаю....

Вот рабочий код:


   s:="_NEW_";
     k:=0;
     while locate("Name",s,[]) do
     begin
        k:=k+1;
        s:="_NEW_"+inttostr(k);
     end;


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

if SetBaseTermoList.locate("TermoNum",c,[]);then
begin
  with serieses[c] do
  begin
     ser.AddXY(Measuretime,codehi*256+codelo);
  end;
end;


и вот сообщение об ошибке
... SetBaseTermoList: Record not found ...


 
Ega23 ©   (2004-08-27 19:24) [1]

1. зачем ; после SetBaseTermoList.locate("TermoNum",c,[]) ?
2. Попробуй

if (SetBaseTermoList.locate("TermoNum",c,[])) and
   (not SetBaseTermoList.IsEmpty) then
begin
 with serieses[c] do
 begin
    ser.AddXY(Measuretime,codehi*256+codelo);
 end;
end;


 
Донской   (2004-08-27 19:30) [2]

аааааааааааааааааа!!!!!!!
кажется это из-за того, что во втором случае набор был фильтрованный.
Вот е-мое.

Всем привет!!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
1-1094628758
HotDog
2004-09-08 11:32
2004.09.26
сохранение


14-1094383441
Voland
2004-09-05 15:24
2004.09.26
Как можно улучшить этот код


1-1094827882
redlord
2004-09-10 18:51
2004.09.26
пауза


1-1094633983
Koala
2004-09-08 12:59
2004.09.26
Удаление файла


4-1092659361
surkis
2004-08-16 16:29
2004.09.26
служба или авторан




   Наверх