Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Änderungsdatum

Begonnen von Jonny, November 18, 2011, 12:40:40

⏪ vorheriges - nächstes ⏩

Jonny

Hallo,
ich möchte immer wenn im Form irgendein Feld geändert wurde ein Feld Anderungsdatum mit Now belegen.
Jetzt habe ich schon versucht die Ereignisse "nach Aktuallisieren" und "bei Änderung" mit dem Befehl
me!aenderungsdatum = now
zu versehen.
Leider klappt es nicht.
Arbeite mit Acc 2007

Gruß

Johann

Beaker s.a.

Hallo Jonny,
In AfterUpdate noch was zu ändern ist zu spät (DS bereits gespeichert). Dadurch ist der DS dann wieder in Bearbeitung (Dirty ist True). Wenn Du in AfterUpdate nach der Änderung (Datum=Now) den DS programmatisch speicherst (Dirty=False oder DoCmd.RunCommand acCmdSaveRecord) werden Before- und AfterUpdate erneut gefeuert; - da läufst Du im schlimmsten Falle in eine Endlosschleife, oder bekommst, u.U. nicht verständliche, Fehlermeldungen.
"Bei Änderung" ist IMO zu früh, weil da ja noch gar nicht klar ist, ob die Änderung(en) dann auch gespeichert werden soll (s.u.)
Verwende Form_BeforeUpdate. Da hast Du evtl. ja schon Code mit einer Abfrage "Speichern J/N?", womit Du das steuern kannst ob gespeichert werden soll oder nicht; - und das ist dann ja auch der richtige Zeitpunkt, bei einer vom Anwender tatsächlich gewollten Änderung, das Änderungsdatum zu schreiben.
hth
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Jonny

Hallo ekkehard,
erstmal vielen Dank für die Antwort.
Leider klappt es nicht das Änderungsdatum wird immer aktuallisiert.

Gruß

Johann

DF6GL

Hallo,

WAS machst Du denn, weshalb es nicht klappt?


Sub Form_BeforeUpdate(Cancel AS Integer)  ' wie Ekkehard  schon gesagt hat
Me!Aenderungsdatum=Date  ' besser "Date" anstatt "Now" , wenn keine Uhrzeit benötigt wird
End Sub


Das Form_BeforeUpdate-Ereignis tritt nur dann auf, wenn irgendein Feldwert geändert wurde.


Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Jonny

Hallo,
ich hab es gefunden.
Es sind Prüfberichte mit zwei Prüfer.
Diese beiden oder auch nur einer melden sich an.
Wenn ich jetzt einen Prüfbericht aufrufe habe ich einfach die zwei Prüfer neu zugeordnet.
Das führt dann ja zwingend zu einer Änderung auch wenn beide gleich sind.
Jetzt mache ich es nur wenn die Anmeldung vom Prüfbericht abweicht und siehe da es klappt.

Also nichts anderes wie ein blöder Logikfehler.

Gruß

Johann