Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Werte finden

Begonnen von fred-neumann, Januar 27, 2016, 13:25:47

⏪ vorheriges - nächstes ⏩

fred-neumann

Ich habe mal wieder ein für mich unlösbares Problem, folgendes;
Es gibt die Tabelle "Spiele" mit den relevanten Feldern; HeimTeam, GastTeam
Es gibt die Tabelle "Mannschaften" mit dem relevanten Feld; Team

PS: Team findet sich in den Feldern "HeimTeam" und "GastTeam"

meine Wunschabfrage:
Das jeweils 6. Spiel aus der Tabelle "Spiele", gruppiert nach Team (aus Tabelle "Mannschaften")

Funktioniert (wenn überhaupt) wohl nur über sql
Kann mir bitte jemand den Code schreiben?

fred-neumann

Ich versuche es nochmal mit einer anderen Fragestellung dessen Antwort mir ebenfalls weiter helfen würde:
Tabelle "Spiele"
HeimTeam  GastTeam
Team 5........Team 1
Team 6........Team 3
Team 1........Team 5
Team 6........Team 1

Neues Abfrageergebnis: Zeige 2. Spiel von Team 1

Egebnis:
HeimTeam  GastTeam
Team 1........Team 5

__________________________

Das ganze bekomme ich über mehrere Abfragen, (Spitzenwerte und letzte/erste Wert usw) hin,- bekomme ich das Ergebnis (wie oben) auch in nur einer Abfrage hin??

MaggieMay

Hallo,

um einen n-ten Datensatz finden zu können, brauchst du ein Sortierkriterium, bsw. ein Datum.
Dann ließe sich eine solche Abfrage erstellen:
SELECT Top 1 a.* From
(Select Top 2 b.* From tbl_TeamSpiele As b
Where b.Heim = "Team1" Or b.Gast = "Team1"
Order By SpielDatum) As a
Order By SpielDatum desc;
Freundliche Grüße
MaggieMay

fred-neumann

Toll MaggieMay, funzt!
Diese Abfrage kann ich in vielen Varianten sehr gut gebrauchen!
Vieleicht zum Schluss noch die Frage, ob es möglich ist, das in der Abfrage nicht nur das 2. Spiel eines Team angezeigt wird, sondern das 2. Spiel aller vorhandener Teams in tabl_TeamSpiele?

fred-neumann

.. ich meine, wenn ich zB die Teams aus dem Endlosformular "Mannschaften" suche, wird "nur" das Spiel mit dem ersten Team (aus Endlosformular) angezeigt, aber wie bekomme ich eine Gruppierung aller Teams - und dessen 2. Spiel - hin??
Zitat
SELECT Top 1 a.* From
(Select Top 2 b.* From tbl_TeamSpiele As b
Where b.Heim = [Formulare]![Mannschaften]![Team] Or b.Gast = [Formulare]![Mannschaften]![Team]
Order By SpielDatum) As a
Order By SpielDatum desc;

MaggieMay

Hallo,

das wäre wohl eine Frage für SQL-Experten, zu denen ich mich leider nicht zählen kann.

Interessant wäre aber vermutlich in jedem Fall, welche Datenfelder die Tabelle sonst noch enthält. Gibt es bspw. ein Veranstaltungsdatum oder eine lfd. Nummer für den Spieltag?
Freundliche Grüße
MaggieMay

fred-neumann

Die Grunddaten sind >Datum-HeimTeam-GastTeam-HeimTreffer-GastTreffer-HzHeimTreffer-HzGastTreffer
einen eindeutigen Schlüssel habe ich generiert.

MaggieMay

Hi,

es scheint so, als hätte ich doch einen Weg gefunden, schau mal, ob du damit etwas anfangen kannst:
Select q.*, DCount("*","tbl_TeamSpiele","(Heim='" & q.Team & "' OR Gast='" & q.Team & "') and Datum<" & CDbl(q.Datum))+1 AS lfdNr
From
(SELECT Datum, Heim As Team From tbl_TeamSpiele
UNION
SELECT Datum, Gast  From tbl_TeamSpiele
) As q

Damit werden die Spiele jedes einzelnen Teams durchnummeriert woraus du wiederum beliebige Spieltage selektieren kannst.
Freundliche Grüße
MaggieMay

fred-neumann

Hai MaggieMay,
das sieht gut aus ... auch wenn ich noch dies nicht so richtig umzusetzen weis...
Es wird allerdings bei einem bestimmten Eintrag ein Fehler angezeigt. Es geht um "M'gladbach". Ich habe im Anhang mal die "Stammdatei"

MaggieMay

Wenn du nicht auf Hochkommas in den Bezeichnungen verzichten kannst, musst du den Code folgendermaßen ändern:
DCount("*","tbl_TeamSpiele","(Heim='" & Replace(q.Team, "'", "''") & "' OR Gast='" & Replace(q.Team, "'", "''") & "') and Datum<" & CDbl(q.Datum))+1 AS lfdNr

oder so:
DCount("*","tbl_TeamSpiele","(Heim=""" & q.Team & """ OR Gast=""" & q.Team & """) and Datum<" & CDbl(q.Datum))+1 AS lfdNr
Freundliche Grüße
MaggieMay

fred-neumann

jepp,
der Fehler ist behoben.
Werde mit diesem Abfrageergebnis versuchen, an mein Ziel zu gelangen ...
MaggieMay, Danke für die kompetente Unterstützung und deiner Geduld ....
bis denne

fred-neumann

Geht alles easy!
Weil oben alles so ein bischen wirr erklärt ist, habe ich mal die drei Dateien angefügt,- falls es jemanden interessiert.