Elite Veteran
Beiträge: 866
Ort: Wien | Hallo, Jacqueline!
Jaro - 02.08.11
...
DoCmd.OpenForm "Hauptformular", , acNormal, , acFormEdit, acWindowNormal
DoCmd.Close acForm, "2. Formular", acSavePrompt
...
Beim Öffnen des Hauptformular soll aber der Datensatz mit der Mitarbeiternummer aufgerufen werden, welcher im 2. Formular - bevor es geschlossen wird - gerade aktiv ist.
Wenn ich dafür anstelle
DoCmd.OpenForm "Hauptformular", , acNormal, , acFormEdit, acWindowNormal
das Ereignis hinterlege:
DoCmd.OpenForm "Hauptformular", acNormal, , "[mitarbeiternummer]= [Forms]![2. Formular]![mitarbeiternummer]", acFormEdit, acWindowNormal
dann funktioniert dass auch problemlos, aber es es erscheint nur dieser eine Datensatz im Hauptformular.
Ich möchte aber alle ca. 1000 Datensätze in das Hauptformular laden und trotzdem diesen einen Datensatz anspringen.
Die klassische Lösung dafür steht in http://www.donkarl.com?FAQ4.3.
Ich muss den Artikel endlich mal aktualisieren, denn ab A00 kann man das viel kürzer schreiben. In deinem Fall:
DoCmd.OpenForm "Hauptformular"
Forms!Hauptformular.Recordset.FindFirst "mitarbeiternummer=" & Me!mitarbeiternummer
DoCmd.Close acForm, Me.Name
Falls "mitarbeiternummer" in der Tabelle kein Zahl- sondern Textfeld ist, brauchst du Fliegendreck drumherum:
Forms!Hauptformular.Recordset.FindFirst "mitarbeiternummer='" & Me!mitarbeiternummer & "'"
Übrigens solltest du den Namen "2. Formular" unbedingt auf einen sprechenderen Namen (was tut das Formular) ohne Sonderzeichen (v.a. ohne den Punkt und das Leerzeichen) ändern. s.a. http://www.donkarl.com?FAQ1.5
----- Servus
Karl
*********
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek - Jetzt anmelden für 19./20.10. in Nürnberg
Access DevCon Vienna: https://www.donkarl.com/devcon
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy... |