Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: power99 am Dezember 01, 2019, 11:22:50

Titel: Meldung wenn: Lagerbestand <= Mindestbestand
Beitrag von: power99 am Dezember 01, 2019, 11:22:50
Hallo zusammen

Ich habe morgen Abgabe zur Bewertung und ein Fehler entdeckt, den ich nicht lösen konnte nach unzähligen Stunden.

In der Tabelle Produkt gibt es den Lagerbestand und den Mindestbestand (der nicht bei jedem Produkt gleich ist). Dabei soll Access eine Meldung generieren, sobald der Mindestbestand erreicht oder unterschritten wird. Wie muss ich dass machen? Ich erhalte immer Fehlermeldungen vermutlich weil beide in der gleichen Tabelle liegen. Habe es mit Wenn dann versucht und div. anderen Möglichkeiten, aber es funktioniert nicht.

Vielen Dank für die Hilfe!
Titel: Re: Meldung wenn: Lagerbestand <= Mindestbestand
Beitrag von: DF6GL am Dezember 01, 2019, 12:42:01
Hallo,
hast Du den "Fehler" nicht schon früher bemerken können? Eigentlich ist das ja keine Fehler, eher eine Unterlassung bei der DB-Erstellung.

ZitatWie muss ich dass machen

Berechne die Differenz von Lagerbestand und Mindestbestand in einer Abfrage und setze als Kriterium "<= 0"


ZitatDabei soll Access eine Meldung generieren, sobald der Mindestbestand erreicht oder unterschritten wird.

Durch welches Ereignis, bzw. zu welchem Zeitpunkt soll denn die Meldung und zu welchem Artikel erscheinen?

ZitatHabe es mit Wenn dann versucht und div. anderen Möglichkeiten,

"Wenn dann" ist eine der schlechtesten Möglichkeiten...  und was hast Du als "div. anderen Möglichkeiten" ausprobiert.?


Titel: Re: Meldung wenn: Lagerbestand <= Mindestbestand
Beitrag von: power99 am Dezember 01, 2019, 13:19:28
Hallo

Ja nein leider nicht. Das ist das erste Mal, dass wir mit Access arbeiten und ich habe es jetzt am Ende gesehen, dass dies so ja eigentlich nicht sein darf. Dann dachte ich könne das über die Option Gütligkeitsregel versuchen und habe dort verschiedenes ausprobiert. mit Wenn, Dann Funktion, aber auch ohne mit z.B. [Lagerbestand]>= [Meldebestand]
Bzw. im Feld Lagerbestand:>= [Meldebestand] eingegeben.
Das aber funktioniert offensichtlich nicht und da die Produkte unterschiedliche Meldebestände haben darf man nicht einfach >=20 eingeben, was funktionieren würde.

Die Meldung soll bei allen Produkten erscheinen, falls deren Lagerbestand unter den Meldebestand fällt oder genau erreicht. Das man weiss, dass nachbestellt werden muss.
Meldung z.B. "Nachbestellen!"

Nun ja...wenn ich das Problem noch lösen kann wäre das super, ansonsten ist es so wie es ist. Bin aber froh und dankbar, wenn mir jemand helfen kann!
Titel: Re: Meldung wenn: Lagerbestand <= Mindestbestand
Beitrag von: Peter_Richter am Dezember 01, 2019, 15:22:02
Weil in Access immer viele Wege nach Rom führen können, kann man die beste Variante idealerweise immer erst an der Datenbank selbst festlegen.

Du könntest beispielsweise ein zusätzliches Datenfeld "Nachbestellung" in Deine Datenbank anlegen und dann mit einer Aktualisierungsabfrage - z.B. qry_Nachbestellungen die komplette Tabelle auf Nachbestellungen prüfen und ein Filterkennzeichen mit der Abfrage in das Feld "Nachbestellungen" schreiben. Daraus könntest Du dann per Abfrage direkt eine Nachbestellungsliste erzeugen oder auch gleich als EXCEL-Tabelle exportieren.

