Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Access 03: Lagerbestand automatisch berechnen funktioniert nicht

Frage Microsoft Microsoft Office

Mitglied: Habit-Breaker

Habit-Breaker (Level 1) - Jetzt verbinden

17.11.2006, aktualisiert 01.12.2006, 10625 Aufrufe, 6 Kommentare

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
Mitglied: bussi
27.11.2006 um 13:26 Uhr
Hallo,

Ändere mal den Feldnamen Anzahl. Anzahl ist eine fest definierte Funktion in Access.
Vielleicht kommt Access da etwas durcheinander.

mfg
Bitte warten ..
Mitglied: Habit-Breaker
27.11.2006 um 22:09 Uhr
Hallo,
Danke für diesen Ansatz, aber leider hatte ich die schon mal entnahmeanzahl, bestanzahl und lageranzahl oder so ähnlich genannt.

Trotzdem Danke
MFG
Christian
Bitte warten ..
Mitglied: Biber
27.11.2006 um 23:09 Uhr
Moin Habit-Brecher,

poste doch bitte mal das SQL-Statement Deiner Abfrage, so wie M$Access es Dir generiert hat.
Oder ist das ein manuell erstelltes?

Grüße
Biber
Bitte warten ..
Mitglied: Habit-Breaker
01.12.2006 um 08:54 Uhr
Moin,
Ich erstelle eine Abfrage in Tabellarischer Form, also hier das generierte SQL-Statement :

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];

Schon mal vielen Dank
MFG
Christian
Bitte warten ..
Mitglied: Biber
01.12.2006 um 09:17 Uhr
Mon Habit-Brecher,

das erscheint mir an drei Stellen nicht plausibel, was da drin steht:
01.
SELECT Artikel.[Artikel-Nr],  
02.
Bestelldetails.BestAnzahl,  
03.
[Entnahme-details].EntAnzahl,  
04.
CCur([Bestelldetails].[Bestanzahl]-[Entnahme-details].[Entanzahl]) AS Lagerbestand 
05.
FROM  
06.
(Artikel  
07.
INNER JOIN Bestelldetails ON Artikel.[Artikel-Nr] = Bestelldetails.[Artikel-Nr])  
08.
   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
Bitte warten ..
Mitglied: Habit-Breaker
01.12.2006 um 15:28 Uhr
Hallo Biber,

Dass das nicht richtig ist, dachte ich mir schon. Hab halt sonst nichts mit Access zu tun.

a) Aus Bestell-Anzahl und Entnommen-Anzahl braucht niemand einen Currency/Währungswert berechnen.

Achso, deshalb hatt ich da immer ein € symbol...

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

bestellt - verbraucht = Lagerbestand

Kam mir erstmal am logischsten vor, jedoch ist da halt erstmal ein start-Lagerbestand. Diesen wollte ich dann als erste Bestellung aufnehmen.
Etwas besseres ist mir nicht eingefallen.

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.

Nunja, das ist halt mein Problem. Bin für jeden Vorschlag offen und dankbar

Wie gesagt, das kann so (fachlich) nicht richtig sein.
Es sei denn, Deine Felder enthalten etwas ganz anderes als der Feldname vorgibt.


Dass das nicht richtig sein kann, dachte ich mir schon. Aber wie gesagt, ich hab sonst nichts mit Access zu tun.

Also die Felder enthalten das, wie sie benannt wurden.
[Entanzahl] = Entnommene Anzahl ;
[Bestanzahl] = Bestellte Anzahl

Ich danke für jeden Vorschlag zur Verbesserung

MFG
Christian
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...