Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: joerg007 am November 13, 2016, 19:44:32

Titel: sql zusammen fügen[ gestern-heute ]
Beitrag von: joerg007 am November 13, 2016, 19:44:32
Guten  Abend  8)

bin mir gerade den kopf am zerbrechen wie ich das hin bekommen soll !!

und zwar speicher ich den bestand und Datum in einer tabelle
täglich 1x
jetzt hätte ich aber gerne gewust welche änderung es an nächsten Tag gab

also: bestand.gestern - bestand.heute

da das aber ja 2 sql abfragen sind

SELECT tbl_Fuelstaende.Datum, tbl_Fuelstaende.Stand
FROM tbl_Fuelstaende;


SELECT tbl_Fuelstaende.Datum()-1, tbl_Fuelstaende.Stand
FROM tbl_Fuelstaende;


weis  ich wie man die am besten kombieren tut ?

besten dank schon mal
und gute nacht ! ::)
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: MzKlMu am November 13, 2016, 19:50:29
Hallo,
wenn Das Datenmodell korrekt wäre, bräuchtest Du überhaupt keine Bestände abzuspeichern und könntest zu jedem beliebigen Datum den Bestand ermitteln.

Man führt die Mengen für den Bestand in einer extra Tabelle Zugänge positiv und Abgänge negativ. Der Bestand ist dann einfach die Summe. Mit dem Datum kannst Du zu jedem beliebigen Zeitpunkt den Bestand ermitteln.

Kannst Du die DB noch ändern ?
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: joerg007 am November 14, 2016, 16:11:33
Ich bin noch gerade am Anfang der Datenbank

ich habe die Daten von
Eingang  täglich
Füllstand  täglich
Der ausgang ist nur durch Differenz des Tank Standes möglich

Wie sollte ich da am besten die tabbelen anlegen ?
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: MzKlMu am November 14, 2016, 17:36:59
Hallo,
Zitatich habe die Daten von
Eingang  täglich
Füllstand  täglich
In welcher Form bekommst Du die Daten ?
Zwie Felder, zwei Datensätze oder wie sonst ?
Wenn Du den Eingang täglich bekommst, ist doch der Füllstand einfach die Summe, wozu dann der Füllstand noch mal extra ?
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: joerg007 am November 14, 2016, 20:26:19
hi:

die daten hab ich als zwei Datensätze pro Tank

zb.
heute 80 m³ und gestern 100 m³

was ich gerne hätte wäre
der vebrauch = gestern 100m³ - heute 80m³
um die reichweite des Füllstands zu berechen

die abnahme kenn ich nicht daher soll sie täglich berecht werden

die eingänge habe ich vorliegen

Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: MzKlMu am November 14, 2016, 20:33:04
Hallo,
das ist die Kumulierung (laufende Summe) der Füllstände.
Siehe hierzu:
FAQ 3.11 Laufende Nummer/Summe in Abfragen (http://www.donkarl.com?FAQ3.11)
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: ebs17 am November 14, 2016, 20:45:14
SELECT
   T1.Datum,
   T1.Stand,
   T2.Stand - T1.Stand AS Differenz
FROM
   tbl_Fuelstaende AS T1
      LEFT JOIN tbl_Fuelstaende AS T2
      ON T1.Datum = DateAdd("d", 1, T2.Datum)
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: joerg007 am November 15, 2016, 19:54:56
genau so wollte ich es haben !!
Danke Sehr  ;)

habe blos nur noch SELECT  distinct
hinzugefügt  da ich sonst doppelte daten werte hatte   ::)


Wenn ich nun aber weiter zurück will also vorgestern ...
Muss ich da die 1 bei Dateadd erhöhen ?

Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: ebs17 am November 15, 2016, 22:16:58
Wenn die Schrittweite für alle Tage gleich ist, dann ja.
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: crystal am November 16, 2016, 13:18:11
Hallo joerg007,

meiner Meinung nach fehlt in der Lösung von ebs17 ein entscheidender Punkt, nämlich eine WHERE-Bedingung, z.B.
WHERE T1.Datum = <Datumseingabe>
(Einmal abgesehen davon, dass der Name "Datum" unglücklich gewählt ist).
Ohne diese Where-Bedingung erhälst du eine Liste aller Füllstände, was dir vielleicht noch nicht aufgefallen ist, weil es in deiner Test-Datenbank vielleicht zu wenig Datensätze gibt. Deshalb ja wohl auch dein Versuch mit DISTINCT.

