Hallo
Ich bin gerade dabei meine Lp-Verwaltung von Excel auf Access umzustellen.
Die ursprüngliche Excel-Tabelle habe ich mit Access in mehrere, kleinere Aufgeteilt und Beziehungen erstellt. Soweit passt (glaube ich)alles.
Ich habe jetzt unter anderem eine Tabelle für Interpret, Genre, Status. Bei Status gibt es drei möglichkeiten: Eigene, Verkauft und zum Verkaufen.
Jetzt möchte ich eine Abfrage erstellen aus der hervorgeht a) Anzahl Verkaufter Schallplatten eines Genres b) Anzahl eigener und Anzahl Verkaufter. Dasselbe dann auch bezogen auf Interpret. Bei meinen Versuche kommt alles mögliche raus nur nicht das was ich will.
Schon jetzt vielen Dank für die Hilfe
Gerhard
Hallo,
habe ich mit Access in mehrere, kleinere Aufgeteilt und Beziehungen erstellt.
zeige bitte einen Screenshot des Beziehungsfensters (alle Felder der Tabellen erkennbar)...
Hallo Franz,
erstmal danke für ihre schnelle Antwort.
Im Anhang der gewünschte Screenshot, hoffentlich bekommen sie keinen Koller.
Gruß Gerhard
Hallo,
da hab ich schon Schlimmeres gesehen.. ;)
Wenn die "Verleih"-Geschichte noch in eine weitere n_Tabelle ausgelagert wird und ein paar weitere Nachschlagetabellen (für z. B. Herkunftsland, Zustände) eingebaut werden, haben wir schon fast eine gut normalisierte DB.
Die "Tabelle1" sollte auch noch einen besseren und aussagekräftigen Namen erhalten ("tblLPs", wenn nur LPs und keine anderen Scheiben, wie CDs oder DVDs verwaltet werden sollen.)
Was genau hast Du denn versucht?
Grundsätzlich: Öffne den Abfrageentwurf, füge die benötigten Tabellen hinzu und ziehe alle notwendigen Felder in die Abfagespalten. Für (Aggregats-) Berechnungen muss die Abfrage zunächst gruppiert werden, indem auf das Summenzeichen geklickt wird. Dann kann für die einzelnen Spalten die Berechnungsfunktion ausgewählt werden.
a) z. B:
Select Genre, Count(*) as VerkauftePlatten from Tabelle1
Inner Join tblGenre on Tabelle1.TblGenre_ID = tblGenre.IDGenre
Group by TblGenre_ID
Das Gleiche für b), entsprechend angepasst.
Hallo,
es wäre auch noch zu klären, wie mehrere Interpreten und Genres zu einer Lp zu erfassen sind, beides kann ja vorkommen.
Hallo Klaus,
Danke für deine Ausführungen.
Herkunftsland und Zustände wollte ich über ein Kombinationsfeld mit eigenen Werten realisieren. Sinnvoll?
Die Verleihgeschichte werde ich vermutlich bleiben lassen. Falls nicht, mache ich eine neue Tabelle.
Über die Problematik wenn mehrere Interpreten auf einer LP sind, habe ich mir noch keine Gedanken gemacht.....
Bei Interpret gebe ich (bis jetzt) einfach nur "Sampler" ein und bei Titel z.B. Hammer Hits.
Für die Zählerei hebe ich eine Abfrage mit Genre und Status erstellt, diese Gruppiert und als Ergebnis Anzahl genommen. Kann nicht funktionieren (habe ich heute festgestellt) Nehmen wir mal einen Interpret x, ich habe z.B. 20 LP´s 10 eigene, 6 verkauft und 4 zum verkaufen. Es kann auch vorkommen, dass ein Interpret 2 verschiedene Genres hat ( aber nur bei verschiedenen Titeln).
Gerhard
Hallo,
Zitata) Anzahl Verkaufter Schallplatten eines Genres
Nehmen wir mal einen Interpret x, ich habe z.B. 20 LP´s 10 eigene, 6 verkauft und 4 zum verkaufen
da steht bei a) nichts von Interpret...
Stimmt. Darin liegt/lag auch mein Denkfehler, glaube ich.
In der Tabelle Genre sind ja nur die Genres hinterlegt z.B. Rock,Pop usw. Wenn ich jetzt fünf Lp´s eines Genres von verschiedenen Interpreten verkaufe, wie komme ich dann auf die Anzahl?
Hallo,
Zitatfünf Lp´s eines Genres von verschiedenen Interpreten
dann spielt der Interpret doch keine Rolle, nur das Genre... und die vorher gezeigte Abfrage sollte das zeigen, wobei noch der Status "verkauft" berücksichtigt werden muss. (Was auch vorher nicht erwähnt wurde).
Du musst Dir überlegen,. was
GENAU Du nun jeweils willst.
ZitatSelect Genre, Count(*) as VerkauftePlatten from Tabelle1
Inner Join tblGenre on Tabelle1.TblGenre_ID = tblGenre.IDGenre
Where Status_ID =2
Group by TblGenre_ID
wenn "Verkauft" dem IDStatus-Wert 2 entspricht.
Wie gesagt, klicke die Geschichte im Abfrageentwurf zusammen und überlege Dir, ob die DB ausreichend normalisiert ist und keine Tabellen fehlen, um Deine Anforderungen abzudecken.