Access 2007 - Abfrage oder Bericht?

Hallo!

Da meine letzte Access-Anfrage so prima beantwortet werden konnte, versuche ich mein Glück erneut.

Da ich nicht genau weiß, wonach ich fragen soll, versuche ich mein Problemchen zu schildern. Ich habe eine Tabelle angelegt, in der Ergebnisse eingetragen werden (pro Spieltag ein Datensatz). Das Mannschaftsergebnis errechnet sich aus verschiedenen Spielerergebnissen.

Jetzt möchte ich aus der Tabelle heraus filtern, welcher Spieler in welcher Mannschaft und in welcher Liga wie oft gespielt hat. Wie kriege ich so etwas hin? Mir fehlt einfach der Einstieg.

Vielen Dank für Eure Bemühungen!

Viele Grüße aus der Pfalz,

Markus

Die Frage lässt sich kaum beantworten, da du anscheinend alles mögliche in 1 Tabelle gesteckt hast, was nicht zusammengehört. Ein sinnvolles Design wäre etwa je 1 Tabelle für Liga, Verein, Mannschaft, Spieler, Spiel. Ich würde dir raten, die DB so aufzuteilen („normalisieren“); vielleicht kann dir der Datenbank-Aufteilungs-Assistenten helfen (meist fabriziert er Schrott, aber er kann dir das Prinzip klarmachen). Sonst ist mit den Daten nicht wirklich zu arbeiten. ZB müsste in deiner Abfrage n Rattenschwanz wie
Spieler1=„Hinz“ oder Spieler2=„Hinz“ oder … Spieler13=„Hinz“ stehen.
Mindestens bräuchte ich die Angabe der Felder, um mehr zu sagen.
Prinzipiell bedeutet ein Bericht eine Vorschrift , 1 o. mehrere Abfragen hübsch zu Papier zu bringen. Also brauchst du nur ne Abfrage, allerdings kann dir n Berichts-Assi bei der Formulierung dieser Gruppierungsabfrage helfen.
Du würdest dir n Gefallen tun, erstmal ein Buch über Access/relationale Datenbanken zu lesen.
Toi toi toi Thomas

Hallo Markus,
ich denke mal das ist mit einer Abfrage zu machen. Kannst mir ja mal eine Tabelle als Beispiel schicken und dann schau ich mir das mal an.
Gruß
Joachim

Hallo Markus,
wenn Du die Daten in einer Tabelle hast, dann würde ich zuerst eine Abfrage erstellen, die nach Spieler gruppiert ist. Anschlißend solltest Du das Feld für Liga oder Mannschaft gruppieren. Das andere Feld setzt du auf Anzahl. Kannst dann noch andere Felder für Infos hinzufügen. Wenn dir das Ergebnis der Abfrage gefällt, kannst Du diese Abfrage dafür benutzen einen Übersichtlichen Bericht zu erstellen.
Ich hoffe, dass Die Antwort den größten Teil deiner Frage geklärt hat. Ansonsten meld dich einfach nochmal.
Gruß
Thomas

Leider bin ich seit Jahren nicht mehr aktiv in der access-Welt. Sorry, ich kann daher nicht mehr sinnvoll helfen.
Gruß

Hallo Thomas!

Vielen Dank für Deine Antwort. In der Tat habe ich eine Tabelle, in der alle möglichen Informationen enthalten sind.

Ich hatte zunächst einige Tabellen mit Spielernamen, Gegnerdaten, Ligen, Mannschaften, Vereinen usw. angelegt und in dieser „Spieltag-Tabelle“ zusammengeführt. Dort findet man alle Daten zum Spieltag und zu dem Ausgang des Spiels. Mit einem Formular sieht das alle hübsch aus, doch ich würde jetzt gerne einige Daten aus der Tabelle verwerten.

In der „Spieltag-Tabelle“ sind jeweils 8 Spieler mit ihren Spielergebnissen aufgeführt. Ich hätte gerne einen Bericht, aus dem zu erkennen ist, welcher Spieler wann wo gegen wen welches Ergebnis erzielt hat. Idealerweise könnte dann noch ein Zähler mitlaufen, der mir die Anzahl der Spiele in den verschiedenen Ligen aufzeigt.