ebs17 addiert auf T1.Datum immer genau einen Tag. D.h. du müsstest als <Datumseingabe> immer den Vortag eingeben, damit die Addition klappt.

Vielleicht wäre es besser, mit datediff einen Tag zu subtrahieren (-1), dann könntest du mit dem akuellen Datum als <Datumseingabe> arbeiten.

Eine andere Möglichkeit wäre ein
SELECT TOP 1 from...
Das würde dir immer nur 1 Datensatz liefern (Sortierung beachten).
Entsprechend würde ein
SELECT TOP 10 ...
dir die Füllstände der letzten 10 Tage liefern (Sortierung Datum absteigend).

Bitte erweitere deine Test-Tabelle um ein paar mehr Datensätze und probiere mit der Abfrage verschiedene Varianten. Du kannst dazu im Abfrage-Entwurf immer wieder zur Datenblatt-Ansicht wechseln, um die Ergebnisse deiner Änderung zu sehen (und danach einfach zurück zu Entwurfs-Ansicht, um ggf. weitere Änderungen zu machen).

Noch etwas: zu Debugging-Zwecken würde ich auch T2.Datum anzeigen.

lg
crystal

PS: ebs17 wird mich vermutlich wieder beschimpfen, aber das ist mir egal, denn seine Lösung ist nicht vollständig durchdacht.
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: ebs17 am November 16, 2016, 15:44:17
Zitat von: joerg007gestern-heute
und zwar speicher ich den bestand und Datum in einer tabelle täglich 1x

Bei DIESER Ausgangslage war mein erster Vorschlag treffend und hinreichend durchdacht - und nicht zuletzt vom TE anerkannt. Wenn man natürlich die Ausgangslage ändert und Geschichten von Marie und dem Wolf hinzufügt, dann ändern sich natürlich Dinge ...
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: crystal am November 16, 2016, 16:20:29
<OT>
Lieber Eberhard,
kannst du oder willst du nicht begreifen, dass solche Kommentare
ZitatWenn man natürlich die Ausgangslage ändert und Geschichten von Marie und dem Wolf hinzufügt, dann ändern sich natürlich Dinge ...
absolut unsinnig sind und eher verwirren, zumindest dann, wenn sie nicht weiter erläutert und erklärt werden? Was wolltest du mit dieser Aussage bezwecken?

Würdest du dich doch endlich auf sachliche Aussagen beschränken, das wäre schön. Du bist doch ein intelligenter und in Access erfahrener Mensch, der hier auch schon sehr gute Beiträge gepostet hat. Warum verzichtest du nicht auf deine unsinnigen und unsachlichen Nebensätze, mit denen du dich oft genug des Belächelns preisgibst und der wiederholten Frage, was diese deine Antwort nun eigentlich sollte.

Dieses Forum sollte sachlich sein und bleiben, Polemik und persönliche Eitelkeiten bringen nichts.

Also bitte, lieber Eberhard, bleibe sachlich und verkneife dir alle anderen Statements.

lg
crystal
</OT>

Bitte begründe und erkläre doch, warum meine Anmerkungen zu deiner Lösung falsch sind, statt mit sie mit seltsamen Äußerungen (siehe Zitat oben) zu kommentieren und die Leute damit im Regen stehen zu lassen.

Bitte pflücke meine Anmerkungen Stück für Stück auseinander und gebe deine sachlichen Kommentare dazu ab. Ich habe die Wahrheit nicht gepachtet und wenn mir ein erfahrener Mensch - wie du - zeigt, wo und weshalb ich falsch gedacht habe, profitiere nicht nur ich davon, sondern andere Leser des Forums auch.
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: Josef P. am November 16, 2016, 19:03:35
[etwas OT]
@Eberhard:
Ohne über die Logik nachgedacht zu haben .- nur aufgrund der SQL-Anweisung:
SELECT
   T1.Datum,
   T1.Stand,
   T2.Stand - T1.Stand AS Differenz
FROM
   tbl_Fuelstaende AS T1
      LEFT JOIN tbl_Fuelstaende AS T2
      ON T1.Datum = DateAdd("d", 1, T2.Datum)

Aufgrund des Left-Join würde ich den On-Ausdruck umdrehen.
Auf T1 läuft sowieso ein Table/Index-Scan. Man könnte aber einen Index-Seek in T2 nutzen.

ON T2.Datum = DateAdd("d", -1, T1.Datum)

