Access 03: Lagerbestand automatisch berechnen funktioniert nicht
Lagerbestand = Anzahl der bestellten Artikel - Anzahl der entnommenen Artikel
Jedoch will das nicht so recht.
Moin Moin,
Habe eine Datenbank mit der Aufgabe den Lagerbestand, die Entnahmen und die Bestellungen aufzunehmen.
Der Aufbau ist dem der Beispieldatei "Nordwind" sehr ähnlich, da ich diese im Prinzip auf meine Funktionen umgeschrieben habe.
Es ist für Bestellungen, Artikel, Entnahmen je ein Formular vorhanden.
Zudem habe ich unter anderem die Tabellen
Bestelldetails (bestellnummer; Artikelnummer; Anzahl) und
Entnahmedetails (Entnahmenummer; artikelnummer; Anzahl)
mit der Tablle
Artikel (Artikelnummer; Name; Einzelpreis)
über 1:n verbunden
(Bestelldetails.Artikelnummer n:1 Artikel.Artikelnummer 1:n Entnahmedetails.Artikelnummer)
Bestelldetails ist mit Bestellungen verbunden (Bestellungen.Betsellnummer 1:n Bestelldetails.Betsellnummer)
und Entnahmedetails mit Entnahmeschein (Entnahmeschein.Betsellnummer 1:n Entnahmedetails.Betsellnummer)
Die Autonachschlagen funktion bekomme ich hin (artikel auswählen details automatisch eintragen)
Ich habe ursprünglich je eine für Entnahme & Bestellung angefertigt. funktionierte auch.
Jedoch kann ich so eine Subtraktion(Artikeleingang - Ausgang) für den aktuellen Lagerbestand nicht ausführen (oder doch?)
Nun hab ich versucht eine Abfrage mit den Tabellen Artikel, Bestelldetails & Entnahmedetails zu starten.
[Artikelnumer.Bestelldetails]
[Artikelnumer.Entnahmedetails]
[Artikelname.Artikel]
[Einzelpreis.Artikel]
[Anzahl.Bestelldetails]
[Anzahl.Entnahmedetails]
[Lagerbestand: ZCurrency([Anzahl.Bestelldetails]-[Anzahl. Entnahmedetails]) ]
Als ich diese Gestartet habe, wurden mir keine Felder zum eintragen angezeigt und es wurde die 1:n verbindung zwischen Entnahmedetails und Entnahmeschein gelöscht.
Nebenbei wurden wirre Beziehungen geknüpft (z.B. wurden die Tabellen in denen der Feldname "Artikel-NR" vorkommen zusätzlich hinzugefügt und alle "Artikel-NR" mit der "Artikel-NR" von der Tabelle Entnahmeschein verbunden).
Nunja ich hoffe ihr könnt mir mit meinem Problem weiterhelfen.
Bin für jegliche Vorschläge offen
Vielen Dank schon mal
MFG
Christian
Jedoch will das nicht so recht.
Moin Moin,
Habe eine Datenbank mit der Aufgabe den Lagerbestand, die Entnahmen und die Bestellungen aufzunehmen.
Der Aufbau ist dem der Beispieldatei "Nordwind" sehr ähnlich, da ich diese im Prinzip auf meine Funktionen umgeschrieben habe.
Es ist für Bestellungen, Artikel, Entnahmen je ein Formular vorhanden.
Zudem habe ich unter anderem die Tabellen
Bestelldetails (bestellnummer; Artikelnummer; Anzahl) und
Entnahmedetails (Entnahmenummer; artikelnummer; Anzahl)
mit der Tablle
Artikel (Artikelnummer; Name; Einzelpreis)
über 1:n verbunden
(Bestelldetails.Artikelnummer n:1 Artikel.Artikelnummer 1:n Entnahmedetails.Artikelnummer)
Bestelldetails ist mit Bestellungen verbunden (Bestellungen.Betsellnummer 1:n Bestelldetails.Betsellnummer)
und Entnahmedetails mit Entnahmeschein (Entnahmeschein.Betsellnummer 1:n Entnahmedetails.Betsellnummer)
Die Autonachschlagen funktion bekomme ich hin (artikel auswählen details automatisch eintragen)
Ich habe ursprünglich je eine für Entnahme & Bestellung angefertigt. funktionierte auch.
Jedoch kann ich so eine Subtraktion(Artikeleingang - Ausgang) für den aktuellen Lagerbestand nicht ausführen (oder doch?)
Nun hab ich versucht eine Abfrage mit den Tabellen Artikel, Bestelldetails & Entnahmedetails zu starten.
[Artikelnumer.Bestelldetails]
[Artikelnumer.Entnahmedetails]
[Artikelname.Artikel]
[Einzelpreis.Artikel]
[Anzahl.Bestelldetails]
[Anzahl.Entnahmedetails]
[Lagerbestand: ZCurrency([Anzahl.Bestelldetails]-[Anzahl. Entnahmedetails]) ]
Als ich diese Gestartet habe, wurden mir keine Felder zum eintragen angezeigt und es wurde die 1:n verbindung zwischen Entnahmedetails und Entnahmeschein gelöscht.
Nebenbei wurden wirre Beziehungen geknüpft (z.B. wurden die Tabellen in denen der Feldname "Artikel-NR" vorkommen zusätzlich hinzugefügt und alle "Artikel-NR" mit der "Artikel-NR" von der Tabelle Entnahmeschein verbunden).
Nunja ich hoffe ihr könnt mir mit meinem Problem weiterhelfen.
Bin für jegliche Vorschläge offen
Vielen Dank schon mal
MFG
Christian
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 44735
Url: https://administrator.de/forum/access-03-lagerbestand-automatisch-berechnen-funktioniert-nicht-44735.html
Ausgedruckt am: 26.04.2025 um 02:04 Uhr
6 Kommentare
Neuester Kommentar

