Hallo
Ich habe einige Probleme mit einem Access-Projekt. Es geht um ein Projektmanagement. Dabei soll es für jedes Projekt eine eigene Datenbank geben. Die Datenbank enthällt drei Tabellen:
Tabelle ‚Schubladen‘ enthällt Personen oder Institutionen, mit denen bezüglich des Projekts Zusammenarbeit erfolgt.
Tabelle ‚Informationen‘ enthällt Umstände oder Merkmale, die mit verschiedenen Personen abgesprochen werden müssen.
Tabelle ‚Zuordnung‘ verknüpft die ersten beiden Tabellen und enthällt einen Kommentar, wie Information und Schublade in Bezug stehen.
Die Tabellen Schubladen und Informationen haben je eine Autoincrement-ID als Primärschlüssel, über diese IDs sind sie 1:n mit der Zuordnungstabelle verknüpft. Tabelle Zuordnung hat einen kombinierten Primärschlüssel aus den beiden IDs, um doppelte Zuordnungen zu verhindern (jede Information jeder Schublade nur einmal zugeordnet).
Die Schubladen-ID in der Zuordnungstabelle ist dabei ein zweispaltiges Kombinationsfeld und zeigt neben der Id noch den Schubladennamen an. Durch 0-Breite ist die ID unsichtbar gemacht.
Zur Verwendung existiert ein Formular mit den Informationen-Daten (1 Datensatz pro Seite) und den Zuordnung-Daten (Informations-ID ausgenommen) als Unterformular. So können die Informationen durchgeblättert werden, jeder Information können Schubladen mit Kommentar zugeordnet werden.
Problem 1: Nun kann durch den Primärschlüssel jeder Information jede Schublade nur einmal zugeordnet werden, aber im Schubladen-Dropdownfeld sind immer alle Schubladen zu sehen. Es sollen aber die bei dieser Information schon verwendeten Schubladen ausgeblendet werden.
Problem 2: Wenn ich mit Visual Basic ein Dropdownfeld dieses Formulars auslese, erhalte ich nicht den Schubladenname, sondern die Schubladen-Id. Um an den Name zu kommen, müsste ich eine Abfrage
SELECT name FROM Schubladen WHERE id=1
oder so durchführen. Wie geht das mit Visual Basic?
Problem 3: Einen Bericht kann ich mit
DoCmd.OpenReport Berichtsname, acViewPreview, , Filterbedingung
gefiltert öffnen. Bei DoCmd.OpenQuery fehlt das Argument für eine Filterbedingung. Wie kann ich eine Abfrage dennoch gefiltert öffnen?
Danke im Vorraus, ich hoffe ihr wisst weiter
Johannes Matschke