Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBText aktuallisieren ohne Aktuellen Datensatz zu verändern (https://www.delphipraxis.net/111745-dbtext-aktuallisieren-ohne-aktuellen-datensatz-zu-veraendern.html)

Delphi Code Anfänger 8. Apr 2008 19:26

Datenbank: access • Zugriff über: ado

DBText aktuallisieren ohne Aktuellen Datensatz zu verändern
 
Hallo,

das wird etwas schwer zu erklären. Also:

Ich habe ein DBGrid. Da sind verschiedene Datensätze drin. Wenn ich einen anklicke öffnet sich eine neue Form. Dort wird dann der Name des Datensatzes angezeigt und ich kann ihn da verändern. Wenn ich die Form schließe mache ich ein Requery der ADOQuery von der ersten Form mit dem DBGrid, damit die Daten übernommen werden.

Delphi-Quellcode:
if not Form2.ADOQuery1.Active then
   Form2.ADOQuery1.Active :=true
else
 Form2.ADOQuery1.Requery;
So sieht das dann aus. Nun zum Problem. Durch das Requery aktualisiert sich alles und das DBGrid springt wieder auf den ersten Eintrag. Ich möchte aber das, das DBGrid auf dem Eintrag bleibt den ich eben angeklickt habe. Ohne Requery geht es.

Ich hoffe es gibt dafür eine Lösung.

mkinzler 8. Apr 2008 19:30

Re: DBText aktuallisieren ohne Aktuellen Datensatz zu veränd
 
Merk dir vorher doch den aktuellen Datensatz und navigiere wieder zu ihm

Delphi Code Anfänger 8. Apr 2008 20:09

Re: DBText aktuallisieren ohne Aktuellen Datensatz zu veränd
 
Kannst du mir auch noch erklären wie?

mkinzler 8. Apr 2008 20:11

Re: DBText aktuallisieren ohne Aktuellen Datensatz zu veränd
 
Merke die die ID und mach nach dem ReQuery einen Locate auf den.

Delphi Code Anfänger 8. Apr 2008 20:40

Re: DBText aktuallisieren ohne Aktuellen Datensatz zu veränd
 
Wie genau kann ich mir die ID merken?

mkinzler 8. Apr 2008 20:46

Re: DBText aktuallisieren ohne Aktuellen Datensatz zu veränd
 
Delphi-Quellcode:
else
begin
    id := Form2.ADoQuery.FieldByName('id').Value;
    Form2.ADOQuery1.Requery;
    Form2.ADOQuery1.Locate( 'ID', ID, []);

Delphi Code Anfänger 8. Apr 2008 21:06

Re: DBText aktuallisieren ohne Aktuellen Datensatz zu veränd
 
Wie muss ich denn ID definieren? Stehe gerade auf dem Schlauch.

mkinzler 8. Apr 2008 21:09

Re: DBText aktuallisieren ohne Aktuellen Datensatz zu veränd
 
Je nach Typ des Feldes, normalerweise Integer.

Delphi Code Anfänger 8. Apr 2008 21:17

Re: DBText aktuallisieren ohne Aktuellen Datensatz zu veränd
 
Ja dachte ich auch aber dann sagt er mir folgendes:

erwartet wird ein Label Bezeichner in Zeile....

Und das ist diese: id := Form2.ADoQuery.FieldByName('id').Value;

mkinzler 8. Apr 2008 21:19

Re: DBText aktuallisieren ohne Aktuellen Datensatz zu veränd
 
Welchen Typ hat den dein PK-Feld? (ID?)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:31 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz