Access - Bericht mit Daten aus Formular und Unterformular?
Hallo zusammen, ich habe eine Frage zu Access. Folgende Situation:
In einem Formular mit zwei Unterformularen werden Kundeninformationen dargestellt. Auf dem Hauptformular Kundendaten (Name, Vorname, Adresse,...) und auf dem Unterformular die zugehörigen Projekte des Kunden (Projektnr, Beschreibung, Zeitraum,...) und auf einem zweiten Unterformular auf dem gleichen Hauptformular die Projektleistungen (Beratung, Ausschreibung,...).
Jetzt möchte ich einen Bericht erstellen, der sich wie folgt gliedert:
- Kundendaten (Hauptformular 1.0)
- Projektdaten (Unterformular 1.1)
- Projektleistungen (Unterformular 1.2)
Ich habe einen Button auf dem Hauptformular gesetzt mit folgendem Ereignisinhalt:
Private Sub AG_BEG_Click()
DoCmd.OpenReport "angebot", acViewPreview, , "KID = " & Me!KID und
End Sub
Access zeigt mit jetzt wunderbar nur die Projekte und Projektleistungen, bei denen die Kundennummer (KID) übereinstimmt. Ich möchte aber das nur das auf dem Unterformular ausgewählte Projekt (PID) inkl. der zugehörigen Projektleistungen angezeigt wird. Ziel ist im Endeffekt daraus eine Projektrechnung zu machen.
Ich hab diverse Ausdrücke probiert, aber hat nie funktioniert. Eigentlich sollte das doch eine einfache wenn - dann - Verknüpfung sein, oder?
Es ist keine Abfrage hinterlegt, sondern wie gesagt nur die Abhängigkeiten der Tabelle. Ist hier eine Abfrage sinnvoller und wenn ja mit welchen Parametern?
Freu mich über Antworten und dank euch im Voraus.
LG
1 Antwort
In diesem Fall könntest du über die Projekt-Tabelle gehen, da die Beziehung Projekt-Kunde eine n:1-Beziehung ist, jedes Projekt hat also nur einen einzigen Kunden.
Das wäre m. E. auch sachlich angemessener als auf Daten zuzugreifen, die vom Benutzer auf einer anderen Maske eingegeben werden.
Bei einer m:n-Beziehung könntest du über die Zwischentabelle gehen.
Wenn du kein SQL verwenden willst, geht es vermutlich mit dem "Abfrage-Assistenten", mit dem du dann eine "Ansicht" ("view") erstellen kannst. Die lässt sich genau so wie eine Tabelle auslesen.