mfg
Josef
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: joerg007 am Dezember 18, 2016, 20:41:24
Hi ,

so nach den ich wieder mal zeit habe habe ich es mal mit roh daten probiert und wie ich nun sehe geht das nicht so wie es soll  ich bekomme jetzt alle werte von einander jeweils abgezogen ein select distinct geht nur bei gleichen daten .

Das hatte glaub ich cystal schon vorraus gesehen !

mit der where bedingung tue ich mich aber schwer!
denn diese rechnet nicht ?


INSERT INTO tbl_Fuelstaende_verbrauch ( Tank, Heute, gestern, Stand_Heute, Stand_gestern, Produkt )
SELECT
T2.Tank,
T1.Datum,
T2.Datum,
T1.Stand,
T2.Stand - T1.Stand AS Differenz,
T2.Produkt

FROM tbl_Fuelstaende AS T2 LEFT JOIN tbl_Fuelstaende AS T1 ON T1.Datum=DateAdd("d",-1,T2.Datum)
WHERE T2.Datum  =Date()-1 ;



Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: ebs17 am Dezember 18, 2016, 23:53:47
Zitatgenau so wollte ich es haben !!
- vs -
geht das nicht so wie es soll
Jetzt wäre es notwendig zu wissen, "was es soll", aber nur, wenn Du von außen eine Lösung brauchst.

Fragen:
- Wozu eine weitere Tabelle  mit dann redundanten Daten?
- Das oben mit dem DISTINCT kann ich nicht nachvollziehen, wenn Du pro Tag genau einen Eintrag vornimmst. Dann gibt es mit der von mir gezeigten Abfrage keine Duplikate. Also: Wie sehen Deine Daten wirklich aus?

Wenn man über alle Datensätze die Differenz zum jeweiligen Vortag berechnen will, braucht man - das sollte man in seine Überlegung einbeziehen - auch immer einen Vortag, also ein fortlaufendes Datum, also auch am Wochenende fleißig sein mit der Datenerfassung. Selbstredend erfasst die Abfrage ohne weitere Differenzierung alle Füllstände, hast Du also mehrere betrachtete Behälter, gibt es einen Wirrwarr.

@crystal: Hast Du die Aufgabe nur vollständig (nach Deinen Worten) durchdacht, oder hast Du auch mal selber einen praktischen Versuch gewagt? Durch SEHEN beantworten sich auch manchmal Fragen.

@Josef: Du hast sicher im Sinne der Effizienzsteigerung recht. Hier geht es aber erst einmal um das Funktionieren an sich, und ob es überhaupt nutzbare Indizes gibt, darf man im momentanen Zustand bezweifeln.
Trotzdem darf man Deine Variante gleich übernehmen.
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: crystal am Dezember 19, 2016, 18:51:22
Hallo joerg007,

nach deiner neuen Meldung habe ich mich nochmal mit dem Thema befasst und dir eine Lösung beigefügt.

Schau dir bitte zuerst die Tabelle an. Darin sind zwei Felder Tank und Produkt enthalten. Außerdem habe ich bewusst Lücken in den täglichen Füllständen gelassen.

Es gibt dann 3 Abfragen:
qryGetAll stellt alle Füllstände und die Differenz zum vorigen Erfassungstag dar (kann ja auch schon mehrere Tage her sein). Diese Abfrage wird intern benutzt, könnte aber auch als Ausgangsbasis z. B. für grafische Darstellungen dienen.

qryGetPrevious dient dazu, den vorigen Stand zu ermitteln und wird intern in einer DomWertFunktion benutzt. Sie dient eigentlich nur dazu, ein absteigendes Sortierkriterium definieren zu können.

qryGetLast stellt dann nur den aktuellen Füllstand und den Füllstand am letzten Messtag dar, für jeden Tank (und Produkt).

Kurze Diskussion meiner Lösung:
1. Es ist nicht erforderlich, jeden Tag einen Füllstand-Messwert zu haben, es können Tage ausgelassen werden (z.B. Sonntage).
2. Die Lösung berücksichtigt Tank und Produkt (beide sind als numerische Felder definiert, damit es mit der DomWert-Funktion etwas einfacher ist). Dies kommt der Praxis vermutlich nah, weil beide Felder Referenzen auf entspr. Tabellen darstellen werden. Es wäre möglich, z.B. Tank 22 irgendwann für ein anderes Produkt zu benutzen, oder ein Produkt auf verschiedene Tanks zu verteilen (hab ich allerdings nicht getestet).
3. Die Tabelle weist keine besonderen Indizierungen auf; der Index TaPr diente nur zu Testzwecken.
4. Die Lösung kommt ohne VBA aus.
5. Die Lösung ist jedenfalls zum Teil getestet und real (Gruß an Eberhard).