Für den Start mehrere Abfragen und den EXCEL-Export würde man eventuell ein Makro (z.B. mak_Nachbestellungen anlegen, das dann durch Doppelklick oder mit DoCmd.RunMacro "mak_Nachbestellungen" aufgerufen werden kann.

Grüße aus Dieburg

Peter
Titel: Re: Meldung wenn: Lagerbestand <= Mindestbestand
Beitrag von: Josef P. am Dezember 01, 2019, 15:26:29
Hallo!

Eine Gültigkeitsregel ist zum Sicherstellen, dass nur passende Daten abgespeichert werden. Das hat nichts mit dem Auswerten von Daten zu tun.

Du könntest z. B. mit einer Abfrage alle Produkte ausgeben lassen, die nachbestellt werden müssen.

select .. from ... where Lagerbestand <= Meldebestand

Anm.:
Ich nehm das Datenmodell als gegeben an und geh nicht weiter darauf ein, dass Lagerbestand und Meldebestand in einer Tabelle stehen. (Ist vermutlich eine accessierte Exceltabelle. ;))

mfg
Josef
Titel: Re: Meldung wenn: Lagerbestand <= Mindestbestand
Beitrag von: power99 am Dezember 01, 2019, 17:22:44
Hallo zusammen

Vielen Dank für die Antworten. Das mit der Abfrage tönt noch logisch und interessant. Mal schauen ob ich das hinbekomme...wäre sicher eine elegante Lösung.

Ja das Problem ist eben, dass eigentlich auch kein Wert manuell eingegeben werden darf, der den Mindestbestand unterschreitet, das macht keinen Sinn, aber ich glaube das geht zu weit für unsere Anforderungen.

Nein, ich habe gar nichts mit Excel gemacht. Alles Access. Zuerst mussten wir ein ERD-Modell entwerfen, dann dieses Transformieren und umsetzen in Access. Einzig Print&Copy shop ist vorgegeben und natürlich div. Abfragen, Formulare und Berichte und es soll möglichst realitätsnah sein, soweit dies möglich ist für uns.

SQL Kenntnisse haben wir praktisch keine, insofern konnte ich im Internet gefundene Lösungen auch nicht ganz verstehehen und Makro geht sicher auch zu weit...

Ich versuche es ob ich das hinbringe mit der Abfrage (ohne Excel exportieren).

Vielen Dank! Marlies

Titel: Re: Meldung wenn: Lagerbestand <= Mindestbestand
Beitrag von: DF6GL am Dezember 01, 2019, 17:43:59
Hallo,


ausgehend von:
ZitatIn der Tabelle Produkt gibt es den Lagerbestand und den Mindestbestand (der nicht bei jedem Produkt gleich ist).





Öffne den Abfrageentwurf, füge die Tabelle "Produkt" hinzu und ziehe alle (oder nur die gewünschten) Tabellenfelder in die Abfragespalten. In einer zusätzlichen (leeren)  Spalte  wird eingetragen:

Feld :      RestBestand:  Lagerbestand-Mindestbestand

Kriterium:     <= 0


Die Abfrage zeigt den aktuellen Zustand aller Artikel in Bezug auf Gleichstand (0) oder Unterschreitung (kleiner 0) des Mindestbestandes in zahlenmäßiger Ansicht.

Je nachdem, was weiterhin passieren soll, kann das Kriterium auf Einschränkung eines oder einzelner Artikel oder auch zeitlicher Einschränkung erweitert werden.



Titel: Re: Meldung wenn: Lagerbestand <= Mindestbestand
Beitrag von: power99 am Dezember 01, 2019, 20:17:48
Danke vielmals!! Das hat geklappt. Kann man jetzt noch etwas machen, dass Access eine Meldung gibt, wenn ein Produkt jetzt eben unter den Meldebestand fällt?
Titel: Re: Meldung wenn: Lagerbestand <= Mindestbestand
Beitrag von: DF6GL am Dezember 02, 2019, 08:29:56
Hallo,

das hatte ich schon mal gefragt:
ZitatDurch welches Ereignis, bzw. zu welchem Zeitpunkt soll denn die Meldung und zu welchem Artikel erscheinen?

Das musst Du anhand des DB-Konzeptes wissen, wie, wann und wo das passieren soll.

Jedenfalls benötigst Du ein Ereignis, das den Code zum Anzeigen der MsgBox anstößt.

Das kann dann sein, wenn z. B. der Lagerbestand aktualisiert oder wenn ein Button gedrückt wird...

Ich würde den Lagerbestand einfach in einem  Steuerelement im Artikelformular anzeigen und mittels Bedingter Formatierung z. B. rot einfärben, wenn der Mindestbestand unterschritten, bzw. gelb, wenn der LB gleich dem MB ist.