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
Hallo,
schaue mal hier rein:
FAQ 3.11 Laufende Nummer/Summe in Abfragen (http://www.donkarl.com?FAQ3.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 ;)
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.
Hier findest Du einen SQLFiddle (http://sqlfiddle.com/#!15/5c263/5) (mit Hinweis zur Anwendung unter Access), der die ursprüngliche Aufgabe löst.