🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi.bazy-danych
Article #243

Re: TQuery a TTable (aktualizacja) - pilne!

#243
From: Radek Wroblewski
Date: Wed, 14 Apr 1999 09:34
45 lines
2935 bytes
>> Chce teraz, zeby program po kliknieciu przez uzytkownika na
>> wybranym rekordzie w DBGrid'zie automatycznie ustawil w TTable
>> dla TABLE_ZAM ten sam rekord jako biezacy.
>> (...)
>
>Proponuje użyć metody Locate. Wystarczyło by chyba tak:

Ze tez na to nie wpadlem. Dzieki! Ale... To niestety nie rozwiazuje
problemu.

Wlozylem to do zdarzenia AfterScroll dla TQuery. Niestety to zdarzenie
wywolywane jest nie tylko przy zmianie aktualnego rekordu, ale rowniez
podczas wykonywania zapytania SQL. Nie bede pisal cos sie dzieje
przy Locate dla kazdego kolejnego rekordu zwroconego z zapytania :-(

Pytanie, czy jest moze jakies property, dzieki ktoremu mozna sprawdzic,
ze zapytanie juz zostalo wykonane ? Wtedy w AfterScroll mialbym tylko
warunek sprawdzajacy czy zapytanie jest wykonane i dopiero wtedy
wywolywalbym Locate.

A dokladniej cala sprawa wyglada tak:

Jest DataModule. Tam jest TTable z TDataSrc oraz TQuery z TDataSrc.
Jest okno glowne programu, ktory uzywa komponentow nie-DBGrid
tylko zwyklych TEditow i innych (akurat tak musialem). Dla TTable mam
zdarzenie AfterScroll, ktore aktualizuje pola tych Editow na glownej
formie. To dziala. Jest jednak i drugie okienko z DBGrid'em, ktore
w zaleznosci od wyboru wyswietla albo TTable w pelnej postaci
albo to co jest wynikiem zapytania dla TQuery. To dziala ok. Chce jednak,
zeby po wykonaniu zapytania i wyswietleniu w DBGrid jego wynikow,
wybieranie wierszy z DBGrida powodowalo ustawienie rekordu w TTable
na rekord z TQuery aktualnie wybrany w DBGrid, a co za tym idzie
wypelnienie pol na glownej formie. To tez jest proste do zrobienia poprzez
AfterScroll dla TQuery, lecz moj problem polega na tym,
ze AfterScroll dla TQuery jest wywolywany dla kazdego rekordu dodawanego
do DBGrida podczas wykonywania zapytania. Jak wiec zabezpieczyc sie
przed tym? A moze jest jakis inny sposob na synchronizacje rekordow
z TQuery i TTable ? Acha, TTable i TQuery odwoluja sie do tej samej bazy
danych (Paradox).

Prosze o pomoc...

Pozdrawiam,
Radek
Technical Details
Message-ID: <3714641b.0@news.vogel.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!news.wnaft.agh.edu.pl!news.memax.krakow.pl!cyfronet!security.net.pl!news.vogel.pl!pb217.krakow.ppp.tpnet.pl
References: <371372ac.0@news.vogel.pl> <01be85ea$7e42c8a0$037f8080@modem>

Show Full Headers
Complete Article Headers
From: "Radek Wroblewski" <radekw@friko3.onet.pl>
Newsgroups: pl.comp.lang.delphi.bazy-danych
References: <371372ac.0@news.vogel.pl> <01be85ea$7e42c8a0$037f8080@modem>
Subject: Re: TQuery a TTable (aktualizacja) - pilne!
Date: Wed, 14 Apr 1999 11:34:50 +0200
Lines: 47
MIME-Version: 1.0
X-Newsreader: Microsoft Outlook Express 4.72.2106.4
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4
NNTP-Posting-Host: pb217.krakow.ppp.tpnet.pl
X-NNTP-Posting-Host: pb217.krakow.ppp.tpnet.pl
Message-ID: <3714641b.0@news.vogel.pl>
X-Trace: 14 Apr 1999 11:47:07 +0100, pb217.krakow.ppp.tpnet.pl
X-Complaints-To: Usenet@vogel.pl
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!news.wnaft.agh.edu.pl!news.memax.krakow.pl!cyfronet!security.net.pl!news.vogel.pl!pb217.krakow.ppp.tpnet.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit