Access - Formularabfrage mit Afterupdate

Excelmania

Lieutenant
Registriert
Apr. 2010
Beiträge
802
Hallo ich möchte.

Aus zwei Tabellen eine Abfrage erstellen.

Tabelle: Personal
PersonalID
Nachname
Vorname
Titel
Einsatzort
Nummer


Tabelle: Einsatzort

EinsatzID
Einsatzort

Die Abfrage soll nachdem Einsatzort über ein Kombinationsfeld durchgeführt werden.

Der code für die Abfrage sieht bisher so aus:

Code:
SELECT Einsatzort.Einsatzort AS Einsatzort, IIf([Personal.Titel] Is Null,[Nachname],[Personal.Titel] & ' ' & [Nachname]) AS Name, Personal.Vorname, Personal.Wäschenummer
FROM Einsatzort INNER JOIN Personal ON Einsatzort.EinsatzortID = Personal.Einsatzort
WHERE (((Einsatzort.Einsatzort)=[Formulare]![Abfrage - Einsatzort]![Kombinationsfeld9].[AfterUpdateEmMacro]));

Im Anhang die Datenbank. Dann kann sich vielleicht schneller ein überblick über das problem verschafft werden.
 
Zuletzt bearbeitet:
Hey, das wird so nicht funktionieren. Ich begreife auch nicht was AfterUpdateEmMacro überhaupt sein soll. In der Abfrage kann auf den Wert des Formularfelds mit dem Code
[Formulare]![Abfrage - Einsatzort]![Kombinationsfeld9]
zugegriffen werden, Problem ist nur dass in der ersten Spalte die ID ist du den Einsatzort und nicht die ID abfragst :D

Weiters würde ich dir raten, das Feld Einsatzort wie in der zweiten Tabelle mit ID zu benennen, wenn es sich um eine ID handelt. Und Tabellenfelder sollten nie so heißen wie die Tabelle selber ;) verwirrt nur





So kannst du es lösen:
1) Ändere die Abfrage so:
SELECT Einsatzort.Einsatzort AS Einsatzort, IIf([Personal.Titel] Is Null,[Nachname],[Personal.Titel] & ' ' & [Nachname]) AS Name, Personal.Vorname, Personal.Wäschenummer
FROM Einsatzort INNER JOIN Personal ON Einsatzort.EinsatzortID = Personal.Einsatzort
WHERE Einsatzort.EinsatzortID=[Formulare]![Abfrage - Einsatzort]![Kombinationsfeld9]

2) Geh in die Entwurfsansicht vom Formular, auf die Combobox, dann auf das Ereignis NachAktualisierung und mach nen neuen Code rein (Klick auf die 3 Punkte rechts), dann schreibe folgendes rein:

Ist zwar keine schöne Lösung aber funktioniert :D
 
Zurück
Oben