Hallo liebe Access-Freunde,
ich muss derzeit für die Hochschule eine Hausarbeit anfertigen, wobei es um eine Weinhandlung geht. Ich hab schon versucht die Suche zu benutzen, aber irgendwie habe ich zu meinem konkreten Problem nichts gefunden. Wahrscheinlich auch, weil ich nicht genau weiß, wonach ich suchen soll.
Darum bin ich voll auf eure Hilfe angewiesen. Würde mich echt freuen, wenn sich jemand meinem Problem annimmt.
Kurz ein paar Infos vorab:
Ich soll die Datenbank im Access 2003 Format speichern, erstelle sie aber mit Access 2013. Ist ja kein Problem, kann sie ja als *.mdb speichern und rufe die Datenbank zur Präsentation auch mit Access 2013 auf.
Nun zu meinem Problem:
Ich habe einmal eine Tabelle Wein, RebsorteWein und Rebsorte. Über die Tabelle RebsorteWein habe ich eine n:n Beziehung erstellt. Ein Wein kann demnach aus mehreren Rebsorten bestehen bzw. eine Rebsorte kann mehreren Weinen zugeordnet sein.
Jetzt ist es so, dass einige Weine keinen direkten Namen besitzen, sondern aus Jahrgang, Rebsorte (z.B. Lemberger), Geschmack (z.B. trocken) und so weiter bestehen.
Diesen Namen möchte ich mit einer Abfrage erstellen.
Das eigentliche Problem ist jetzt, dass ich gerne bei mehreren Rebsorten, die einem Wein zugeordnet sind, die Sorten nacheinander weg in einem Namen haben möchte.
Tabelle Wein Tabelle RebsorteWein Tabelle Rebsorte
WeinID RebsorteWeinID WeinID RebsorteID RebsorteID Sorte
1 1 1 1 1 Riesling
2 2 1 2 2 Lemberger
3 3
WeinID (Tabelle Wein), RebsorteWeinID (Tabelle RebsorteWeinID) und RebsorteID (Tabelle Rebsorte) sind Primärschlüssel (AutoWert)
Unnötige Feldnamen hab ich weggelassen.
Nach den Tabelle hat also WeinID 1 die Rebsorte 1 und 2 zugewiesen bekommen.
Wie realisieren ich jetzt in der Abfrage, dass ich "Sorte1 Sorte2 ... Sorte n und so weiter" in einem Namen ausgegeben bekomme?
Vielleicht nochmal in Kurzform:
3 Tabellen (siehe oben) über n:n Beziehung miteinander verbunden. Jetzt will ich zu einer WeinID mit einer Abfrage alle Sorten, die diesem Wein zugeordnet sind, hintereinander weg als Abfrageergebnis ausgegeben bekommen.
Beispiel: "Rebsorte1 Rebsorte2 .. Rebsorte n"
Ich hoffe, ich konnte das Problem so gut es geht erläutern :)
Ich habe auch ein wenig SQL und VBA Erfahrung, daran soll es nicht scheitern.
VIELEN VIELEN DANK!
Grüße
Simon
P.S. hatte schon irgendwie versucht das Problem anhand dieses Beitrags zu lösen.... hat nicht geklappt :(
http://www.access-o-mania.de/forum/index.php?topic=12917.0
Hallo,
schau Dir diesen Link mal an:
http://www.dbwiki.net/wiki/VBA_Tipp:_Liste_per_SQL_aufbauen
Danke für den Link! Aber wie ich das auf mein Problem übertrage ist mir nicht ganz so klar... :(
Könntest du mir da ein wenig Hilfestellung geben...
Ich weiß nicht einmal, wo ich da im VBA Code ansetzen soll, bzw. wie ich den VBA Code in meine Abfrage implementiere... :-/
VIELEN DANK!!!
Hallo,
naja, die Funktion kopierst Du in ein Standard-Modul (Datenbankfenster/Module, bzw. Navibereich/Module).
In der Abfrage (mit Basis zu RebsorteWein) schreibst Du den Aufruf der Funktion in eine separate Abfragespalte:
Feld: WeinSorten: SQLListe("SELECT Rebsortenname FROM Rebsorte WHERE RebsorteID=" & [RebsorteID] )
Jetzt habe ich eine Abfrage mit der WeinID und den Rebsorten... nun muss ich die noch zusammenführen...
Abfrage1
WeinID WeinSorten
1 Riesling
1 Lemberger
jetzt habe ich die Tabelle, die für die n:n Beziehung nötig war, umgangen.. oder nicht??
Wie führe ich das denn jetzt zusammen, wenn WeinID = WeinID dann "Riesling Lemberger"...
kriege das mit diesem VBA Code nicht umgesetzt: http://www.access-o-mania.de/forum/index.php?topic=12917.0
oder stell ich mich zu dumm an? :D
OK!!
Hat sich erledigt... hab es hinbekommen...
Many THX an DF6GL !!!!