Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Laufender Lagerbestand

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

⏪ vorheriges - nächstes ⏩

gassek

Gute Tag,
ich bin neu hier, und weiß noch nicht einmal, wie man eine Mitteilung schreibt, die Alle lesen können.
Ich habe folgendes Problem mit einer Abfrage aus der Tabelle "Artikel":
Die Tabelle hat folgenden Aufbau:

ArtID    ArtName       Datum           Bestandsänderung

   1       Artikel5        02.05.2016                +5
   2       Artikel8        05.05.2016                +12
   3       Artikel5        12.05.2016                 - 2
   4       Artikel8        18.05.2016                 +3

Ich möchte folgende Abfrage kreieren:

ArtID    ArtName       Datum           Bestandsänderung      LfdSaldo

   1       Artikel5        02.05.2016                +5                       5
   2       Artikel8        05.05.2016                +12                    12
   3       Artikel5        12.05.2016                 - 2                       3
   4       Artikel8        18.05.2016                 +3                     15

Ich bin für jede Hilfe dankbar bezüglich der Spalte "LfdSaldo" dankbar.
Bin Access 2010 Anfänger und verstehe nichts von VBA.

MfG
Jürgen
Gruß
Jürgen

MzKlMu

Hallo,
willst Du wirklich einen laufenden Saldo ?
Oder eher den aktuellen Bestand ?
Ein laufender Saldo macht für mich bei einem Bestand eher keinen Sinn.
Gruß Klaus

gassek

#2

Hallo,

ja, ich möchte definitiv den laufenden Saldo, weil in diesem Fall die Lagerkosten pro Tag auf die jeweiligen Artikelmengen berechnet werden sollen.

Gruß
Jürgen
Gruß
Jürgen

MaggieMay

#3
Hallo Jürgen,
Zitat von: gassek am Juli 06, 2016, 18:27:58ich bin neu hier, und weiß noch nicht einmal, wie man eine Mitteilung schreibt, die Alle lesen können.
das hast du schon ganz richtig gemacht, indem du ein neues Thema eröffnet hast.

Den lfd. Saldo (bzw. die lfd. Summe) kannst du in einer Abfrage analog zur Access-FAQ 3.11 ermitteln.
Freundliche Grüße
MaggieMay

Beaker s.a.

Hallo,
Nein Maggie, - lfd.Saldo pro Artikel.
Ich denke http://www.donkarl.com?FAQ3.11 könnte weiterhelfen.
gruss ekkehard

zu spät  :D
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)

MaggieMay

Hallo Ekkehard,

ich hatte meinen Irrtum schon selbst bemerkt und den Beitrag entsprechend korrigiert.
Freundliche Grüße
MaggieMay

MzKlMu

Hallo,
das Problem ist ja der Saldo pro Artikel und nicht über alle Datensätze. Und das müsste man noch in die FAQ 3.11 einarbeiten und da ist mir nichts eingefallen.
Gruß Klaus

gassek

Hallo an Alle,

den Gesamtsaldo kriege ich.
Das Problem ist wirklich der Saldo pro Artikel...
Gruß
Jürgen

MaggieMay

Naja, da muss einfach nur das Kriterium entsprechend erweitert werden.

Beispiel:
Select ArtID,  ArtName,  Datum,  Bestandsänderung,
DSUM("Bestandsänderung","Artikel","artName='" & artName & "' AND Datum <=" & Datum ) AS LfdSaldo
From Artikel


bzw. mit Datumsformatierung:
Select ArtID,  ArtName,  Datum,  Bestandsänderung,
DSUM("Bestandsänderung","Artikel","artName='" & artName & "' AND Datum <=" & Format(Datum, "\#yyyy\/mm\/dd\#")) AS LfdSaldo
From Artikel
Freundliche Grüße
MaggieMay

gassek

Hallo MaggieMay,

nachdem ich die Abfrage erstellt hatte, erhielt ich folg. Fehlermeldung für die erste Abfragenzeile und folgende Abfrage.            

