Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Zeitstempel mit Unterformular
Gehe zu Seite 1, 2  Weiter
zurück: Anzeige von Element beim Laden von Formular in Kombobox weiter: über frm tab aktualisieren ? Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Karl123
Excel-Wissender mit etwas VBA


Verfasst am:
16. Nov 2009, 10:42
Rufname:

Zeitstempel mit Unterformular - Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Hallo

Mein Ziel ist es, für jede Änderung in einem Formular einen Zeitstempel in einer Tabelle zu setzen.

Das Element DTPicker(MSComCtl2.DTPicker.2), ein Datumsauswahlfeld, enthält aber leider keine Möglickeit auf Datenänderung zu reagieren.

Entsprechend habe ich das Element in ein Unterformular gepackt und wollte auf die Änderung im Unterformular reagieren.

Das Problem ist nun: Wenn ich mit VBA die Änderung in das gebundene Textfeld darüber eintragen will, verursacht das eine Fehlermeldung: (siehe Anhang)

Mein VBA Code:
Code:
Private Sub Form_Dirty(Cancel As Integer)
    Me.Parent.Controls("TF_Aenderungsdatum") = Now
    Me.Parent.Controls("TF_Aenderungsdatum").Requery
End Sub
Hat jemand eine Idee wie ich das Problem lösen könnte?
_________________
Gruss
Karl



Schreibkonflikt_Access.jpg
 Beschreibung:
 Dateigröße:  23.12 KB
 Angeschaut:  1166 mal

Schreibkonflikt_Access.jpg


MissPh!
Office-VBA-Programmiererin


Verfasst am:
16. Nov 2009, 14:07
Rufname:
Wohnort: NRW


AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

hallo,

ich verstehe nicht, was du mit dem DTPicker da vorhast. Du kannst doch auf das AfterUpdate-Ereignis des Formulars reagieren
und ganz normal per VBA den Zeitstempel setzen, so wie du es auch gezeigt hast.

Ein Requery ist da übrigens überflüssig bzw. fehl am Platz.

_________________
Gruß MissPh!
Karl123
Excel-Wissender mit etwas VBA


Verfasst am:
16. Nov 2009, 14:57
Rufname:

AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Das Afterupdate Ereignis existiert bei diesem Element nicht.

Es existieren nur die folgenden Aktionselemente:

Beim Hingehen im VBA alias _Enter
Beim Verlassen im VBA alias _Exit
Beim Fokuserhalt im VBA alias _gotFocus
Beim Fokusverlust im VBA alias _lostfocus
bei OLE Aktualisierung im VBA alias _Updated

Updated was dem Afterupdate Ereignis am ehesten entsprechen würde, reagiert leider nicht beim setzen des Häkchens. Enter und Exit hingegen reagieren leider auch auf den Tabulator der nur den Fokus verschiebt.

_________________
Gruss
Karl


Zuletzt bearbeitet von Karl123 am 16. Nov 2009, 15:04, insgesamt 2-mal bearbeitet
derArb
getting better


Verfasst am:
16. Nov 2009, 15:02
Rufname: derArb
Wohnort: Berlin

AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Hallo,

MissPhil sagte:
Zitat:
AfterUpdate-Ereignis des Formulars

mfg
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Karl123
Excel-Wissender mit etwas VBA


Verfasst am:
16. Nov 2009, 15:08
Rufname:


AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Danke für den Hinweis, hab es gesehen war aber schon zu spät zum Reagieren Embarassed

Das AfterUpdate-Ereignis des Formulars wird immer nur dann aktiv, wenn der Fokus aus dem Formular springt. Deshalb hatt ich das Element in ein eigenes Unterformular gepackt.

_________________
Gruss
Karl
MissPh!
Office-VBA-Programmiererin


Verfasst am:
16. Nov 2009, 15:22
Rufname:
Wohnort: NRW

AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Zitat:
Mein Ziel ist es, für jede Änderung in einem Formular einen Zeitstempel in einer Tabelle zu setzen.
Das hört sich eher so an, als wolltest du das AfterUpdate-Ereignis jedes einzelnen Steuerelements auswerten.

Die Antwort auf meine Frage nach dem DTPicker bist du mir aber noch schuldig geblieben...

_________________
Gruß MissPh!
Karl123
Excel-Wissender mit etwas VBA


Verfasst am:
16. Nov 2009, 15:41
Rufname:

AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Tut mir leid dass es nicht so klar rüber gekommen ist, ich versuch es mal etwas genauer.

Der DTPicker:
Mit dem DTPicker Element setzt der Benutzer ein für ihn wichtiges Datum zur Kontaktaufnahme von Kunden. Dieses wird in einer Tabelle eingetragen. Dieses Datum hat nichts mit meinem Zeitstempel zu tun.

