LP i calcfields adoquery

0

Witam
Probuje podpiac kolumne kalkulacyjna LP do mojego Adoquery, jak sprytnie zrobic takie wyliczenie?

w zdarzeniu:

procedure TForm2.ADOQuery1CalcFields(DataSet: TDataSet);
begin
  AdoQuery1LP.value := AdoQuery1.recno;
end;

otrzymuje efekt taki iż pierwszy i ostatni rekord mają wartość -1, pozostałe prawidłowo...

Probowalem rowniez na jakis licznikach typu:

procedure TForm2.ADOQuery1CalcFields(DataSet: TDataSet);
begin
  AdoQuery1LP.value := AdoQuery1LP.value +1;
end;

ale niestety scroll na gridzie do gory/na dol pomnazal mi ta liczbe porzadkowa

jakies pomysly?

0

Pierwsze zdarzenie ZAWSZE pokaże ci jakiś błąd. Musisz podpiąć dodatkową komendę do tego... Patrz w helpa.

0

szukam i szukam i znalezc nie moge, zatem prosze o kolejne sugestie

0

A gdy byś dał np +5 zamiast +1 to co wywali?

0

w tym wyrazeniu: AdoQuery1LP.value := AdoQuery1LP.value +1 ?
to wyrazenie nadaje mi LP od 1 do recordcount, jakbym dal +5 nadalo by mi 5,10,15,20... ale problem wystepuje jak przejezdzam scrollem grida w gore, bo zamiast odejmowac licznik to wciaz dodaje tak wiec zatrzymujac sie na powiedzmy 10 rekordzie i naciskajac scroll do gory mam w LP zamiast 9 11. Dlatego rozwiazania inkrementacyjne raczej odpadaja w tym przypadku. Bardziej skupilbym sie na recno, ale ten niestety pierwszy i ostatni rekord wskazuje jako -1, ale tylko w zdarzeniu calcfields, chyba to dziala tak ze najpierw probuje wyliczyc pole kalkulacyjne zanim otworzy pierwszy rekord.
zatem jak to ugryzc?

1 użytkowników online, w tym zalogowanych: 0, gości: 1