collapse

* Benutzer Info

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

* Wer ist Online

  • Punkt Gäste: 52
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13976
  • stats Beiträge insgesamt: 66571
  • stats Themen insgesamt: 8973
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Differenz zwischen zwei Zeilen der selben Spalte  (Gelesen 315 mal)

Offline burns_1987

  • Newbie
  • Beiträge: 8
Differenz zwischen zwei Zeilen der selben Spalte
« am: Mai 21, 2018, 20:27:22 »
Hallo liebe Forenmitglieder,

ich habe folgendes Problem und möchte mich vorweg schonmal für jegliche Hilfe bedanken!

Ich habe einen Stromzähler für eine Solaranlage und benötige eine Auswertung für den erzeugten Strom.
Der Zählerstand wird monatlich in eine Tabelle per Formular geschrieben. Jetzt benötige ich die Differenz zum Zählerstands des jeweiligen Vormonats. Wie realisiere ich das in Access?

Ich hoffe, dass ich mich verständlich ausgedrückt habe :-) Dankeschön
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1792
Re: Differenz zwischen zwei Zeilen der selben Spalte
« Antwort #1 am: Mai 21, 2018, 20:41:17 »
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline burns_1987

  • Newbie
  • Beiträge: 8
Re: Differenz zwischen zwei Zeilen der selben Spalte
« Antwort #2 am: Mai 22, 2018, 10:15:03 »
Guten Morgen und vielen Dank für die schnelle Hilfe!

Ich werde daraus leider nicht schlau - sorry!

Also, ich habe in einer Tabelle "Stromverbrauch" mit den Feldern:

- s_erzeugung (hier werden die monatlichen Zählerstände erfasst, die die Solaranlage erzeugt)

- s_einspeisung (hier werden die Zählerstände erfasst, die an den Stromversorger abgegeben werden)

- s_stromversorger (hier werden die Zählerstände des Stromversorgers angezeigt, da man Strom zukaufen muss, wenn die Solaranlage nicht produtziert)

Die Daten sind immer fortlaufend und werden nicht jeden Monat auf 0 gesetzt.

Und jetzt muss für das Feld für jeden einzelnen Zähler die Differenz gezogen werden zum jeweiligen Vormonat.

Es wäre lieb, wenn ihr mir als Access-Neuling weiterhelfen könntet.

Vielen, vielen Dank!
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7284
Re: Differenz zwischen zwei Zeilen der selben Spalte
« Antwort #3 am: Mai 22, 2018, 10:29:22 »
Hallo,
die FAQ 3.11 beschreibt das genau. Was verstehst Du daran nicht ?

Wie wird der Maonat erfasst, als Datum (wie es sein sollte) oder als Monat und Jahr (jeweils Zahlen) ?
Gruß
Klaus
 

Offline burns_1987

  • Newbie
  • Beiträge: 8
Re: Differenz zwischen zwei Zeilen der selben Spalte
« Antwort #4 am: Mai 22, 2018, 10:37:22 »
Hi, danke für die Antwort, ich gucke mir das nochmal ganz in Ruhe an, aber ich verstehe das ehrlich gesagt so, als ob eine fortlaufende Nummer, wie bei der ID erzeugt wird (aber ich lese nochmal nach, wahrscheinlich ist irgendwo ein Denkfehler!)

Der Monat bzw. Tag wird jeweils im Datumsfeld mit dem 01.01. (Januar), 01.02. (Februar), etc, erfasst.

Danke nochmal.
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7284
Re: Differenz zwischen zwei Zeilen der selben Spalte
« Antwort #5 am: Mai 22, 2018, 10:56:48 »
Hallo,
hast Du den Link in der FAQ ganz unten nicht gesehen ?
Hier ist er noch mal:
https://support.microsoft.com/de-de/help/290136/how-to-create-a-running-totals-query-in-microsoft-access
Gruß
Klaus
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1248
Re: Differenz zwischen zwei Zeilen der selben Spalte
« Antwort #6 am: Mai 22, 2018, 11:12:30 »
Hier ist ein DBFiddle mit Kommentaren, wo Unterschiede zu Access berücksichtigt werden müssen.
Grüße von der (⌒▽⌒)
 