-       Synatxfehler in Zahl in Abfrageausdruck 'artName'='Artikel1' AND Datum <=02.05.201'          
            
      
ArtID   ArtName   Datum       Bestandsänderung       LfdSaldo
1   Artikel1   02.05.2016   2                            #Fehler
2   Artikel2   04.05.2016   4                            #Fehler
3   Artikel3   09.05.2016   4                            #Fehler
4   Artikel1   06.06.2016   5                            #Fehler
5   Artikel1   13.06.2016   -2                            #Fehler
6   Artikel2   06.06.2016   -1                            #Fehler
7   Artikel2   13.06.2016   5                            #Fehler
8   Artikel3   20.06.2016   10                          #Fehler
9   Artikel3   16.06.2016   2                            #Fehler
            
Im nächten Bsp. Habe ich das Datum in einfache Hochkommas gesetzt.   & '[Datum]'). Dann sah die Abfrage wie folgt aus.            
Also mit Gesamtsummen pro Artikel.            

ArtID   ArtName   Datum   Bestandsänderung   LfdSaldo
1   Artikel1   02.05.2016   2                      5
2   Artikel2   04.05.2016   4                      8
3   Artikel3   09.05.2016   4                     16
4   Artikel1   06.06.2016   5                       5
5   Artikel1   13.06.2016   -2                       5
6   Artikel2   06.06.2016   -1                       8
7   Artikel2   13.06.2016   5                       8
8   Artikel3   20.06.2016   10                     16
9   Artikel3   16.06.2016   2                     16
            
So müsste die Abfrage jedoch aussehen, denn ich benötige den Bestand pro Artikel historisch.            
            
ArtID   ArtName   Datum   Bestandsänderung   LfdSaldo
1   Artikel1   02.05.2016   2                      2
2   Artikel2   04.05.2016   4                      4
3   Artikel3   09.05.2016   4                      4
4   Artikel1   06.06.2016   5                      7
5   Artikel1   13.06.2016   -2                      5
6   Artikel2   06.06.2016   -1                      3
7   Artikel2   13.06.2016   5                      8
8   Artikel3   20.06.2016   10                    14
9   Artikel3   16.06.2016   2                    16

Würde mich freuen, wenn Du mir nochmal behilflich bist.
Gruß
Jürgen

MaggieMay

#10
Einen Wert vom Typ Datum darfst du nicht in Hochkommata setzen.
Die korrekte Datumsformatierung siehst du in meinem zweiten Vorschlag.

...funktioniert übrigens hervorragend! :-)
Freundliche Grüße
MaggieMay

Beaker s.a.

Hallo,
So funzt es:
Select
      ArtID, 
      ArtName, 
      [Datum],
      [Bestandsänderung],
      (SELECT SUM([Bestandsänderung])
      FROM Tabelle1 AS B
      WHERE B.artname=A.artname AND Format(B.ArtID, "\#yyyy\/mm\/dd\#") <= Format(A.ArtID, "\#yyyy\/mm\/dd\#")) AS LfdSaldo
FROM Tabelle1 AS A

[] sind nötig wegen reserviertem Wort (Datum) bzw. Umlaut.

gruss ekkhard
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)

MaggieMay

Zitat[] sind nötig
Nein, nicht wirklich.

Und wie kommst du auf die Idee, die ID als Datum zu formatieren?   ???
Freundliche Grüße
MaggieMay

gassek

#13
Hallo MaggieMay,

Danke für deine Antwort.
Bei deinem 2. Vorschlag bekomme ich die gleiche Fehlermeldung.
Vielleicht liegt es an der Lage der jeweiligen Hochkommata.
Ich kriegs einfach nicht hin.
Muss das Datum formatiert sein?
Gruß
Jürgen

MzKlMu

Hallo,
Du solltest zeigen wie genau Du es umgesetzt hast. Wie genau soll man sonst eine Fehler erkennen ?
Gruß Klaus