AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Rausfinden ob der User z.b. in einem DBEdit feld was geändert hat.
Thema durchsuchen
Ansicht
Themen-Optionen

Rausfinden ob der User z.b. in einem DBEdit feld was geändert hat.

Ein Thema von DelTurbo · begonnen am 21. Jan 2014 · letzter Beitrag vom 21. Jan 2014
Antwort Antwort
Seite 1 von 2  1 2      
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.193 Beiträge
 
Delphi 2007 Architect
 
#1

Rausfinden ob der User z.b. in einem DBEdit feld was geändert hat.

  Alt 21. Jan 2014, 10:26
Datenbank: MYSql • Version: 5.x • Zugriff über: MyDac
Hi,
ich versuche seit einiger zeit rauszufinden ob ein Datensatz "irgendwo" Editiert wurde. Ich finde aber weder in der DataSource noch im Query etwas. Das einzige was ich gefunden habe ist ein TRzDBStateStatus was das anzeigt.

Darum denke ich, das muss ja wohl irgendwie gehen, ohne das ich mich in zig Feldern in das OnChange reinhängen muss. Aber leider finde ich das nicht.

Danke im voraus
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.995 Beiträge
 
Delphi 12 Athens
 
#2

AW: Rausfinden ob der User z.b. in einem DBEdit feld was geändert hat.

  Alt 21. Jan 2014, 10:27
Ein TDataSet hat ein Modified-Property.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.193 Beiträge
 
Delphi 2007 Architect
 
#3

AW: Rausfinden ob der User z.b. in einem DBEdit feld was geändert hat.

  Alt 21. Jan 2014, 10:30
Uff, vielen dank. Ich habe nach allem möglichen gesucht (Updated,IsChanged usw.). Nur nicht danach.

Einen OnEvent scheint es aber nicht zu geben, oder?
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Rausfinden ob der User z.b. in einem DBEdit feld was geändert hat.

  Alt 21. Jan 2014, 10:32
Aber Achtung, das Modified wird erst gesetzt wenn das editierte DBEdit den Fokus verliert.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.193 Beiträge
 
Delphi 2007 Architect
 
#5

AW: Rausfinden ob der User z.b. in einem DBEdit feld was geändert hat.

  Alt 21. Jan 2014, 10:34
Aber Achtung, das Modified wird erst gesetzt wenn das editierte DBEdit den Fokus verliert.
Habe ich grade gemerkt....
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.193 Beiträge
 
Delphi 2007 Architect
 
#6

AW: Rausfinden ob der User z.b. in einem DBEdit feld was geändert hat.

  Alt 21. Jan 2014, 10:52
Ich finde leider weder einen OnEvent, noch wie ich z.b. JvDBStatusLabel in einem Timer abfragen könnte ob sich was geändert hat.

JvDBStatusLabel springt sofort, ohne das sich der focus ändern muss, auf Query: Edit.

Aber auch da gibt es keinen Event. Gibt es da wirklich nur das eine Flag?

EDIT:
Ich habs. Das Flag frage ich in einem Timer ab. Klappt wunderbar. Ändert sich SOFORT.

DataSource.State=dsEdit
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!

Geändert von DelTurbo (21. Jan 2014 um 10:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.116 Beiträge
 
Delphi 12 Athens
 
#7

AW: Rausfinden ob der User z.b. in einem DBEdit feld was geändert hat.

  Alt 21. Jan 2014, 10:57
Einige DBKomponenten besitzen irgendwo eine Einstellung, ob Änderungen sofort oder z.B. beim OnExit an das DataSet übergeben werden sollen.

Notfalls könnte man auch den Fokus umsetzen, bevor man prüft.



Du könntest im OnBevorEdit den/die alten Inhalte speichern/kopieren.
Und dann IsEdit and (Kopie <> Aktuell)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.193 Beiträge
 
Delphi 2007 Architect
 
#8

AW: Rausfinden ob der User z.b. in einem DBEdit feld was geändert hat.

  Alt 21. Jan 2014, 11:03
Mir ging es eben darum den "SaveButton" zu Enablen. Das klappt mit der Timerabfrage einwandfrei.

Trotzdem danke für den hinweis. Das State-Flag geht z.b. nicht "zurück" wenn man die änderung rückgängig macht. Da könnte dann dein´s greifen.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.995 Beiträge
 
Delphi 12 Athens
 
#9

AW: Rausfinden ob der User z.b. in einem DBEdit feld was geändert hat.

  Alt 21. Jan 2014, 11:06
Mir ging es eben darum den "SaveButton" zu Enablen. Das klappt mit der Timerabfrage einwandfrei.
Normalerweise macht man das auch mit Actions und dort im OnUpdate-Event. Es gibt sogar Standard-Actions für DataSets.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#10

AW: Rausfinden ob der User z.b. in einem DBEdit feld was geändert hat.

  Alt 21. Jan 2014, 11:48
im Datasource gibt es doch das onDatachange Event
da kannst du einfach den Status prüfen

Button1.Enabled := DataSource1.State in [dsedit, dsinsert];
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:05 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