Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Berlin-Lackierung.de am September 15, 2016, 14:01:59

Titel: Wert des vorherigen Datensatzes lesen und Differenz herstellen
Beitrag von: Berlin-Lackierung.de am September 15, 2016, 14:01:59
Stehe (mal wieder) auf dem Schlauch.
Ich benötige eine Lösung für folgendes Problem.
Hab ein Endlosformular mit Preissteigerungen. Jetzt soll ich die Differenz vom jeweiligen Preis des vorherigen Datensatzes ermitteln.

Also:
Ich benötige die Differenz von 115,00 Euro zu 111,00 Euro = 103,6%
und dann weiter - 121,00 Euro zu 115,00 Euro = 105,2%
usw...
Das Ergebnis sollte dann in Text8 stehen.

Preis_Neu   Datum           Text8
111,00 €   01.12.2015   =
115,00 €   22.08.2016   =
121,00 €   14.09.2016   =

Vielleicht kann mir nochmals einer eine Gedankenstütze geben - wie so oft :D
Titel: Re: Wert des vorherigen Datensatzes lesen und Differenz herstellen
Beitrag von: MzKlMu am September 15, 2016, 14:05:30
Hallo,
schaue mal hier rein:
FAQ 3.11 Laufende Nummer/Summe in Abfragen (http://www.donkarl.com?FAQ3.11)
Titel: Re: Wert des vorherigen Datensatzes lesen und Differenz herstellen
Beitrag von: Berlin-Lackierung.de am September 15, 2016, 17:44:11
Hab eine eigene Lösung gefunden.
Hab das über Abfragen gelärt mit einem "Hilfszähler", da sonst beim Löschen eines Wertes der ID nicht zum vorherigen hätte springen können...

Abfrage 1: Zähler entwickeln:
LaufNummer: DomAnzahl("LfdNrPreisanpassung";"Tbl_Preisanpassung";"LfdNrPreisanpassung<" & [LfdNrPreisanpassung])+1

Abfrage 2:  Zähler als Datensatznummer benutzen:
DomLetzterWert("[Preis_Neu]";"[Abfr_Preisanpassung_LfdNr]";"[LaufNummer]=" & DomMax([LaufNummer]-1;"Abfr_Preisanpassung_LfdNr"))

Vielleicht ein wenig "aufwendig" - jedoch wird der Zweck erfüllt ;)
Titel: Re: Wert des vorherigen Datensatzes lesen und Differenz herstellen
Beitrag von: MzKlMu am September 15, 2016, 17:57:58
Hallo,
Du brauchst keinen extra Zähler Du kannst zum Vergleich einfach das Datum benutzen.
Deine Laufnummer ist auch unzuverlässig, da diese über die Tabelle erzeugt wird. Diese wiederum ist nach dem Primärschlüssel sortiert. Hast Du einen Eintrag vergessen und schiebst einen Preis hinterher, stimmt die Reihenfolge der Datensätze nicht mehr.
Machen Deinen Vergleich über das Datum und nicht über die künstliche Laufnummer.
Titel: Re: Wert des vorherigen Datensatzes lesen und Differenz herstellen
Beitrag von: Lachtaube am September 15, 2016, 20:41:28
Hier findest Du einen SQLFiddle (http://sqlfiddle.com/#!15/5c263/5) (mit Hinweis zur Anwendung unter Access), der die ursprüngliche Aufgabe löst.