Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Parameterabfrage (Datum) aus zwei Tabellen ?

Begonnen von piter, November 14, 2010, 09:42:10

⏪ vorheriges - nächstes ⏩

piter

Hallo,

ich erstelle für meine Frau eine Vereinsverwaltung. Dies klappt bisher auch ganz gut  :) . Doch nun stoße ich als Access-Neuling an meine Grenzen.
Ich habe zwei Tabellen: Tab_Mitgliederdaten und Tab_ehemalige. Die Tab_ehemalige wird aus einer Lösch-Erstelllungsabfrage erstellt.
Nun möchte ich eine Parameterabfrage machen in der aus beiden Tabellen Daten angezeigt werden.

Die Parameterabfrage für eine Tabelle sieht folgend aus:

SELECT Tab_Mitgliederdaten.Nachname, Tab_Mitgliederdaten.Vorname, Tab_Mitgliederdaten.Abteilung, Tab_Mitgliederdaten.Eintrittsdatum, Tab_Mitgliederdaten.Austrittsdatum, Tab_Mitgliederdaten.Geburtstag, Year([Eintrittsdatum]) AS Eintrittsjahr
FROM Tab_Mitgliederdaten
WHERE (((Year([Eintrittsdatum])) Between [von Jahr eingeben] And [bis Jahr eingeben]));

Nun möchte ich das die Daten aus der Tab_ehemalige mit angezeigt werden. Ich hebe es mit Inner Join und mt UNION versucht aber leider ohne Erfolg  ??? Immer kommt die Fehlermeldung:

Eintrittsdatum kann sich auf mehrere Tabellen beziehen ...

Hoffe einer von euch kann mir helfen  ;)

Liebe Grüße
piter

MzKlMu

#1
Hallo,
ZitatDoch nun stoße ich als Access-Neuling an meine Grenzen.
Ich habe zwei Tabellen: Tab_Mitgliederdaten und Tab_ehemalige.
Das ist ein gaz entscheidender Fehler, die Mitglieder sind und bleiben in einer Tabelle.
Im einfachsten Fall wird in dieser einen Tabelle ein Austrittsdatum erfasst, das Dir dann die Unterscheidung in Mitglieder und ehemalige Mitglieder erlaubt.
Damit hast sich Dein Problem schon mal erledigt.
Mit den beiden Tabellen wie gehabt musst Du erst mit einer Unionabfrage beide Tabellen zusammenführen. Dann kannst Du auch gleich eine lassen.

Aber selbst diese einfache Lösung ist nicht optimal.

Ein Mitglied kann ja im Laufe seines Lebens verschieden Mitgliedszustände  (Status)  haben. Z.B. Aktiv, Passiv, Ehrenmitglied, Ausgetreten, verstorben etc).
Und dazu wäre es auch sinnvoll jeweils das Datum mit zu erfassen.

Daher wäre folgende Lösung anzustreben:

Tabelle anlegen für die verschiedenen Stati (siehe oben).

Weitere Tabelle in der die MitgliedsID mit der StausID erfasst wird (n:m Beziehung). Auf diese Art und Weise bist Du in der Lage, zu jedem Mitglied jede Statusänderung mit Datum zu erfassen.
So wie es jetzt ist, mit 2 Tabellen kann es jedenfalls nicht bleiben.
Gruß Klaus

piter

Hallo,
erstmal Danke für deine Antwort.  :D

Bin nun mal wirklich Neuling in Access und mache wahrscheinlich die üblichen Anfängerfehler  :(

Aber ich bin so begeistert von den Möglichkeiten, das ich begonnen habe VBA zu lernen. Um die
Fehler im Rahmen zu halten.

Habe das Problem doch über eine Unionabfrage gelöst weiß zwar das es nicht ideal ist funktioniert
aber erst mal  ;)

Nochmals Danke
piter

MzKlMu

Hallo,
für die Funktion einer Datenbank ist VBA unerheblich.
Viel wichtiger ist das Datenmodell. Also der Zusammenhang der verschiedenen Tabelle über die Beziehungen. Das hat mit VBA nichts zu tun.
Gruß Klaus