collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 68
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 3
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 14039
  • stats Beiträge insgesamt: 67237
  • stats Themen insgesamt: 9069
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Werte aus vorherigem Datensatz in den nächsten Datensatz übernehmen  (Gelesen 3497 mal)

Offline gassek

  • Newbie
  • Beiträge: 31
Hallo Ladys and Gentlemen,

sry, dass ich dieses Thema nochmal anfasse...
Zur weiteren Berechnung benötige ich den Wert des Feldes "PreisProTag" eine Zeile tiefer.
Dieses Feld "PreisProTag" resultiert aus einer Multiplikation von Werten innerhalb der Abfrage.

Dies ist ein Auszug aus der Abfrage ( abf_Summen )

VerAE_Artikel PreisProTag AenderungsDatum AnzTage Mein Wunsch
Hüftsteak13 0,018             19.03.2016
Hüftsteak13 0,039             19.04.2016             31          0,018
Hüftsteak13 0,054             09.05.2016             20                 0,039
Hüftsteak13 0,063             20.05.2016             11                 0,054
Hüftsteak13 0,069             29.06.2016             40                 0,063
Karbonade32 0,024             08.07.2016                         0,069
Lachse12         0,008             08.05.2016                         0,024
Lachse13         0,003             02.05.2016                         0,008
Lachse13         0,015             08.05.2016               6                 0,003
Lachse13         0,045             06.06.2016              29         0,015
Lachse13         0,075             10.06.2016                4         0,045
Lachse33         0,021             08.07.2016                         0,075
Schnitzel13 0,006             27.06.2016                         0,021
Schnitzel13 0,003             17.07.2016               20         0,006
Schweinefilet12 0,006             03.05.2016                         0,003
Schweinefilet13 0,018             03.05.2016                         0,006
Schweinefilet13 0,072             05.05.2016                 2         0,018
Schweinefilet13 0,081             29.06.2016                55         0,072
Schweinefilet33 0,006             29.06.2016                         0,081
Gibt es eine Möglichkeit, diese Werte auch in der nächsten Zeile zu verwenden?

Vielen Dank im Voraus für eure Unterstützung.
« Letzte Änderung: Juli 18, 2016, 19:39:25 von MzKlMu »
Gruß
Jürgen
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7380
Hallo,
wieso fängst Du das Thema mit dem gleichen Titel noch mal an ?

PS:
Zur Listendarstellung kann man auch die Codetags verwenden, dann wird der Text Spaltenformatiert dargestellt.
Gruß
Klaus
 

Offline gassek

  • Newbie
  • Beiträge: 31
Tut mir leid, ich war der Meinung, wenn ein Thema beantwortet ist, ist es auch beendet.
Gruß
Jürgen
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7380
Hallo,
ist das jetzt eine neue (andere) Frage mit dem gleichen Titel ?
Irgendwie verstehe ich das gerade nicht.

Wenn dem so ist, so ist es natürlich richtig ein neues Thema zu beginnen.
Gruß
Klaus
 

Offline gassek

  • Newbie
  • Beiträge: 31
Hallo Klaus,

ja, es ist eine neue Frage zum gleichen Thema.
Gruß
Jürgen
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1295
Das dürfte dann noch eine Stufe einfacher sein als die Ermittlung der Tage.

PS: dass diese Unterabfragen die Performance schmälern, sollte bekannt sein. Für größere Datenbestände sollte man deshalb besser auf ein (kostenlos erhältliches) Server-Datenbanksystem setzen, das diese Art von Abfragen in einer speziellen Art von Verknüpfung beherrscht (MSSQL-Server nennt das (CROSS und OUTER) APPLY; PostgreSQL nennt das (CROSS und OUTER) Lateral Join; ORACLE 12c kennt wohl beide Varianten).
Grüße von der (⌒▽⌒)
 

Offline gassek

  • Newbie
  • Beiträge: 31
Hallo,
wenn das noch eine Stufe einfacher ist, als die Ermittlung der Tage, dann sei so nett und gib mir bitte einen Tipp...

Vom Rest habe ich nichts verstanden.
Gruß
Jürgen
 

