Lazarus 3.2 (2024.02.28.)
Letöltés

  • Oldal:
  • 1

TÉMA:

SQLQuery rekordpozíció esemény (master-detail) 2016 jan. 18 13:30 #1781

  • makgab
  • makgab profilkép Témaindító
  • Törzsgárda tag
  • Törzsgárda tag
  • Hozzászólások: 280
  • Köszönetek: 1
Jobb megoldás nem jutott eszembe. Az ID mezőre (primary key) irányított DBEdit OnChange eseményébe futtattam a detailSQLQuery-t.
Ahol nincs DBEdit, oda egy láthatatlan (Visible:=False) DBEdit boxot tettem ugyanezzel a megoldással. :)
Nem biztos, hogy a legszebb, de működik: csak navigáláskor fut le.

SQLQuery rekordpozíció esemény (master-detail) 2016 jan. 18 12:08 #1780

  • makgab
  • makgab profilkép Témaindító
  • Törzsgárda tag
  • Törzsgárda tag
  • Hozzászólások: 280
  • Köszönetek: 1
Üdv!
SQLQuery esetén hogyan lehetne szépen megoldani, hogy a master táblához tartozó detail adatokat le tudja gyűjteni gyorsan és szépen?
A masterSQLQuery OnAfterScroll-jába betettem:
  // master OnAfterScroll
  detailSQLQuery.Close;
  detailSQLQuery.ParamByName('id').AsInteger:=masterSQLQuery.FieldByName('id').AsInteger;
  detailSQLQuery.Open;

Ez nagy rekordszám esetén gond.
Működik, de megnyitáskor (mikor először lefut a masterSQLQuery.Open) elég lassú, mert minden egyes rekordján is végigfut.

Tehát csak akkor kellene ez, ha pl. a DBNavigátorral/DBGriddel másik rekordra pozíciónál a felhasználó.

  • Oldal:
  • 1