Schau einfach mal, ob du damit etwas anfangen kannst. Die Umsetzung in deine Umgebung ist vielleicht etwas aufwändig wegen der unterschiedlichen Objekt-Namen...

lg
crystal

PS: Mag sein, dass Dlookup in Queries nicht optimal ist (Performance), aber bei der anzunehmend überschaubaren Zahl von Tanks ist das wohl zu verkraften.

PPS: wie immer würde ich mich über sachliche Kritik meiner Lösung freuen und bitte darum, sie zu verbessern.

Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: ebs17 am Dezember 19, 2016, 19:26:07
Eine aufschlussreiche Demo.
Eine alleinige Gruppierung auf den Primärschlüssel einer Tabelle in einer Abfrage habe ich bisher noch nicht gesehen, und keine Angst: Da schreibe ich nicht ab.
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: crystal am Dezember 19, 2016, 19:40:03
Hallo,
lieber Eberhard, warum beschreibst du nicht einfach, was da genau falsch ist? Mit dieser Aussage kann doch niemand etwas anfangen:

ZitatEine alleinige Gruppierung auf den Primärschlüssel einer Tabelle in einer Abfrage habe ich bisher noch nicht gesehen, und keine Angst: Da schreibe ich nicht ab.

Und ob du das abschreibst oder nicht, interessiert auch nicht.

Bitte, lieber Eberhard, ringe dich dazu durch, Kritik konstruktiv zu äußern und klar verständlich, nich kryptisch und verklausuliert. Andere Menschen sollen es doch auch verstehen und möchten gern von deinem Experten-Wissen profitieren.

lg
crystal
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: joerg007 am Dezember 19, 2016, 19:44:45
besten dank  :)

da sieht man wer ahnung von access hat und wer gerade damit anfängt  ;)

werde wohl deine version  lernen zu verstehen und später einsetzen

Frohe Weihnachten allen ! :)  ;)
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: crystal am Dezember 19, 2016, 20:05:25
Danke Joerg!

Nur um Missverständnissen vorzubeugen:
Ich habe auch nicht viel Ahnung von Access (Eberhard hüpft ob dieser Aussage spontan ca. 1m50 senkrecht in die Luft), vielleicht nur ein wenig mehr als Anfänger.
Ich versuche nur, mich Problemen der Fragesteller zu widmen und zu probieren, ob ich eine Lösung finde (OK - macht Eberhard natürlich auch).

Sicher ist es möglich, dass meine "Lösungen" nicht immer optimal sind. Sie sind ja in erster Linie auch Diskussionsbeiträge, die oft aber weit konkreter und vielleicht auch hilfreicher sind als "philosophische Versuche" anderer.

So freut es mich, wenn du dich mit meiner Lösung anfreunden und sie nachvollziehen kannst. Vielleicht kann sich Eberhard doch noch erweichen und seine konstruktiven Verbesserungen posten. Das wäre sicher schön und würde ja dem Zweck dienen, nicht wahr...

Ich hatte ja auch extra für ... geschrieben:

ZitatPPS: wie immer würde ich mich über sachliche Kritik meiner Lösung freuen und bitte darum, sie zu verbessern.

lg
crystal
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: ebs17 am Dezember 19, 2016, 20:19:50
Zitatwas da genau falsch ist?
Vorab: In den Begriff Fehler legen unterschiedliche Personen unterschiedliche Inhalte hinein. Was also für den einen ein Fehler ist, ist für den anderen gut. Daher hatte ich nur festgestellt, aber keine Wertung abgegeben. Das kann ja jeder für sich selber tun.

Gruppierung auf einen Primärschlüssel heißt, es kann keine Änderung im Vergleich zur Ausgangstabelle geben, da man einen eindeutgen Wert nicht zusammenfassen kann, die beiliegenden Aggregierungen sind damit auch wirkungslos.
Die einen sagen dazu, Aktion ohne Ergebnis ist Beschäftigung der Maschine und verschenkte Zeit (abgearbeitet muss es ja trotzdem werden). Wenn man nach Effizienz bezahlt wird, ist das ein Mangel.
Andere können sagen: Da steht schon mal Code, sieht wichtig aus, und funktionieren tut es auch noch. Wenn man nach Codezeilen bezahlt wird, hat man einen Schritt nach vorne getan.

