Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ADOQuery und der letzte Datensatz (https://www.delphipraxis.net/116350-adoquery-und-der-letzte-datensatz.html)

Cosamia 27. Jun 2008 09:31

Datenbank: Access • Version: 2003 • Zugriff über: ADO

ADOQuery und der letzte Datensatz
 
Hallo,

in meiner Anwendungs nutze ich ein DBGRID mit Checkbox, und habe nun das Thema, dass der letzt gesetzte Haken nicht mit übernommen wird, wenn ich in dem Datensatz stehen bleibe.

Ich habe mein Glück mit einem Requery versucht, aber leider funktioniert das nicht richtig.

Wie löst man so etwas elegant, dass der Datensatz noch während er den Focus hat, abgespeichert wird.

Gruss

shmia 27. Jun 2008 11:32

Re: ADOQuery und der letzte Datensatz
 
Du kannst zunächst mal in dem Options des DBGrid die Option dgCancelOnExit auf False setzen.
Wenn der Benutzer das Formular schliest, dann wird ein evtl. geänderter Datensatz autom. gespeichert.

Oder du setzt einen Timer auf das Formular, der alle 10 Sekunden folgende Funktion
aufruft:
Delphi-Quellcode:
procedure PostDataSet(ds: TDataset);
begin
   if ds.State in [dsEdit, dsInsert] then
   begin
      try
         ds.Post;
      except
         on e: Exception do
         begin
            e.Message := e.Message + #13#10'Dataset: ' + ds.Name;
            raise;
         end;
      end;
   end
end;
Das ergäbe eine Art Autosave-Funktion. Allerdings kann der Benutzer durch das autom. Speichern auch ziemlich gestört werden. Der Timer sollte auf jeden Fall abschaltbar sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 Uhr.

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