[Access] Arbeiten mit Zwischentabellen

meilon

Erfahrenes Mitglied
Hiho,
ich muss für die Schule ein Bibliotheksprogramm mit Access schreiben. Den Datenbankaufbau hab ich ja schon - schön normalisiert (in Graphik Aufbau angehängt)

Jetzt sitzt ich schon Stundenlang an der ersten Abfrage: Ich möchte alle Bücher mit Autoren ausgegeben bekommen. Aber da es für ein Buch mehrere Autoren geben kann, soll nur der erste Autor angezeigt werden. Diese Abfrage habe ich:
Code:
SELECT 
tblBuecher.BuchNr AS BuchNr, 
tblAutoren.AutorenVorname AS Vor,
tblAutoren.AutorenNachname AS Nach, 
tblBuecher.BuchTitel AS Titel

FROM 

tblBuecher 

LEFT JOIN zwBuecherAutoren ON (tblBuecher.BuchNr = zwBuecherAutoren.BABuchNr) 
LEFT JOIN tblAutoren ON (tblAutoren.AutorenNr = zwBuecherAutoren.BAAutorenNr);
Aber Access meckert "Syntaxfehler (fehlender Operator) in Abfrageausdruck '(tblBuecher.BuchNr = zwBuecherAutoren.BABuchNr)
LEFT JOIN tblAutoren ON (tblAutoren.AutorenNr = zwBuecherAutoren.BAAutorenNr)'.

Kann mir jemand ein SQL-Statement zusammenbasteln, der das gewünschte Ergebnis bringt? Schön wäre auch, wenn noch die Gruppen (enthält "Kinderbuch", "Wissenschaft" etc) und die Einbandart miteinbezogen wären.

mfg und schon mal Danke!
 

Anhänge

  • Beziehungen2.jpg
    Beziehungen2.jpg
    94,2 KB · Aufrufe: 81
Zuletzt bearbeitet:
Hat denn keiner eine Idee? Wenns hilft, häng ich noch meine Testdatenbank mit dran.

So sagt doch was! Ich bin total verzweifelt :(

mfg
 
Hallo währe nett wenn du die Datenbank auch mit anhängen würdest.

So könnte ich es mal probieren ohne alles abzutippen.
 
Okay, hier ist sie. Ist nicht gerade gut gefüllt, aber das Ergebnis zählt!

Mir ist auch eingefallen, dass ich soetwas ähnliches auch bei der Ausgeliehen-Liste brauche - da hab ich bisher noch keine Daten drin - ebend dass in einer Ansicht nur die noch "schuldigen" Kunden drin sind aber auch angezeigt wird, wieviele Bücher er schon ausgeliehen hat. Ist das auch in einer Anweisung möglich?

mfg

:offtopic: -› Das Zip-Format verkleinert die Größe einer MS Accessdatenbank ja gewaltig! Nur noch 10% der Originalgröße - boa :D
 

Anhänge

Hallo ...
kappiere nicht ganz (geht access denke auch so) wieso mehrere Autoren für ein Buch gibt. Ist das Buch von den Seiten den dann gleich

Kleines Beispiel ich geh zu dir und will ein Buch leihen. "Anleitung zum Unglücklich sein"

Dann solltest du mir doch sagen "müssen" das es 2 Autoren gibt (1= Helena,Test) (2= Paul, Watzlawek)

Und dann muss ich doch entscheiden von welchem ich das haben möchte ?
(Bei Abfragen gibt es nämlich schon eine möglichkeit Duplikat werte auszublenden)
Diese aber bei solch einer Abfrage ich irgendwie net hinbekomme mit den Buchtiteln was ich auch wie access nicht verstehe ?

Eine Abfrage wegen ausgeliehen anzuzeigen ist einfach.
Mach ne abfrage und öffne sie im Entwurf klicke bei "BuchVerliehen" auf Kriterien und gebe den Wert =Ja ein.
Nun sollte die Abfrage nur noch daten anzeigen die markiert sind. Eine Kreutabelle sollte nun sagen können wieviele Bücher ein Kunde ausgeliehen hat.

Wegen dem ersten musste nochmals erklären...
Den Rest wegen den 2 Abfragen kannste im Anhang sehen.
Bye @ll
PS:. FALLS WAS NET STIMMEN SOLLTE WAS ICH SCHREIBE DANN MELDEN AUCH ICH WILL UND KANN LERNEN
 

Anhänge

Ach ja wegen der Datenbank größe :-)
geh mal in Access auf Extras ->Daten-Dienstprogramme -> Daten komprimieren und reparieren.

Dann schrumpft die Datenbank ohne ende :-)

Bye und good luck
 
Hiho,
der Sinn mit den mehreren Autoren: Es gibt ein Buch, welches von mehreren Autoren gleichzeitig geschrieben wurde. Gerade bei Schulbüchern ist ein Buch von mehreren Personen geschrieben worden.

Und für die Bücherliste soll ebend der Erste Autor drin Vorkommen. Wenn man dann auf das Buch Doppelklickt, werden dann alle Autoren aufgelistet. Aber deine Abfragen schau ich mir mal an und sende einen Edit hinerher

mfg

Versprochenes EDIT: Irgendwie muss ich die Abfragefunktion First() bzw. Erster Wert übersehen haben! Der macht dass, was ich haben wollte möglich! Danke fürs Augenöffnen :D
 
Zuletzt bearbeitet:
Zurück