Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: mad am Juli 17, 2020, 19:12:17

Titel: AfterUpdate() Datenfelder übertragen
Beitrag von: mad am Juli 17, 2020, 19:12:17
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
Titel: Re: AfterUpdate() Datenfelder übertragen
Beitrag von: ebs17 am Juli 17, 2020, 20:43:52
Ich würde schon das "aktuell funktionieren" der ersten Anweisung bezweifeln.
Das Hochkomma vor dem dbFailOnError dürfte nachhaltig stören.
Titel: Re: AfterUpdate() Datenfelder übertragen
Beitrag von: mad am Juli 18, 2020, 05:46:43
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
Titel: Re: AfterUpdate() Datenfelder übertragen
Beitrag von: mad am Juli 18, 2020, 09:51:10
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
...
Titel: Re: AfterUpdate() Datenfelder übertragen
Beitrag von: PhilS am Juli 18, 2020, 09:55:49
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.