PDA

Vollständige Version anzeigen : Berichte nach Abfrage


pkirschke
26.04.2011, 18:26
Hallo,
ich versuche nun meine Filmdatenbank, die unter Access2003 erstellt wurde, mit Access2010 zu erweitern. Aufgabe: meine Filme sind in 3 Archiven (arch1, arch2 und arch3) gelagert und werden häufig verändert. Ich möchte jetzt mit einem Menüaufruf den aktuellen Inhalt jedes Archivs ausdrucken können, d.h. es soll zunächst gefragt werden, welches Archiv ausgedruckt wird und dann soll dieses dann in einem Bericht geschehen. Wie gehe ich da vor? Danke für Tips oder Hinweise, wo ich dieses im Handbuch Access 2010 (Hölscher) finde.

ebs17
26.04.2011, 18:32
meine Filme sind in 3 Archiven (arch1, arch2 und arch3)
Besser und einfacher wäre eine Archivtabelle mit einer zusätzlichen Merkmalsspalte. Danach könnte man dann bei Bedarf filtern.
Datenbanktabellen können mit sehr vielen Datensätzen gut umgehen.

pkirschke
27.04.2011, 12:51
Hallo,
ich habe mich falsch ausgedrückt, die CDs sind in 3 verschiedenen Boxen, die Filme werden in einer Datenbank verwaltet. Nachdem ich also einen Film angeschaut habe und ihn nicht so archivierenswert halte, wird er aus der Datenbank entfernt und der Boxenplatz wird leer. Um also einen Überblick über die 3 Boxen zu haben, möchte ich nicht alle Datensätze, sondern nur die Filme einer Box ausdrucken. Wie erstelle ich also einen Bericht mit vorheriger Abfrage? Was sind die von dir erwähnten Merkmale? Danke für einen Tip. Paul

Atrus2711
27.04.2011, 13:02
Hi,

was spricht gegen den folgenden Aufbau:

BoxNr Platznr Filmtitel
1 1 Matrix
1 2 Bambi
1 3 Face Off
...
2 4 Clockwork Orange
...

oder noch ein Stufe feiner
Tabelle Archiv:
BoxNr Platznr F_Film_ID
1 1 1
1 2 4

Tabelle Filme:
Film_ID Filmtitel FSK Jahr Länge
1 Matrix 16 1999 109
...
4 Bambi 0 1979 79

ebs17
27.04.2011, 13:10
Eine Datenbank beginnt mit dem Datenmodell. Hier (Filme-Aufbewahrungsboxen) fällt mir eine m:n-Beziehung ein, beides ist tauschbar.
Die zugehörige Zwischentabelle kann man dann prächtig filtern:
SELECT fFilm_ID
FROM Zwischentabelle
WHERE fBox_ID = [gewählte Box]