Was möchte ich erreichen:
Das Formular enthält weitere Checkbox-Elemente und Textfelder.
Sobald eines der Felder verändert wird, soll der Zeitstempel die/das aktuelle Zeit/Datum eintragen. Der Zeitstempel ist, bis auf eine bereits funktionierende Ausnahme, für alle Elemente der selbe. Er soll dem Benutzer bei Änderung immer gleich angezeigt werden.

Was stimmt nun noch nicht mit dem AfterUpdate:
AfterUpdate trägt die Änderung korrekt in die Tabelle ein. Allerdings erst bei einer Fokusänderung auf ein anderes Formular oder beim erneuten öffnen. Der Benutzer bekommt wärend seinen Eintragungen im Formular das Gefühl, dass noch gar nichts verändert wurde.

Entsprechend habe ich versucht auf jede Änderung der Elemente zu reagieren, aber wie man sieht mit mässigem Erfolg.

_________________
Gruss
Karl
MissPh!
Office-VBA-Programmiererin


Verfasst am:
16. Nov 2009, 16:22
Rufname:
Wohnort: NRW

AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Zitat:
Dieses Datum hat nichts mit meinem Zeitstempel zu tun.
das dachte ich mir schon... ;)

Zitat:
AfterUpdate trägt die Änderung korrekt in die Tabelle ein. Allerdings erst bei einer Fokusänderung auf ein anderes Formular oder beim erneuten öffnen.
...oder bei Datensatzwechsel.

Du könntest eine Speichern-Schaltfläche einfügen, damit der Benutzer die Kontrolle erhält.
Zitat:
Entsprechend habe ich versucht auf jede Änderung der Elemente zu reagieren, aber wie man sieht mit mässigem Erfolg.
Das sehe ich nicht, denn der DTPicker hat ja nichts damit zu tun, wie du sagst. Wenn du das Ereignis greifen willst, wo durch Auswahl im Kalenderobjekt ein Datenfeld verändert wird, so musst du genau da ansetzen, wo dies passiert - z.B. im Ereignis Updated. Da steckt doch sicher VBA-Code hinter?
_________________
Gruß MissPh!
Karl123
Excel-Wissender mit etwas VBA


Verfasst am:
16. Nov 2009, 17:42
Rufname:

AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Der DTPicker hat nur insofern etwas mit dem Zeitstempel zu tun, als dass sich der Zeitstempel bei Veränderung des DTPickers aktualisieren muss.

Warscheinlich wird es damit auf den "speichern" Button hinauslaufen, aber eine letzte Idee habe ich noch: Ich versuche das Datum unsichtbar im selben Unterformular zu setzen und das übergeordnete Formular mit requery neu zu berechnen.

Das werde ich demnächst mal probieren und melde mich dann.

_________________
Gruss
Karl
MissPh!
Office-VBA-Programmiererin


Verfasst am:
16. Nov 2009, 18:52
Rufname:
Wohnort: NRW

AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Zitat:
..., als dass sich der Zeitstempel bei Veränderung des DTPickers aktualisieren muss.
Ja, das hatte ich doch schon vermutet, aber der DTPicker wird doch sicherlich benutzt, um ein Datumsfeld in der Tabelle bzw. im Formular zu setzen. Das ist doch ein Ereignis, bei dem du ansetzen kannst.
Zitat:
..., so musst du genau da ansetzen, wo dies passiert - z.B. im Ereignis Updated. Da steckt doch sicher VBA-Code hinter?

_________________
Gruß MissPh!
Karl123
Excel-Wissender mit etwas VBA


Verfasst am:
18. Nov 2009, 18:06
Rufname:

AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Der Steuerelement Inhalt des DTPickers verweist auf ein Element einer Tabelle. VBA Code ist sonst keiner dabei.

Das Updated-Ereignis wollte ich ursprünglich auch dafür verwenden den Zeitstempel zu setzen, kurrioser Weise reagiert "Updated" nicht auf Änderungen durch den Benutzer (mit Breakpoint getestet).

Mein Versuch mit dem unsichtbaren Element konnte ich wegen Zeitmangels noch nicht testen.

_________________
Gruss
Karl
MiLie
kein Office- VBA- Programmierer


Verfasst am:
19. Nov 2009, 00:59
Rufname: Micha
Wohnort: Chemnitz

AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Hallo,

den Zeitstempel beim Vor Aktualisieren des Formulars ist der richtige Weg, alles andere ist unsinnig. Richtig ist das er dann erst nach verlassen des Form oder nach verlassen das Datensatzes gesetzt wird (also kurz vor dem Speichern).