Ich bekomme das hin, wenn ich eine Abfrage mache und dort einen Filter für den Spieler 1 setze. Wenn „Schmittlein“ aber nicht der erste sondern der zweite oder dritte Spieler war, klappt das mit dem Filter nicht mehr. Kann ich bei einer Abfrage ein „oder“ setzen? Oder muss ich mir 8 Abfragen erstellen, die dann in einem Bericht aufgerufen werden?

Vielen Dank für Deine Hilfe.

Viele Grüße aus der Pfalz,

Markus

P.S.: Das mit dem Buch lesen könnte auch eine gute Idee sein… :wink:

Hallo Joachim!

Vielen Dank für Deine Bemühungen. Ich versuche mal, Dir die Tabelle zu schicken.

Viele Grüße aus der Pfalz,

Markus

Hallo Markus,
Access ist kein Pillepalle-Programm wie Word, wo es eigentlich keine Theorie gibt, sondern

  1. ein relationales Datenbanksystem, das auf dem math. Prinzip der Relation fußt.
  2. ein komplettes Ein+Ausgabesystem incl. Programmierung.
    Das verhält sich zu Word wie ein Auto zum Tretroller.
    Wenn du dir nicht die Grundlagen anschaust, wirst du Monate mit Postings zubringen für etwas, was du in 2 Stunden hinschreiben könntest.
    Wenn du ein Auto baust, kannst du auch nicht einfach irgendwelche Teile zusammenschweißen.

Ich hatte zunächst einige Tabellen … angelegt und
in dieser „Spieltag-Tabelle“ zusammengeführt. Dort findet man
alle Daten zum Spieltag und zu dem Ausgang des Spiels.

Nützt aber nix, da Ansatz falsch. Diese Monstrumtabelle ist zu nichts nütze; falls man tatsächlich alle Daten zusammenführen will, nimmt man ne Abfrage. Die ist nach Datenänderung aktuell und frisst keinen Speicher (keine Redundanz).

Mit einem Formular sieht das alle hübsch aus

Das ist die Verführung von Access.

In der „Spieltag-Tabelle“ sind jeweils 8 Spieler mit ihren
Spielergebnissen aufgeführt. Ich hätte gerne einen Bericht,
aus dem zu erkennen ist, welcher Spieler wann wo gegen wen
welches Ergebnis erzielt hat. Idealerweise könnte dann noch
ein Zähler mitlaufen, der mir die Anzahl der Spiele in den
verschiedenen Ligen aufzeigt.

Der scheint ne berechnete Größe zu sein, die du nur extra speichern solltest, wenn das merklich Rechenzeit spart.

Ich bekomme das hin, wenn ich eine Abfrage mache und dort
einen Filter für den Spieler 1 setze. Wenn „Schmittlein“ aber
nicht der erste sondern der zweite oder dritte Spieler war,
klappt das mit dem Filter nicht mehr.

Filter haben da nix zu suchen, die dienen bei Abfragen zur manuellen Auswertung.

Kann ich bei einer Abfrage ein „oder“ setzen? Oder muss ich mir 8 Abfragen erstellen, die dann in einem Bericht aufgerufen werden?

Vergiss erstmal die Tapete (Formulare und Berichte), solang du noch keinen rechten Winkel im Fundament (Tabellen) hast. Wenn du dann lotrechte Mauern hochgezogen hast (Abfragen), kannst du dir Gedanken über die Optik machen.
Natürlich kann man in Abfragen mit ODER arbeiten, aber du musst die Daten normalisieren, Stichwort Entity-Relationship-Modell.
ZB müssen gleichartige Daten (wie Spieler) untereinander stehen, nicht nebeneinander. Wenn ich die Struktur richtig errate brauchst du ne Spiel-„Detailtabelle“, in der Spieltag-Nr, Spiel-Nr, Spieler-Nr 1 u. 2 und Ergebnis stehen.

