Hi Marcel!
Hi Georg!
Ich hatte recht wenig Zeit, habe also ein paar Annahmen
getroffen und eine Beispiel-DB für dich erstellt.
WO? Wo? Wo? Wo? 
Um für zukünftige Änderungen gewappnet zu sein, ist es
sinnvoll, alles, was du hier als „Optionsfeld“ erstellen
würdest, gleich in eine eigene Tabelle auszulagern.
Ich habe auch schon gehört, dass man Filter als Tabelle „designen“ kann, aber schon beim Versuch, die Raumauswahl derart zu gestalten (Listenfeld mit Tabelle verknüpfen) scheitere ich. Das LF öffnet sich schlicht u ergreifend einfach nicht! Die Tabelle hat eine Spalte mit den Raumnummern als Werte.
D.h. ich würde folgende Tabellen erstellen:
Artikel
Standort
Artikelart
und aufgrund meiner Annahmen: Bestandsaenderung
Artikelstammdaten hab ich bereits. Dort sind alle DS gespeichert. Nr, Bezeichnung, Beschreibung, Bestand, Mindestbestand, Büromaterial (als boolean)
In der Artikeltabelle baust du nur einen „Verweis“ auf die
Artikelart und den Standort ein mit einer Spalte „id_artikel“
und „id_standort“. In der Artikel-, Standort- und
Artikelart-Tabelle gibt es jeweils eine Spalte „id“ vom Typ
zahl (oder noch besser bigint).
In der Artikel-Tabelle trägst Du in der Tabelle id_standort
dann immer nur die id aus der Standort-Tabelle ein und analog
in id_artikelart die id aus der Artikelart-Tabelle.
Auf dieselbe Art solltest Du vorgehen, wenn du wirklich
Warenein- und -ausgänge speichern willst.
Hatte ich eigentlich nicht vor - der Ist-Bestand reicht dem Chef - aber die Idee ist gar nicht so schlecht, da man so den Durchlauf bekommt…
Dafür am besten eine Tabelle „Bestandsaenderungen“ erzeugen,
mit den Spalten:
id zahl (numeric)
id_artikel bigint
bestandsaenderung numeric
datum datumzeit
aenderungsinfo text (varchar)
du kannst damit für jeden artikel alle aenderungen (ein- und
ausgänge) durch positive oder negative werte in der spalte
„bestandsaenderung“ darstellen ohne die artikel-tabelle
angreifen zu müssen.
in der artikel-tabelle würde ich nur eine spalte
„startbestand“ erzeugen, die den initialwert (z.b. der bei der
ersten inventur festgestellte) enthält.
der aktuelle bestand kann dann immer durch die berechnung
„startbestand“ + summe der bestandsänderungen des artikels
dargestellt werden.
formulare/abfragen:
du „befüllst“ formulare entweder mit tabelleninhalten oder
abfragen.
Mir schwebt ein Main-Sub-Form vor, in dem ich „oben“ den Filter setze und „unten“ (Subform als Tabelle) die Filterergebnisse anzeigen kann…
bei optionsfeldern benötigst du meist eine abfrage, weil du ja
nur 1 oder wenige spalteninformationen in solchen
optionsfeldern haben willst.
Begriffsklärung: Ein Optionsfeld ist doch dieser Kreis, mit oder ohne Punkt, meist verknüpft mit einem oder mehreren anderen O.feldern, oder?
Ich habe zwei davon im Formular, eins für Büromaterial, das andere (nicht anwählbar) für Geschäftsausstattung. Das obere ist mit dem Tabellenwert Büromaterial (1 oder 0) verknüpft (1 für an, 0 für aus), das andere zwar auch, aber umgekehrt. somit ist immer nur eins an und der Benutzer sieht sofort, zu welcher Gruppe der Artikel gehört.
für weitere details schick mir deine email-adresse, dann sende
[email protected]
ich schick dir in der Antwort mal mein Ergebnis, soweit bis dahin fertig… Rüberschauen und grinsen…!
ich dir meine test-datenbank, die bereits die tabellen und ein
paar abfragen, etc. enthält.
Ich bin schon sehr gespannt…!
lg
Georg
Bis bald und liebe Grüße aus Berlin,
Marcel