Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: nordland am März 09, 2012, 11:15:06

Titel: Parameterabfrage mit einem Dialogfeld zur Mehrauswahl
Beitrag von: nordland am März 09, 2012, 11:15:06
Hallo zusammen,

ich habe in einer Tabelle folgende Felder: Tierarzt (als Text), Kleintier, Rind, Pferd (jeweils als Ja/Nein Box zum ankreuzen). Ein Tierarzt kann sowohl Pferde als auch Kleintiere betreuen. Nun möchte ich eine Parameterabfrage mit einer Mehrauswahl erstellen, wenn ich eben nach einem Tierarzt suchen möchte der z.B. Kleintiere und Pferde betreut. Die Tierarten sind fest vorgegeben und sind jeweils in einzelnen Feldern abgelegt. Gibt es eine Lösung dafür?

Vielen Dank!
Titel: Re: Parameterabfrage mit einem Dialogfeld zur Mehrauswahl
Beitrag von: Jonny am März 09, 2012, 12:15:57
Hallo,
es geht aber nicht elegant. Ich würde immer ein Formular machen.

Aber jetzt wie es unelegant geht.
Bei den Kriterien jeweil eine Eingabe anfordern [Eing Kleintier] [Eing Rind] [Eing Pferd] alle Felder als oder.
Beachten muss man dann das Ja = -1 ist.

Gruß

Johann
Titel: Re: Parameterabfrage mit einem Dialogfeld zur Mehrauswahl
Beitrag von: Beaker s.a. am März 09, 2012, 21:40:16
Hallo nordland,
Da die, hier sonst immer als erstes und zurecht nach Normalisierung rufenden, Regulars wohl heute keine Lust haben, versuche ich mal diese Rolle zu übernehmen.
Ja/Nein-Felder sind hier Mist, - damit kannst Du die Tiere(arten) ja nicht auseinander halten.
Lege eine Tabelle für die Tiere an! Auch wenn das jetzt nur drei sind, und vielleicht auch 10 Jahre die einzigen bleiben, verbaust Du dir mit Deiner Struktur jegliche einfache Erweiterung.
Die Ja/Nein Felder aus der Ärzte-Tabelle schmeisst Du raus. Dafür erstellst Du noch eine dritte Tabelle, mit einem PK (Autowert) und den beiden Fremdschlüsselfeldern aus Ärzte und Tiere. Damit ergibt sich die einfache Möglichkeit das ein Arzt 0-n Tiere betreuen kann, und ein Tier von 1-n Ärzten betreut werden.
Auf diese Tabelle setzt dann ein UFo im Ärzte-Hfo auf; verküpft über die ÄrzteID.
Dieses HFo kannst Du dann mit Hilfe einer oder zweier ungebundener Kombifelder auf die, die bestimmte (auszuwählende) Tiere betreuenden Ärzte filtern.
hth
gruss ekkehard

P.S. Wenn ich nacherher noch Lust habe, mache ich Dir mal ein kleines Beispiel.
Titel: Re: Parameterabfrage mit einem Dialogfeld zur Mehrauswahl
Beitrag von: Beaker s.a. am März 10, 2012, 00:36:27
Hallo nordland,
Hier eine kleine Beispiel-DB.
(Ziparchiv enthält sowohl .mdb als auch accdb)
Den Filter auf die Ärzte, die eine bestimmte Tierart betreuen habe ich da noch nicht drin,
die siehst Du aber im Tiere-Form. Vielleicht reicht Dir das ja schon.
Die Kombis habe ich mit der Absicht nicht standardmässig (ID-Spalte ausgeblendet) formatiert,
damit Du erstmal siehst, was da drin steht.
hth
gruss ingrid


[Anhang gelöscht durch Administrator]
Titel: Re: Parameterabfrage mit einem Dialogfeld zur Mehrauswahl
Beitrag von: nordland am März 12, 2012, 09:00:01
Hallo zusammen,
vielen Dank für Anregungen und Hinweise. Das ist eine super Idee, eine Tabelle für Tiere anzulegen. Ich muss nur noch meine Kollegen von dieser Idee überzeugen. Das mit den Ja/Nein Feldern ist halt übersichtlicher in einer Datenbank.

Herzlichen Dank!
Titel: Re: Parameterabfrage mit einem Dialogfeld zur Mehrauswahl
Beitrag von: Beaker s.a. am März 12, 2012, 20:49:24
Hallo nordland,
ZitatDas ist eine super Idee, eine Tabelle für Tiere anzulegen
Nö, das ist basic in Datenbanken (Stichwort: Normalisierung).
ZitatIch muss nur noch meine Kollegen von dieser Idee überzeugen
Dürfte nicht schwer sein, wenn Du Ihnen klar machst, dass Du z.B. jedesmal, wenn
da ein Tier dazu kommt,
1. die Tabellenstruktur erweitern musst,
2. das Formular anpassen musst,
3. wahrscheinlich jede Menge Abfragen anpassen musst,
und Du als nicht so geübt dafür (gefühlte) 3 Tage brauchst, an denen
sie nicht arbeiten können  ;)
ZitatDas mit den Ja/Nein Feldern ist halt übersichtlicher in einer Datenbank.
In einer Datenbank nicht, höchstens die Ansicht auf einem Form. Das bezweifele ich
allerdings auch, jedenfalls wenn es mehr werden. So eine Liste (UFo) ist doch schneller
überflogen, und würde sich bei Bedarf auch noch filtern lassen.
hth
gruss ekkehard