Base: Kaskadierendes Filtern

Liebe Community,

ich habe mich erst vor kurzem in Base eingearbeitet und bin durch verschiedenene Hinweise/Tutorials bei meinem Projekt auch schon recht weit gekommen (nach meinen Maßstäben).
Aber ich komme bei einem Teil nicht weiter, vielleicht gehe ich das aber auch vom Konzept her schon falsch an:

Ich möchte ein Lagersystem für Laborproben verwalten, habe Container mit Racks, in denen Boxen stehen, die von A01 bis J10 Probenfächer haben. Im Moment habe ich eine lange Tabelle mit den einzelnen Zuordungen Container_ID/Integer(01-10), Rack_ID(01-10)/Integer, Box_ID/Integer(01-10), Reihe_ID/String(A-J), Spalte_ID/Integer(01-10) und auch ersatzhalber eine unique ID für jeden Platz aus den zusammengefügten IDs, z.B. 010203A04, erstellt.
Mein Wunschansatz wäre, in einem Formular kaskadierend erst nach Containernummer, dann nach Racknummer, usw. bis evtl. ‘Reihe’ filtern zu lassen (PullDown-Reihen oder RadioButton-Array), so dass eine letzte Tabelle mit 10 Spalten bleibt, deren Inhalt bequem einzutragen wäre.
Ginge sowas mit den Elementen des Designer-Modus bei den Formularen? Oder muss ich in den sauren und riesigen Apfel von Makros beißen (von denen ich noch nicht mal eine Ahnung habe, wie und wo ich sie einsetzen soll). Oder habe ich schon eine elegantere/passendere Weise übersehen, so eine ergebnisabhängige Filterfolge anders anzugehen?

Es wäre sehr freundlich, wenn ihr mich zumindest in die erfolgversprechenste Richtung schubsen könntet, was ich mir in den Handbüchern mal genauer ansehen sollte.

vielen Dank schon mal für gedankliche Anregungen

Mathias
mathias@kaddea.de falls die Antworten zwischendurch hier nicht hinpassen (der Lösungsansatz erscheint natürlich wieder hier!!)

P.S. spätere Auswertungen über Zahl unbelegter Plätze, Plätze mit gleichartigem Inhalt usw. sollten sich ja über Berichte machen lassen (habe ich mir noch nicht genauer angeschaut).

Hallo Mathias,

Filterungen wirken nur auf den Inhalt eines entsprechenden Formulars, nicht auf die Spaltenanzahl des anzuzeigenden Tabellenkontrollfeldes. Die Konstruktion, die Dir vorschwebt, scheint mir auf einer ungünstigen Tabellenkombination zu beruhen.

Für Deine Tabelle: Das erste Feld wäre “ContainerID”, das zweite Feld wäre “RackID”, das dritte Feld wäre “BoxID”, das vierte Feld wäre “FachID” und das fünfte Feld schließlich “Fach” als ein varchar-Feld, in dem der Inhalt beschrieben wird. Der Primärschlüssel wird aus “ContainerID”, “RackID”, “BoxID” und “FachID” zusammen gebildet. Alle diese Felder sind gleichzeitig Fremdschlüssel für die separaten Tabellen “Container”, “Rack”, “Box” und “Fach”. So etwas kann dann auch ohne Zuhilfenahme von Makros gefiltert werden. Dann siehst Du z.B. nur die Inhalte für einen “Container” oder/und einen Rack usw.

Du könntest mir das Beispiel auch gerne per Mail zuschicken.

Gruß

Robert

Hust … habe irgendwie auf meine Frage geantwortet anstatt einen Kommentar an Deine Antwort anzuhängen … also siehe unten :slight_smile:

Hallo Robert,

ich habe mich an einem Beispiel im OpenOffice-Forum orientiert und das Filtern über Unterformulare übernommen. Wie da auch erwähnt, kann man dann ein ‘Table Control’-Feld mit Inhalt füllen, aber leider nicht über ‘List Boxes’ aus einer anderen Tabelle. Ich hätte dabei gern Einträge aus verlinkten Tabellen per ‘Drop Down’-Menüs eingefügt, aber das klappt endweder nicht, oder (in der ListBoxFilterVersion aus dem Forum) klappt nur für Neueinträge und nicht für Änderungen. Ich habe es jetzt vorübergehend so gelöst, dass ich die Zuordnungen Namen–>IDs der Fremdtabellen im Eintragsformular aufliste, und die IDs dann für jedes Fach per Hand eingetragen werden. Ich denke, dass dann in den Abfragen die Zuordnung ID–>Name passt.

Danke für deine Antwort, ich versuche das mal nach Deinem Vorschlag zu implementieren.

Ich hänge den gesamten Aufbau einfach mal hier an und Du wirst bestimmt noch ein paar Fehler finden :wink:
UPDATE: zuwenig Punkte für’s Hochladen. Ich sehe hier auch keine Möglichkeit einer PN, also schickst du mir bitte deine Email-Adresse an mathias@kaddea.de?

Mathias