PDA

Vollständige Version anzeigen : neuer Satz im Ufo feststellen


RBBE-avogt-temp
22.10.2001, 08:57
Hallo, rufe ich aus einem Hfo ein Modul auf, kann ich mittels "frmFormular.NewRecord" feststellen ob ein neuer Satz angefügt wurde. Leider klappt das nicht beim Ufo, wo frmFormular statt Form als Subform deklariert wurde.
Wer kann mir Weiterhelfen?
Gruß Andreas

erwin
22.10.2001, 09:58
du bringst da scheint's noch einiges bzgl. UFo's durcheinander.

im "eigenen" Formularmodul klappt (ganz unabh. von der Verwendungsart HF/UFo)

Me.NewRecord

aus einem allg. Modul prüfst du entweder explizit:

Forms!HFName!UFoControlName.Form.NewRecord

oder viel besser indem du ganz einfach das betreffende Formular als Obj.Verweis übergibtst - also im HF oder UFo:

Call DeineSub(Me)

Public Sub DeineSub(pForm as Access.Form)
if pForm.NewRecord....
...

HTH erwin...

RBBE-avogt-temp
22.10.2001, 10:07
Hallo Erwin,
hier der Modul-Aufruf:

Dim aktform As SubForm
Set aktform = Me.Parent!Ufo1
Call AendProt_UFO(aktform, "actionAenderungen", "actionId", Me.Parent, "data", "nummer")

und hier die Deklaration des Moduls:

Public Sub AendProt_UFO(frmFormular As SubForm, strAendTab As String, txtPrimKey As String, Optional Hfo As Form, Optional txtMTNR As String, Optional txtVorgang)

wenn ich nun >>frmFormular.<< schreibe bietet er mir nicht die Möglichkeit "New Record" als Methode an. Deklariere ich frmFormular als Form, funktioniert der ganze Code zwar nicht mehr, aber es wird die Methode angeboten.
Gruß Andreas

erwin
22.10.2001, 10:44
ich sagte ja, du sollst ein FORM - Objekt übergeben und KEIN CONTROL Objekt (Typ SubForm) !

WO erfolgt denn der Aufruf ?

Wenn im "eigenen" UFo (After_Update) dann:

Call AendProt_UFO(Me, "actionAenderungen",....

und die Deklaration des Moduls:

Public Sub AendProt_UFO(frmFormular As Access.Form,.....

Aber hatten wir die Diskussion nicht schon mal ? Wobei ich mich überhaupt frage wozu man für UFo's eine "eigene" Protokollroutine braucht. Schau dir nebenbei mal Reinhards Beispiel zur Protokollierung an www.kraasch.de (http://www.kraasch.de)

so long erwin...

RBBE-avogt-temp
22.10.2001, 11:11
Hallo Erwin,
habe eben ein paar sachen probiert und es funktioniert. Aufrufen tu ich die Funktion bei dem Dirty Ereignis und ist bei "before Update" definiert. Dadurch protokolliere ich Änderungen und neu erstellte Datensätze im Ufo. Und warum im Ufo, weil ich nur im Ufo Daten habe, und im Hfo nur die Menue-Auswahl.
Und da ich die Protokollierung an mehreren Stellen habe ist die Funktion in einem Modul untergebracht.
Auf der Seite von Reinhard Kraasch hab ich auf anhieb nichts passendes gefunden.
Gruß Andreas