Hallo,
ich arbeiten in einen Navigationsformular (_frmnavstart).
Dort befinden sich in der Leiste oben der Link (Ladungsträger).
Nun öffnet sich das Formular Ladungsträger.
Hier werden Datensätze eingegeben und dann mit einem Button gespeichert.
Nun möchte ich das Formular nach eine Messagebox schließen und wieder neu öffnen.
Mein Code sieht so aus:MsgBox "Der Behälter wurde gebucht.", vbInformation + vbOKOnly, "Buchung abgeschlossen!"
DoCmd.Close
DoCmd.OpenForm "_frmNavstart"
With Forms![_frmNavstart]![frmHal_Ladungsträgerausgang].Form
Leider erhalte ich eine Fehlermeldung, dass das Formular frmHal_Ladungsträgerausgang nicht gefunden werden kann. Kann mir jemand helfen. Ich denke es hängt an dem Navigationsformular, da mitDoCmd.OpenForm "_frmNavstart" mein VBA Code funktioniert.
Danke für eure Hilfe
Hallo,
was willst Du mit dem einsamen With erreichen ?
Und warum willst Du das Formular schließen und dann gleich wieder öffnen ?
Da kannst Du es doch gleich offen lassen.
Hallo,
Wenn
With Forms![_frmNavstart]![frmHal_Ladungsträgerausgang].Form
wirklich die letzte Zeile in der Prozedur ist, fragt sich, warum der Compiler
da nicht schon meckert; - "End With erwartet".
Ansonsten, wenn du das Naviform schliesst und wieder öffnest, musst du dem
Form zusätzl. noch sagen welches Form es anzeigen soll.
Schau dir dazu die .BrowseTo-Methode des Naviforms in der OH an.
gruss ekkehard
Hi,
danke erst mal für eure Hilfe.
ich habe "end with" im VBA drin. Dies ist also nicht der Fehler.
Bei der Box geht es um einen Abbruch. Es taucht eine Messagebox auf und dann möchte ich, dass mit "ok" der obige Link geöffnet wird.
Wer kann mir helfen?
Hallo,
das Navigationsformular hat immer nur ein UFO_Steuerelement mit dem (Standard-)Namen "Navigationsunterformular".
In dieses UFO-St. El. kann jeweils ein (normales) Formular geladen (hier heißt das jedoch "navigieren") und angezeigt werden.
Insofern sollte die Referenz auf das UFo so lauten:
Forms![_frmNavstart]![Navigationsformular].Form
wobei mir unerklärlich ist, warum das Navi-Form ("_frmNavstart") neu geladen werden soll, wenn in seinem Unterformular (worin das Form "Ladungsträger" angezeigt wird) irgendwelche Datenmanipulationen erfolgt sind.
Sorry, aber leider klappt es nicht.
Ich nutze, das ganze eigentlich nur, damit der Datensatz über einen Button nicht doppelt gespeichert wird. Hast du da eine Idee wie ich dies verhindern kann.
Hallo,
das ist keine Erklärung, warum das UFO neu angezeigt , bzw. das Naviform neu geladen werden sollte...
Versuch das mal so (wenn ich den ganzen Formularismus richtig interpretiere)
Im Form "frmHal_Ladungsträgerausgang"
Sub btnSpeichern_Click()
If Me.Dirty Then Me.Dirty =False
End Sub
.
.
Sub Form_AfterUpdate()
MsgBox "Der Behälter wurde gebucht.", vbInformation + vbOKOnly, "Buchung abgeschlossen!"
End Sub
Hallo,
Zitatich habe "end with" im VBA drin. Dies ist also nicht der Fehler.
Dann fragt, was dazwischen an Code steht.
DoCmd.OpenForm "_frmNavstart"
With Forms![_frmNavstart]![frmHal_Ladungsträgerausgang].FormAn dieser Stelle kennt IMO das HFO (_frmNavstart) das Formular "frmHal_Ladungsträgerausgang"
noch gar nicht. Eigentlich müsste hier eine entsprechende Fehlermeldung kommen.
Mit
DoCmd.OpenForm "_frmNavstart"
DoCmd.BrowseTo _
ObjectType:=acBrowseToForm, _
ObjectName:="frmHal_Ladungsträgerausgang", _
PathToSubformControl:="_frmNavstart.NameDesNaviUFoControls"
With Forms![_frmNavstart]![frmHal_Ladungsträgerausgang].Formsollte es eigentlich funzen. Namen musst du evtl. anpassen.
Allerdings halte ich das Schliessen des (Navi-)hauptformulars auch für
überflüssig.
gruss ekkehard