P.S.: Das mit dem Buch lesen könnte auch eine gute Idee
sein… :wink:

Tatsächlich. Denn wenn du mal schaust: die sind ziemlich dick. Bis dir das jemand übers Forum beigebogen hat … das wäre n Online-Kurs. Schau einfach mal in die Stadtbücherei, die Access-Hilfe taugt da nicht.

Ich hoffe, das alles klingt nicht zu harsch. Nix für ungut.
Rheinland und Pfalz - Gott erhalts.
Thomas

Hallo Markus,
Access ist kein Pillepalle-Programm wie Word, wo es eigentlich keine Theorie gibt, sondern

  1. ein relationales Datenbanksystem, das auf dem math. Prinzip der Relation fußt.
  2. ein komplettes Ein+Ausgabesystem incl. Programmierung.
    Das verhält sich zu Word wie ein Auto zum Tretroller.
    Wenn du dir nicht die Grundlagen anschaust, wirst du Monate mit Postings zubringen für etwas, was ein Profi in 2 Stunden hinlegt.
    Wenn du ein Auto baust, kannst du auch nicht einfach irgendwelche Teile zusammenschweißen.

Ich hatte zunächst einige Tabellen … angelegt und
in dieser „Spieltag-Tabelle“ zusammengeführt. Dort findet man
alle Daten zum Spieltag und zu dem Ausgang des Spiels.

Nützt aber nix, da Ansatz falsch. Diese Monstrumtabelle ist zu nichts nütze; falls man tatsächlich alle Daten zusammenführen will, nimmt man ne Abfrage. Die ist nach Datenänderung aktuell und frisst keinen Speicher (keine Redundanz).

Mit einem Formular sieht das alle hübsch aus

Das ist die Verführung von Access.

In der „Spieltag-Tabelle“ sind jeweils 8 Spieler mit ihren
Spielergebnissen aufgeführt. Ich hätte gerne einen Bericht,
aus dem zu erkennen ist, welcher Spieler wann wo gegen wen
welches Ergebnis erzielt hat. Idealerweise könnte dann noch
ein Zähler mitlaufen, der mir die Anzahl der Spiele in den
verschiedenen Ligen aufzeigt.

Der scheint ne berechnete Größe zu sein, die du nur extra speichern solltest, wenn das merklich Rechenzeit spart.

Ich bekomme das hin, wenn ich eine Abfrage mache und dort
einen Filter für den Spieler 1 setze. Wenn „Schmittlein“ aber
nicht der erste sondern der zweite oder dritte Spieler war,
klappt das mit dem Filter nicht mehr.

Filter haben da nix zu suchen, die dienen bei Abfragen zur manuellen Auswertung.

Kann ich bei einer Abfrage ein „oder“ setzen? Oder muss ich mir 8 Abfragen erstellen, die dann in einem Bericht aufgerufen werden?

Vergiss erstmal die Tapete (Formulare und Berichte), solang du noch keinen rechten Winkel im Fundament (Tabellen) hast. Wenn du dann lotrechte Mauern hochgezogen hast (Abfragen), kannst du dir Gedanken über die Optik machen.
Natürlich kann man in Abfragen mit ODER arbeiten, aber du musst die Daten normalisieren, Stichwort Entity-Relationship-Modell.
ZB müssen gleichartige Daten (wie Spieler) untereinander stehen, nicht nebeneinander. Wenn ich die Struktur richtig errate brauchst du ne Spiel-„Detailtabelle“, in der Spieltag-Nr, Spiel-Nr, Spieler-Nr 1 u. 2 und Ergebnis stehen.

P.S.: Das mit dem Buch lesen könnte auch eine gute Idee
sein… :wink:

Tatsächlich. Denn wenn du mal schaust: die sind ziemlich dick. Bis dir das jemand übers Forum beigebogen hat … das wäre n Online-Kurs. Schau einfach mal in die Stadtbücherei, die Access-Hilfe taugt da nicht.

Ich hoffe, das alles klingt nicht zu harsch. Nix für ungut.
Rheinland und Pfalz - Gott erhalts.
Thomas