Offline MaggieMay

  • Global Moderator
  • Access Guru
  • *****
  • Beiträge: 3109
Hallo Jürgen,

wenn du das Prinzip nicht verstanden hast, wie das mit der Differenz der Tage gelöst wurde, so beschreibe doch bitte die Art der Berechnung, damit man dir einen konkreten Vorschlag machen kann.
Freundliche Grüße
MaggieMay
 

Offline gassek

  • Newbie
  • Beiträge: 31
Hallo ihr Lieben,

zu meiner Datenbank:
Ziel soll es sein, dass Lagerkosten auf Artikel verteilt werden sollen.
Die Lagenkosten belaufen sich pro Tag auf 0.003 € pro kg.
Für diese Beschreibung nehme ich einen Abrechnungszeitraum vom 01.05.2016 bis 31.05.2016 an.

Variante 1:
Ist nun ein Artikel mehrfach im Abrechnungszeitraum vorhanden, benötige ich zu Berechnung der Gesamtkosten pro Artikel den PreisProTag aus der vorherigen Zeile.
(siehe Hüftsteak13 am 09.05.2016. für die Berechnung vom 01.05. – 09.05. benötige ich den Preis aus der vorherigen Zeile.)

Variante 2:
Ist ein Artikel im Abrechnungszeitraum nur einmal vorhanden, benötige ich den PreisProTag aus der gleichen Zeile (siehe Lachse12).

Also brauche ich den PreisProTag in 2 Spalten. In der 2. Spalte also um eine Zeile versetzt.

Die entsprechenden Mehrfachindizes habe ich in der Tabelle gesetzt, um Doppelte zu vermeiden.

Den Rest werde ich versuchen mit div. Wenn/dann-Abfragen zu erledigen.
Für diese wenn/dann-Abfragen benötige ich die Spalten „AnzTage“ und „Zaehler“.

Nur verstehe ich von den div. SQL-Anwendungen Cross, Outer usw. nichts.

Ich erstelle meine DB nur in der Entwurfsansicht, und bin froh, dass ich hier in diesem Forum Hilfe finde.

VerAE_Artikel   LfdSaldo   PreisProTag   AenderungsDatum   AnzTage   Zaehler   PPTag
Hüftsteak13          6      0,018                 19.03.2016                                  0   
Hüftsteak13         13       0,039                19.04.2016                31           0          0,018
Hüftsteak13         18       0,054                  09.05.2016               20          1           0,039
Hüftsteak13          21        0,063                   20.05.2016            11         2          0,054
Hüftsteak13           23       0,069                 29.06.2016               40         0           0,063
Karbonade32        12        0,024                 08.07.2016                           0            0,069
Lachse12                  4      0,008                  08.05.2016                           1           0,024
Lachse13                  1      0,003                  02.05.2016                           1          0,008
Lachse13                   5        0,015               08.05.2016                6           2         0,003
Lachse13                15       0,045                06.06.2016                  29         0       0,015
« Letzte Änderung: Juli 22, 2016, 17:56:47 von gassek »
Gruß
Jürgen
 

Offline gassek

  • Newbie
  • Beiträge: 31
Hallo liebe Freunde,

sind diese Angaben erst einmal ausreichend?
Wenn nicht, gebt mir bitte ne kurze Info.
Gruß
Jürgen
 

Offline MaggieMay

  • Global Moderator
  • Access Guru
  • *****
  • Beiträge: 3109
Hallo Jürgen,

Zitat
Also brauche ich den PreisProTag in 2 Spalten.

versuche es mal mit einer Abfrage analog zu dieser:

Select t1.VerAE_Artikel, t1.LfdSaldo,
t1.LfdSaldo * 0,003 AS PreisProTag, 
t1.AenderungsDatum,  t1.AnzTage,  t1.Zaehler, 
(Select t2.LfdSaldo From tabelle As t2
 Where {Kriterien zum Auffinden des vorherigen Datensatzes}) * 0,003 AS PPTag
From tabelle As t1

Zur Bestimmung des vorherigen Datensatzes wäre eine fortlaufende Nummerierung hilfreich.
Freundliche Grüße
MaggieMay