Hallo,
Ändere mal den Feldnamen Anzahl. Anzahl ist eine fest definierte Funktion in Access.
Vielleicht kommt Access da etwas durcheinander.
mfg
Ändere mal den Feldnamen Anzahl. Anzahl ist eine fest definierte Funktion in Access.
Vielleicht kommt Access da etwas durcheinander.
mfg
Mon Habit-Brecher,
das erscheint mir an drei Stellen nicht plausibel, was da drin steht:
a) Aus Bestell-Anzahl und Entnommen-Anzahl braucht niemand einen Currency/Währungswert berechnen.
b) Aus Bestell-Anzahl und Entnommen-Anzahl kann niemand einen Lagerbestand berechnen. Das ist zwar die Differnenz zwischen Bestellt und Verbrauch, aber der Ist-Bestand fehlt
c) Durch den zweiten INNER JOIN erfasst Du nur Artikel, die sowohl bestellt wurden wie auch einen Abgang/Verbrauch haben. Diejenigen, die mit 2 Mio Stück bestellt wurden, aber noch nie verbraucht wurden gehen Dir durch die Lappen.
Wie gesagt, das kann so (fachlich) nicht richtig sein.
Es sei denn, Deine Felder enthalten etwas ganz anderes als der Feldname vorgibt.
Gruß
Biber
das erscheint mir an drei Stellen nicht plausibel, was da drin steht:
SELECT Artikel.[Artikel-Nr],
Bestelldetails.BestAnzahl,
[Entnahme-details].EntAnzahl,
CCur([Bestelldetails].[Bestanzahl]-[Entnahme-details].[Entanzahl]) AS Lagerbestand
FROM
(Artikel
INNER JOIN Bestelldetails ON Artikel.[Artikel-Nr] = Bestelldetails.[Artikel-Nr])
INNER JOIN [Entnahme-details] ON Artikel.[Artikel-Nr] = [Entnahme-details].[Artikel-Nr];
a) Aus Bestell-Anzahl und Entnommen-Anzahl braucht niemand einen Currency/Währungswert berechnen.
b) Aus Bestell-Anzahl und Entnommen-Anzahl kann niemand einen Lagerbestand berechnen. Das ist zwar die Differnenz zwischen Bestellt und Verbrauch, aber der Ist-Bestand fehlt
c) Durch den zweiten INNER JOIN erfasst Du nur Artikel, die sowohl bestellt wurden wie auch einen Abgang/Verbrauch haben. Diejenigen, die mit 2 Mio Stück bestellt wurden, aber noch nie verbraucht wurden gehen Dir durch die Lappen.
Wie gesagt, das kann so (fachlich) nicht richtig sein.
Es sei denn, Deine Felder enthalten etwas ganz anderes als der Feldname vorgibt.
Gruß
Biber