August 06, 2020, 21:59:46

Neuigkeiten:

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


AfterUpdate() Datenfelder übertragen

Begonnen von mad, Juli 17, 2020, 19:12:17

⏪ vorheriges - nächstes ⏩

mad

Hallo Zusammen,

ich habe ein HF mit mehreren UF in dem nach Update der Kombifeldes "PA_PrüferID" diverse Feldinhalte aus dem "frmPruefschritte" (tblPruefschritte) an das UF "frmPASchritte" (tblPASchritte) übergibt.

Die aktuelle funktionierende Ereignisprozedur lautet wie folgt:
Private Sub PA_PrüferID_AfterUpdate()
Me.Dirty = False
CurrentDb.Execute " Insert into tblPASchritte (PAS_Datum,PAS_PSID, PAS_PAID) Select Date() as PAS_Datum, PSID as PAS_PSID, " & Me!PAID & " as PAS_PAID  from qryArtPS Where ArtikelID = " & Me!PA_ArtikelID  ', dbFailOnError
Me!frmPGSchritte.Form.Requery
End Sub

Nun wollte ich das ganze um zwei Felder, PS_Sollwert->PASSollwert u. PS_Einheit->PAS_Einheit, mit nachfolgendem Code erweitern:
Private Sub PA_PrüferID_AfterUpdate()
Me.Dirty = False
CurrentDb.Execute " Insert into tblPASchritte (PAS_Datum,PAS_PSID, PAS_PAID, PAS_Sollwert, PAS_Einheit) Select Date() as PAS_Datum, PSID as PAS_PSID, PS_Sollwert as PAS_Sollwert, PS_Einheit as PAS_Einheit, " & Me!PAID & " as PAS_PAID  from qryArtPS Where ArtikelID = " & Me!PA_ArtikelID  ', dbFailOnError
Me!frmPGSchritte.Form.Requery
End Sub

Leider passiert nichts, auch kein Fehlercode.
Habe auch noch einen Auszug aus dem Beziehungsfenster hinzugefügt.
Hat jemand eine Idee?

Gruss
mad

ebs17

Ich würde schon das "aktuell funktionieren" der ersten Anweisung bezweifeln.
Das Hochkomma vor dem dbFailOnError dürfte nachhaltig stören.
Mit freundlichem Glück Auf!

Eberhard

mad

Juli 18, 2020, 05:46:43 #2 Letzte Bearbeitung: Juli 18, 2020, 08:50:45 von mad
Hallo,

das ...', dbFailOnError kann man auch weglassen, dass ist nur als Infotext (grün) im Code angezeigt, und es funktioniert der ursprüngliche Code immer noch.

Könnte es event. daran liegen das "PS_Einheit" u. "PAS_Einheit" ein Textfeld ist?


Gruss
mad

mad

Hallo Zusammen,

habs geschafft, es kommt auf die Reihenfolge an.

So hats geklappt:

...
CurrentDb.Execute " Insert into tblPASchritte (PAS_Sollwert, PAS_Einheit, PAS_Datum, PAS_PSID, PAS_PAID) Select PS_Sollwert as PAS_Sollwert, PS_Einheit as PAS_Einheit, Date() as PAS_Datum, PSID as PAS_PSID, " & Me!PAID & " as PAS_PAID  from qryArtPS Where ArtikelID = " & Me!PA_ArtikelID
...

PhilS

Zitat von: mad am Juli 17, 2020, 19:12:17Leider passiert nichts, auch kein Fehlercode.
Zitat von: mad am Juli 18, 2020, 05:46:43das ...', dbFailOnError kann man auch weglassen, dass ist nur als Infotext (grün) im Code angezeigt, und es funktioniert der ursprüngliche Code immer noch.
Diese beiden Aussagen stehen in engen Zusammenhang, sie passen nur nicht zusammen.

Das dbFailOnError kann man nicht weglassen, wenn man bei einem Fehler bei der Ausführung des SQL auch einen Laufzeitfehler in VBA haben möchte.
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!