Offline burns_1987

  • Newbie
  • Beiträge: 8
Re: Differenz zwischen zwei Zeilen der selben Spalte
« Antwort #7 am: Mai 22, 2018, 11:37:49 »
Hallo,
hast Du den Link in der FAQ ganz unten nicht gesehen ?
Hi MzKlMu,
dankeschön, aber die habe ich bereits offen und bringt mich leider auch ncht weiter  :-[
Da steht immer, es sei ein Syntaxfehler vorhanden. Zudem ist in der Entwurfsansicht der Afrage gar kein Feld "Summe", obwohl das Summenfeld aktiviert ist. Aber ich komme gar nicht aus dem "Feld", da dort der Fehler auftaucht.

Danke euch beiden, den Link von Lachtaube schaue ich mir gleich mal an!
Dankeschön!
 

Offline burns_1987

  • Newbie
  • Beiträge: 8
Re: Differenz zwischen zwei Zeilen der selben Spalte
« Antwort #8 am: Mai 22, 2018, 12:22:04 »
danke nochmal für den Link, aber im SQL-Code sieht es doch auch so aus, als seien die Daten fix angegeben und im zweiten Codefeld steht, dass dieses nicht für Abfagen zu verwenden ist und im dritten ist mir nicht klar, wo dieser Code reingehört.

Ich bin einfach überfordert und muss mich entschuldigen und bitte zu verstehen, dass der ein oder andere auch mal klein angefangen hat :-)

Danke und Gruß
Fabian
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1248
Re: Differenz zwischen zwei Zeilen der selben Spalte
« Antwort #9 am: Mai 22, 2018, 12:47:49 »
Zuerst wird eine View (Auswahlbbfrage) mit drei fiktiven Datensätzen angelegt und angezeigt, die Dich nicht interessieren muss. Sie sollte jedoch drei Zählerstände ausgeben.

Der mittlere Bereich ist derjenige, der für Dich von Interesse sein sollte. Weil PostgreSQL eine andere Syntax für Spitzenwerte verwendet, habe ich jeweils einen Kommentar in der ersten Unterabfrage hinzugefügt, was statt dessen in Access einzusetzen ist. Bei den folgenden zwei Unterabfragen ist analog zu verfahren. Kommentare, das ist der Text beginnend mit -- muss in der SQL-Ansicht einer Access-Abfrage natürlich weggelassen werden und statt daten, wirst Du auch den richtigen Tabellennamen einsetzen müssen. Ggf. muss der Zeitraum des Ablesens noch angepasst werden (Datumsfeld?). Jede Unterabfrage fragt dieselbe Tabelle noch einmal ab und nimmt hier beispielhaft das Jahr multipliziert mit 100 plus der Monatszahl als Kriterium für die äußere Hauptabfrage und jeweils die innere Unterabfrage. Top 1, bzw. Limit 1 im Beispiel reduziert die Anzahl der Datensätze auf genau einen. Eine absteigende Sortierung sorgt dafür, dass nur der jüngste Datensatz berücksichtigt wird. Und das Kriterium bewirkt, dass die zu betrachtenden Datensätze älter als der aktuelle Datensatz sein muss. Die Werte spiegeln immer die Differenz des aktuellen zum vorherigen Datensatz wider. Für den ersten Datensatz ließe sich noch die Null durch 0 ersetzen, falls das wünschenswert ist.

Der letzte (rein informative) Abschnitt zeigt, wie man in einer Datenbank mit modernem SQL-Dialekt (Stand 2008!) das gleiche Ergebnis hervorbringen kann.

Wenn Dir die Umsetzung nicht gelingt, poste bitte in einem Code-Abschnitt (Text markieren und dann den Knopf mit der Raute # in der Antwort drücken) hier eine handvoll Datensätze (einfach aus der Tabelle kopieren) und nenne uns den Tabellennamen.
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: burns_1987