In ähnlicher Weise könnte man sich auch zu den bereits eigenvermuteten Problemen äußern.

Bezüglich konstruktiver Verbesserungen: Eine Lösung orientiert sich an der Aufgabenstellung - ein gutes Pferd springt nur so hoch wie es muss. In einer DB-Lösung sichert man zusätzlich vorab Erweiterungsfähigkeit ab, sprich wenn die Datensatzanzahl von 25 auf 250k steigt, sollte sich nicht die Notwendigkeit der Umprogrammierung ergeben.
Wenn ich im Zusammenhang mit der genannten Abfrage die genannten Ausgangsbedingungen, wie sie zu verstehen waren, noch einmal deutlich festgezurrt habe, so heißt das nicht, dass zu einer anderen und vmtl. umfangreicheren Aufgabenstellung keine Lösung erstellbar wäre. Eine solche Aufgabenstellung müsste aber erst einmal formuliert werden. Diese Nachfrage scheint aber für den TE nicht relevant zu sein, womit das dann auch abgeschlossen ist.

Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: crystal am Dezember 19, 2016, 21:01:24
Lieber Eberhard,

danke für deinen langen Text.
Leider wirst du auch jetzt nicht ausreichend konkret. Bitte benenne doch einfach genau, was an meiner Lösung oder meinem Ansatz falsch oder nicht OK ist. Nehme einfach meine DB und verbessere sie, damit Joerg eine - nach deiner Meinung - vernüftige Lösung erhält.

Das wäre doch viel besser, als hier Allgemeinplätze zum Besten zu geben. Aber ich fürchte, dass du das aus irgendwelchen, nicht erklärlichen Gründen nicht tun möchtest. Vielleicht liegt's an mir.

Schade, denn wir kennen dich als erfahrenen Accessler und es wäre wirklich schön, deine Lösung zu sehen, die sich freilich an den offensichtlichen Gegebenheiten des Fragenden orientieren müssten, also nicht an akademischen Betrachtungen zur Daten-Modellierung und praxisfernen Was-wäre-wenn-Szenarien.

Bitte, Eberhard, gebe dir den kleinen Schubs und pflücke meine "Lösung" im Detail auseinander, damit andere auch etwas davon haben. Es geht um die Sache und nicht um Eitelkeiten...

lg
crystal

PS: Schade, ich sehe gerade, dass du offline bist und ja leider geschrieben hast
ZitatDiese Nachfrage scheint aber für den TE nicht relevant zu sein, womit das dann auch abgeschlossen ist.

Schade, wirklich schade.
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: Beaker s.a. am Dezember 19, 2016, 21:37:08
Hallo crystal,
Ohne mir deine DB angesehen zu haben, ist für mich
ZitatGruppierung auf einen Primärschlüssel heißt, es kann keine Änderung
im Vergleich zur Ausgangstabelle geben, da man einen eindeutigen Wert nicht
zusammenfassen kann,
konkret genug.
gruss ekkehard
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: crystal am Dezember 19, 2016, 22:01:34
Hallo Ekkehard,

... da wäre es doch schön, den Fehler genau zu zeigen. Vielleicht ist es ja nur ein "Flüchtigkeits-Fehler", weil der Primärschlüssel in meinen Abfragen eigentlich nicht nötig ist.

Das von dir bemühte Zitat ist als solches und isoliert natürlich richtig, aber es fehlt der konkrete Bezug zu meiner Lösung oder ein einfacher Verbesserungs-Vorschlag wie "den Primärschlüssel kann man auch weglassen" oder "den Primärschlüssel muss man herausnehmen, weil...".

Insofern ist es natürlich auch schade, dass du dich zu deiner Aussage entschlossen hast, ohne die DB angeschaut zu haben.

Ist es denn so schwer, meine Lösung konkret zu kritisieren?

Nochmal: es geht hier nicht darum, verklausoliertes Besserwissen (nicht negativ gemeint) zum Besten zu geben, sondern am KONKRETEN Beispiel (was wäre konkreter als eine kleine Beispiel-DB) zu zeigen, wo Fehler liegen.

Könnte ein erfahrener Access-User wie Eberhard denn nicht versuchen, in diesem Sinne konkrete Aussagen zu treffen, um den Thread nach vorne zu bringen? Statt dessen scheint er sich geradezu zu bemühen, nebulöse Aussagen zu formulieren.

