Um gewisse Ergebnisse zu erzielen, rufe ich oft noch Excel aus Access heraus auf. Stück für Stück möchte ich aber so manche Berechnung auch in Access umsetzen.
Folgendes:
Ich habe folgendes Abfrageergebnis aus ,,Abfrage1"
Wert
0
1
1
0
0
1
1
1
0
Ich möchte nun mit einer weiteren Abfrage, ,,Abfrage1" ergänzen, mit folgenden Ergebnis:
Wert Zähler
0 0
1 1
1 2
0 0
0 0
1 1
1 2
1 3
0 0
Das Ergebnis von ,,Zähler" ist;
Wenn eine 0 in Wert, dann 0 .... ansonsten zähle die Einser. Unterbricht eine 0 die Reihe in ,,Wert", dann beginne bei der nächsten 1 von vorne.
Ist wohl etwas doof erklärt ...
Im Endeffekt möchte ich aus dieser ,,Zähler-Spalte" später die längste Reihenfolge von 1 ermitteln (das wäre in meinem Beispiel die 3) und den letzten Wert von Zähler (wäre in meinem Beispiel die 0)
Vielleicht noch relevant, es gibt in ,,Abfrage1" kein ID-Feld, allerdings ein Datum.
.. meine Anfrage ist wohl nur über vba lösbar.
Hallo,
das Datums-Feld dürfte sich als wichtig darstellen.
Ansonsten ist das Abfrage-Ergebnis in seiner Reihenfolge unbestimmt und eine Lösung nicht möglich.
Stelle mal die komplette Datensituation dar und beschreibe das erwartete Ergebnis.....
Moin DF6GL,
also ich habe eine Abfrage, die Werte beinhaltet (entweder 0 oder 1)
Ich will eigentlich die längste Serie (von 1 in Feld "Wert") in einer weiteren Abfrage feststellen.
Als weiteres möchte ich wissen, ob der letzte Datensatz in "Abfrage1" auch zu einer "Serie" gehört.
.. ich habe vor 2 Jahren hier schon mal ähnliche Anfrage gestellt,- mir wurde mit folgenden sql - code geholfen;
SELECT A.ID AS SerBeg, B.ID AS SerEnd, B.ID - A.ID + 1 AS SerGroesse
FROM HeimTeam AS A, HeimTeam AS B
WHERE ( A.ID < B.ID )
AND Not Exists ( SELECT *
FROM HeimTeam
WHERE ( Punkte <> 3
AND ID Between A.ID And B.ID )
OR ( Punkte = 3
AND ID = A.ID - 1 )
OR ( Punkte = 3
AND ID = B.ID + 1 ) )
ORDER BY B.ID - A.ID + 1 DESC;
Hier wird ebenfalls eine Serie festgestellt,- ob "Punkte"=3 vorkommt,- also dreimal in Folge vorkommt.
Ähnliches möchte ich nun wieder,- allerdings die längste Serie.
Für eine SQL-Lösung wird auf jedenfall eine eindeutige Sortierung benötigt. Ich bin jetzt zu faul, um etwas in Access-SQL zu basteln, wo es doch so schöne und leichte Lösungen mit Window-Funktionen gibt. Der SQLFiddle (http://sqlfiddle.com/#!15/df05a/6) zeigt in 3 Schritten, den Weg zur Lösung.