Вниз
Скачать: 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.021 c
3-1093683807
Yakudza
2004-08-28 13:03
2004.09.26
Проблема с ADODataSet


14-1094265307
Думкин
2004-09-04 06:35
2004.09.26
С днем рождения! 4 сентября


1-1095085977
Multy
2004-09-13 18:32
2004.09.26
Напомните как создаётся процедура перехватывающая все сообщения


8-1088750022
maxistent
2004-07-02 10:33
2004.09.26
Поворот битмапа по/против часовой стрлк


1-1095087410
M-Alex
2004-09-13 18:56
2004.09.26
Математические операции




   Наверх