Ich glaube, manche Forums-Mitglieder (bei weitem nicht alle, denn es gibt ja viele Beispiele für konstruktive Hilfe) müssten sich mal wieder etwas zurück nehmen und daran denken, dass Fragesteller oft nicht den gleichen Wissensstand haben.

lg
crystal
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: ebs17 am Dezember 19, 2016, 23:12:38
Zitataber es fehlt der konkrete Bezug zu meiner Lösung oder ein einfacher Verbesserungs-Vorschlag
qryAll oder so ähnlich:
Überflüssige Gruppierung/Aggregierung. Heißt, es wird Aufwand betrieben für NULL Ergebnis. Was ist da unverständlich oder unkonkret?
Kann man weglassen wäre noch untertrieben => muss man weglassen.

Ich lasse es aber. Einzelne Sätze verstehst Du nicht, längere Texte verstehst Du nicht. Anscheinend sprechen wir eine sehr unterschiedliche Sprache, und ich habe keinen Missionierungsanspruch. Genügend Personen verstehen mich auf Anhieb.
Manche wollen eben erst ihre eigenen Erfahrungen sammeln, was in Ordnung ist. Wenn man andere ins gleiche Boot zieht, ist es schon etwas diskutabler. Nur daher meine Einwürfe.
Titel: Re: sql zusammen fügen[ gestern-heute ]
Beitrag von: crystal am Dezember 20, 2016, 12:04:27
Hallo,
mein Konstrukt mit der Gruppierung über den PK, beruhte darauf, dass ich bei anderen Feldern "First" benutze und das scheint nur zu gehen, wenn man gruppiert.
Es funktioniert auch ohne First und Gruppierung, wie ich jetzt herausgefunden habe:

SELECT fs.fsTank AS Tank, fs.fsProdukt AS Produkt, fs.fsDatum AS Datum,
fs.fsMenge AS StandAktuell,
DLookUp("[fsMenge]","qryGetPrevious","[fsTank] = " & [fsTank] & " and [fsProdukt] = " & [fsProdukt] &
" and [fsdatum] < " & Format(CDate(fsdatum),'\#mm\/dd\/yyyy\#' & " ")) AS StandZuvor,
StandAktuell-StandZuvor AS Differenz
FROM fs
ORDER BY fs.fsId DESC;


Ich hatte zunächst viel mit meiner Abfrage experimentiert und so ist das Gruppierungs-Ding entstanden.

<OT>
Mich deshalb jedoch abzukanzeln und zu beschimpfen, ist absolut kein Stil, lieber Eberhard. Auch deine Vermutungen über mein Lesevermögen sind sehr grenzwertig.

Es ist auch keineswegs so, dass andere dich auf Anhieb verstehen, einmal von sehr wenigen Profis abgesehen.  Deine Texte sind sehr oft oberlehrerhaft und arrogant, Fehler zuzugeben scheint dir extrem schwer zu fallen (ach so - du machst ja keine).

Du machst dir nicht einmal die Mühe, deine Beiträge mit einer Begrüßung zu beginnen und mit einem Gruß zu beenden (Netiquette) , einmal abgesehen von deinem Kumpel-Gruß in der Signatur (solltest du übrigens mal ändern, wirkt irgendwie lächerlich).

Mich hat man gelehrt, mich so auszudrücken, das andere mich verstehen. Und wenn mich jemand nicht versteht, meine Aussagen umzuformulieren.

Das scheint dir abzugehen, was ich sehr schade finde, da du doch ein erfahrener Access-Kenner bist. Es geht ja auch anders, wie du im ersten Absatz deines letzten Beitrags andeutungsweise zeigst. Der Rest ist dann allerdings wieder eher für die Tonne.

Schade, dass wir uns immer wieder gegenseitig beschimpfen. Das liegt aber zu einem großen Teil an dir. Ich habe dich oft genug um Sachlichkeit gebeten und darum, Aussagen näher zu erläutern, weil nicht jeder deinen Erfahrungs-Horizont hat. Und oft hast du darauf entweder nicht oder nur arrogant reagiert (ich lasse es, will nicht missionieren, usw.). Dabei scheinst du nicht zu bemerken, dass du dir mit solchen Äußerungen nur selbst schadest.

</OT>

lg
crystal

PS: Lieber Jörg, bitte ändere die Abfrage qryGetAll wie oben angegeben ab.