Supportnet / Forum / Datenbanken
Datensatz
Frage
Hi
Ich hab jetzt erst angefangen mich mit Access zu beschäftigen und hab jetzt auch gleich ein Problem: Ich hab habe jedem Datensatz eine Nummer zugeordnet und möchte den jeweiligen Datensatzz mit einem Kombinationsfeld auswählen. Allerdings soll der Inhalt des betreffenden Datensatzes in den Textfeldern darunter angezeigt werdn. Wie kann ich das machen?
Schon jetzt vielen Dank!
Antwort 1 von Koebi
Grüezi wakki
Wenn Du das Kombinationsfeld mit dem Assistenten erstellst, bekommst Du 3 Optionen zur Wahl. Wähle die 3. Option "Einen Datensatz im Formular, basierend auf den im Kombinationsfeld gewählten Wert suchen".
Diese 3. Option steht nicht immer zur Verfügung, wenn Du als Datenherkunft des Formulars eine Abfrage hast (nicht "nur" eine Tabelle).
In diesem Falle musst Du den Code, den der Assistent sonst erstellen würde, selbst eingeben. Als Ereignisprozedur beim Ereignis Nach Aktualisierung des Kombifeldes. So z.B.:
Sub NameDeinesKombis_AfterUpdate()
´ Einen allfälligen Filter löschen und
´ den mit dem Steuerelement übereinstimmenden Datensatz suchen.
DoCmd.ShowAllRecords
Me.RecordsetClone.FindFirst "[DeineDatensatzID] = " & Me![NameDeinesKombis]
Me.Bookmark = RecordsetClone.Bookmark
´und jetzt Such-Kombifeld wieder leeren für die nächste Auswahl
Me.NameDeinesKombis = Null
End Sub
Oder Du behilfst Dir wie folgt: Aendere kurzfristig die Datenherkunft des Formulars in der Weise, dass das Formular auf der Haupttabelle der Abfrage basiert. Dann erstellst Du das Kombifeld nochmals neu mit dem Assistenten. Jetzt sollte die 3. Option zur Verfügung stehen. Anschliessend die Datenherkunft des Formulars wieder zurück auf die ursprüngliche Abfrage setzen.
Wenn Du das Kombinationsfeld mit dem Assistenten erstellst, bekommst Du 3 Optionen zur Wahl. Wähle die 3. Option "Einen Datensatz im Formular, basierend auf den im Kombinationsfeld gewählten Wert suchen".
Diese 3. Option steht nicht immer zur Verfügung, wenn Du als Datenherkunft des Formulars eine Abfrage hast (nicht "nur" eine Tabelle).
In diesem Falle musst Du den Code, den der Assistent sonst erstellen würde, selbst eingeben. Als Ereignisprozedur beim Ereignis Nach Aktualisierung des Kombifeldes. So z.B.:
Sub NameDeinesKombis_AfterUpdate()
´ Einen allfälligen Filter löschen und
´ den mit dem Steuerelement übereinstimmenden Datensatz suchen.
DoCmd.ShowAllRecords
Me.RecordsetClone.FindFirst "[DeineDatensatzID] = " & Me![NameDeinesKombis]
Me.Bookmark = RecordsetClone.Bookmark
´und jetzt Such-Kombifeld wieder leeren für die nächste Auswahl
Me.NameDeinesKombis = Null
End Sub
Oder Du behilfst Dir wie folgt: Aendere kurzfristig die Datenherkunft des Formulars in der Weise, dass das Formular auf der Haupttabelle der Abfrage basiert. Dann erstellst Du das Kombifeld nochmals neu mit dem Assistenten. Jetzt sollte die 3. Option zur Verfügung stehen. Anschliessend die Datenherkunft des Formulars wieder zurück auf die ursprüngliche Abfrage setzen.

