Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Nur gleiche Werte zulassen?





Frage

Hallo zusammen! In meiner Datenbank befinden sich zwei Tabellen, eine für Eingang und eine für Verbrauch. In beiden Tabellen befinden sich die Spalten Chemikalienname, Datum, Menge, Einheit, Name und Raumnummer! Ich möchte nun, dass ich einen Chemikalienverbrauch nur dann eingeben kann, wenn eine Eingangsmenge vorhanden und die Einheit und die Raumnummer gleich der Tabelle Eingang ist. Ich danke Euch für Eure Hilfe! the dude

Antwort 1 von Huutsch

Mach doch eine Combobox, wo nur die vorhandenen Chemikalien aufgelistet sind und nur die kanner auswählen, dann muß man diese Angaben auch nicht mehr prüfen.
Anschließend mußt Du nur noch die eingegebene Menge vergleichen, damit man nicht mehr "verbraucht", als vorhanden ist.

Antwort 2 von 14071

ich würde alles gemeinsam in einer Tabelle Bestand verwalten. Zugang und Abgang entsprechend buchen. Über Gruppensumme kann damit der Bestand berechnet und verhindert werden, daß der Bestand ins Minus geht. Außerdem läßt sich so leicht feststellen, wann nachbestellt werden muß.

Gruß
Jürgen

Antwort 3 von oliverV

Hallo the Dude,

ich sehe, du hast deine DB in den letzten Tagen noch mal überdacht, meiner Ansicht nach aber noch nicht komplett.
Von mir ein Vorschlag, den Jürgen in der Zwischenzeit in Kurzform gepostet hat.

Du dürftest mit deinen 2 Tabellen „Eingang“ und „Verbrauch“(Ausgang) nicht hinkommen. Du willst eine Verbrauchseingabe nur zulassen, wenn ein Eingang in mindestens der Höhe stattgefunden hat.
Beispiel: Eingang 20 Einheiten, 1. Verbrauch 15 Einheiten, 2. Verbrauch 18 Einheiten – lt. deiner Definition sein beide Verbrauchseingaben zulässig, was aber nicht korrekt ist, da du bei 13 Einheiten ins Leere greifen wirst.
Beispiel: 1. Eingang 20 Einheiten, 2. Eingang 20 Einheiten, Verbrauch 30 Einheiten – lt. deiner Definition nicht zulässig, da Verbrauchsmenge die Eingangsmenge von 20 übersteigt – tatsächlich hast du aber noch 10 Einheiten im Raum (Lager).

Als Lösungsansatz erstelle folgende Tabellen:
„Chemikalien“ (Stammdaten)
„Räume“ (Stammdaten) gleichbedeutend mit Lagerplatz
„Lagerbewegungen“ – mit den Feldern „Chemikalie“ „Raum“ „Eingang“ „Ausgang (Verbrauch)“ „Datum“ (für die Lagerbewegung), wenn du möchtest noch „Bemerkung“.

Erstelle ein Formular „Eingang“
Basis hierfür ist die Tabelle „Lagerbewegungen“, mit den Feldern „Datum“, „Chemikalie“ (als Kombi-Feld mit der Datensatzherkunft aus der Tabelle „Chemikalien“), dem Feld „Raum“ (als Kombi-Feld mit der Datensatzherkunft aus der Tabelle „Räume“), dem Feld „Eingangsmenge“

Erstelle ein Formular „Ausgang“ (Verbrauch)
Basis „Lagerbewegungen“, mit dem Feld „Datum“, „Chemikalien“(Kombi-Feld), „Raum“ als Kombi-Feld abhängig von der Auswahl im Feld „Chemikalien“ und der vorhandenen Menge im Raum (Summe Eingang – Summe Ausgang = größer 0), dem Feld „Ausgangsmenge“ in dem du die Eingabe überprüfst ob die vorhandene Menge nicht überschritten wurde und eine solche Eingabe ggf. nicht zulässt.

Unterschiedliche Mengeneinheiten habe ich hierbei nicht berücksichtigt, du solltest auch pro Chemikalie nur eine Mengeneinheit zulassen, bei verschiedenen Chemikalien kannst du unterschiedliche Einheiten verwenden, die du in den Stammdaten der Chemikalie speicherst, sodass der Bestand H2O in Liter und der Bestand von hdsfgsd in Gramm geführt wird.

Im Vorfeld sicherlich einige Arbeit, aber du wirst bei deinem Ansatz die DB in kurzer Zeit total umkrempeln müssen.

Gruß
oliver