Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Laufender Lagerbestand

Begonnen von gassek, Juli 06, 2016, 18:27:58

⏪ vorheriges - nächstes ⏩

gassek

Hallo zusammen,

So hatte ich es zuerst umgesetzt, aber ohne die Hochkommata beim Datum geht es auch nicht.

SELECT Artikel.ArtID, Artikel.ArtName, Artikel.Datum, Artikel.Bestandsänderung, DSum("Bestandsänderung","Artikel","ArtName='" & [ArtName] & "' AND Datum <=" & '[Datum]') AS LfdSaldo
FROM Artikel;
Gruß
Jürgen

gassek

Hallo Claus,
So hatte ich es umgesetzt:

SELECT Artikel.ArtID, Artikel.ArtName, Artikel.Datum, Artikel.Bestandsänderung, DSum("Bestandsänderung","Artikel","ArtName='" & [ArtName] & "' AND Datum <=" & '[Datum]') AS LfdSaldo
FROM Artikel;
Gruß
Jürgen

Beaker s.a.

#17
Hallo,
Zitat
Und wie kommst du auf die Idee, die ID als Datum zu formatieren?
Grrrr  >:( - natürlich so:
SELECT
      ArtID, 
      ArtName, 
      [Datum],
      [Bestandsänderung],
      (SELECT SUM([Bestandsänderung])
      FROM Tabelle1 AS B
      WHERE B.artname=A.artname AND Format(B.[Datum], "\#yyyy\/mm\/dd\#") <= Format(A.[Datum], "\#yyyy\/mm\/dd\#")) AS LfdSaldo
FROM Tabelle1 AS A

gruss

Ach ja, und der Tabellen- und die Feldnamen stammt auch von meinem Test, - also ANPASSEN!
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

gassek

Hallo Ekkehard,

Danke für deine Unterstützung,
Habe ich genauso umgesetzt, und es funktioniert, nur bei den beiden letzten Positionen Artikel3 rechnet er falsch dort steht statt 14 die 16 und statt 16 die 6
Gruß
Jürgen

DF6GL

#19
Hallo,,

;D

bei einer Subquery ist keine Datums-Formatierung erforderlich:


ZitatSELECT
      ArtID, 
      ArtName, 
      [Datum],
      [Bestandsänderung],
      (SELECT SUM([Bestandsänderung])
      FROM Tabelle1 AS B
      WHERE B.artname=A.artname AND B.[Datum] <= A.[Datum]) AS LfdSaldo
FROM Tabelle1 AS A


bei einer Aggregat-Funktion schon, Siehe Beitrag von MaggieMay

PS:

Zitatstatt 14 die 16 und statt 16 die 14(??)

Dann sortiere die Abfrage nach Datum aufsteigend
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

gassek

Hallo Franz,

ich habe dein Bsp. ebenfalls genauso übernommen und habe den gleichen Fehler bei den beiden letzten Datensätzen der Abfrage.
Warum ausgerechnet ein Fehler bei den letzten beiden?
Gruß
Jürgen

Beaker s.a.

Hallo Franz,
Zitatbei einer Subquery ist keine Datums-Formatierung erforderlich:
Stimmt, ich dachte ich hätte das probiert weil ich es auch schon
vermutet hatte, und es hätte nicht geklappt, wer weiss ...
ZitatDann sortiere die Abfrage nach Datum aufsteigend
Wollte ich ihm auch gerade schreiben,da warst du schneller.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Beaker s.a.

#22
Hallo,
Zitatich habe dein Bsp. ebenfalls genauso übernommen
Da ist aber die Sortierung noch nicht drin:
SELECT
      ArtID, 
      ArtName, 
      [Datum],
      [Bestandsänderung],
      (SELECT SUM([Bestandsänderung])
      FROM Artikel AS B
      WHERE B.artname=A.artname AND B.[Datum] <= A.[Datum])
AS LfdSaldo
FROM Artikel AS A
ORDER BY A.[Datum])


Oder muss B sortiert werden, Franz?
Neee, natürlich nicht.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

gassek

Hallo zusammen,

ich danke euch allen ganz recht herzlich.
Ich habe viel in diesen 2 Tagen im Forum gelernt.

Wenn ich darf, komme ich mit meinem nächsten Problem bald wieder.

Nochmals vielen Dank an Alle!!!
Gruß
Jürgen

gassek

Ich habe in der Entwurfsansicht nach Artikel und nach Datum sortiert.
Und es funktioniert!
Gruß
Jürgen

Beaker s.a.

Hallo,
Man (ich) weiss ja nicht, wo diese Artikelnr. herkommt, aber bei der
Berechnung eines laufenden Saldos würde ich mich nur auf's Datum
verlassen.
Wenn das (die ID) ein Autowert ist, würde die Reihenfolge nicht mehr
stimmen, wenn du Daten mit einem Datum kleiner als das neueste
eingibst.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

gassek

Hallo Ekkehard,

Das Feld Artikel besteht aus frei wählbarem Text, hat nicht mit dem Autowert ID zu tun.
Ist das dann noch so i.O.?
Gruß
Jürgen

Beaker s.a.

Hallo,
Das ist ja noch schlimmer, also darauf würde ich mich gar nicht
verlassen. Wozu auch, Datum (schlechter Name übrigens) reicht
doch, und ist verlässlich. Mit Zeit sogar mehrmals am Tag aktuell.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

gassek

Hallo,

ich habe mich Mal wieder verdrückt ausgekehrt  ;).
Mit den Feldnamen habe ich mich dem Forum angepasst.
Also die Felder heißen in meiner Tabelle wie folgt: Art_ID (AutoWert), Art_Name, Art_Datum, Art_Bestansänderung.
Jeder Artikel darf auch pro Tag nur einen (Neu)Bestand haben, weil dieser Tagesbestand in Rechnung gestellt werden soll.
Kann ich jetzt trotzdem nach Art_Name und anschließend nach Art_Datum sortieren?

Gruß
Jürgen

MzKlMu

Hallo,
ZitatDatum (schlechter Name übrigens)
nur nebenbei, Datum ist kein reserviertes Wort und kann problemlos verwendet werden. Ob mit oder ohne [] Klammerpaar.
Ich hatte mit Datum noch nie Probleme, die deutsche Funktion Datum() verwendet ja das Klammerpaar.
Gruß Klaus