den Zeitstempel zu setzen, wenn nur eine Änderung in einen Feld gemacht wird erhöht nur unsinnig den Programmieraufwand. Alternative wäre das Ereignis "bei geändert" dann wird er bereits gesetzt, wenn eine Änderung im DS eintritt.

_________________
Viele Grüße

Micha

Schreibfehler die Ihr findet, könnt Ihr behalten
Karl123
Excel-Wissender mit etwas VBA


Verfasst am:
19. Nov 2009, 09:39
Rufname:

AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Hallo MiLie

Damit ich mit dieser Kleinigkeit nicht zuviel Zeit vertue habe ich mich für folgende Variante entschieden:
Code:
Dim vorDatum As Variant

Private Sub Date_Naechster_Kontakt_GotFocus()
    vorDatum = Date_Naechster_Kontakt.Value
End Sub
   
Private Sub Date_Naechster_Kontakt_LostFocus()
    If vorDatum <> Date_Naechster_Kontakt.Value Or _
       (IsNull(Date_Naechster_Kontakt.Value) <> (IsNull(vorDatum))) Then
        [TF_Aenderungsdatum] = Now
    End If
    Me.Requery
End Sub
hierbei wird der Zeitstempel beim verlassen des Focus gesetzt, aber nur wenn etwas verändert wird.

Danke euch allen für die Hilfe!

_________________
Gruss
Karl
MissPh!
Office-VBA-Programmiererin


Verfasst am:
19. Nov 2009, 11:23
Rufname:
Wohnort: NRW

AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Hier könntest du wohl auch mit OldValue vergleichen, dann brauchst du nur ein Ereignis und keine extra Variable.
_________________
Gruß MissPh!
Karl123
Excel-Wissender mit etwas VBA


Verfasst am:
19. Nov 2009, 12:25
Rufname:


AW: Zeitstempel mit Unterformular - AW: Zeitstempel mit Unterformular

Nach oben
       Version: Office 2003

Danke für den Tip, das werd ich noch einbauen Very Happy
_________________
Gruss
Karl
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Formular, Unterformular, Versionierung/automatisches Zählen 3 RammTammTamm 91 31. März 2014, 21:13
MiLie Formular, Unterformular, Versionierung/automatisches Zählen
Keine neuen Beiträge Access Tabellen & Abfragen: Unterformular nach Zeitspanne filtern 2 Udosym 105 01. Dez 2013, 14:48
MaHumba Unterformular nach Zeitspanne filtern
Keine neuen Beiträge Access Tabellen & Abfragen: Per VBA neuen Datensatz in Unterformular 5 turbochris 9357 28. Aug 2013, 16:57
sponsorsearch Per VBA neuen Datensatz in Unterformular
Keine neuen Beiträge Access Tabellen & Abfragen: txt_Feld mit Suchbutton soll Unterformular 6 BabyHoppi 375 08. Aug 2013, 13:44
endorfin txt_Feld mit Suchbutton soll Unterformular
Keine neuen Beiträge Access Tabellen & Abfragen: Berechnung in Unterformular 1 Bollerkohl 100 09. Okt 2012, 08:19
kyron9000 Berechnung in Unterformular
Keine neuen Beiträge Access Tabellen & Abfragen: Laufende Uhrzeit im Unterformular 3 Iron70 305 23. Sep 2012, 07:57
Iron70 Laufende Uhrzeit im Unterformular
Keine neuen Beiträge Access Tabellen & Abfragen: Unterformular Neuer Datensatz nicht am Schluss 1 chris374 389 03. März 2012, 10:56
KlausMz Unterformular Neuer Datensatz nicht am Schluss
Keine neuen Beiträge Access Tabellen & Abfragen: Unterformular per SQL füllen / Objekt geschlossen... 6 htc.zenit 513 15. Feb 2012, 18:12
Gast Unterformular per SQL füllen / Objekt geschlossen...
Keine neuen Beiträge Access Tabellen & Abfragen: Auf Unterformular zugreifen 1 Vermillion 181 12. Jan 2012, 18:38
MiLie Auf Unterformular zugreifen
Keine neuen Beiträge Access Tabellen & Abfragen: Unterformular für Artikelbestellung 5 JochenGAST 304 01. März 2011, 20:10
KlausMz Unterformular für Artikelbestellung
Keine neuen Beiträge Access Tabellen & Abfragen: Variabler Wert in einem Abhängigem Unterformular 7 Ogni 589 07. Feb 2011, 18:45
Bitsqueezer Variabler Wert in einem Abhängigem Unterformular
Keine neuen Beiträge Access Tabellen & Abfragen: Leere Abfrage wenn kein Wert im Unterformular??? 5 Gast 588 23. Dez 2010, 15:02
Willi Wipp Leere Abfrage wenn kein Wert im Unterformular???
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Macromedia Dreamweaver