Wie muß die Bedingung aussehen?

Hallo,

ich habe eine Tabelle… in vier Feldern werden jeweils aus einer Tabelle Werte zugeordnet. Es ist nicht vorgeschrieben, in welchem der Felder welcher Wert zugeordnet wir, genausowenig wie die Reihenfolge:

Tabelle_Person:

… Unterzeichner1 … Unterzeichner2 … Unterzeichner3 … Unter…
… 0 … 1 … 2 … 0
… 1 … 0 … 0 … 0
… 1 … 2 … 3 … 0

jetzt habe ich ein Formular geschrieben, das vier Felder enthält. In diesen können die o.g. Werte ausgewählt werden um diese dann an eine Abfrage weiterzugeben.

d.h. im Formular_Drucken soll der Anwender wieder Werte auswählen können und dann ok drücken, woraufhin eine Liste erscheint, die nur die entsprechenden Datensätze anzeigt, in welchen beide werte vorkommen.

die Auswahl von nur einem zugeordneten wert klappt ja noch, aber sobald ich zwei werte im Druck-Formular auswähle, spuckt er zusätzlich noch die Datensätze aus, in welchen nur ein Wert vorkommt.

Ich bräuchte jetzt einfach mal einen logischen Ansatz, was ich denn falsch mache.

Meine Abfragebedingung ist derzeit für jedes der vier Felder:

[forms]![frm_Listendruck]![Unterzeichner1] Oder [forms]![frm_listendruck]![Unterzeichner2] Oder [forms]![frm_Listendruck]![Unterzeichner3] Oder [forms]![frm_listendruck]![unterzeichner4] Oder 0

Datenquelle der Abfrage ist meine tabelle_Person (wie oben beschrieben)

Gruß
Daniel Scholdei

Meine Abfragebedingung ist derzeit für jedes der vier Felder:

[forms]![frm_Listendruck]![Unterzeichner1] Oder
[forms]![frm_listendruck]![Unterzeichner2] Oder
[forms]![frm_Listendruck]![Unterzeichner3] Oder
[forms]![frm_listendruck]![unterzeichner4] Oder 0

Hallo,

wenn ich die Sache richtig verstehe, liegt der Fehler in Deinem Operator „Oder“. Ich denke der sollte „UND“ heißen, da ja mehere Bedingungen zu treffen müssen.
Poste mal, ob es das ist.

Gruß!

Hallo Falk,

[forms]![frm_Listendruck]![Unterzeichner1] Oder
[forms]![frm_listendruck]![Unterzeichner2] Oder
[forms]![frm_Listendruck]![Unterzeichner3] Oder
[forms]![frm_listendruck]![unterzeichner4] Oder 0

wenn ich die Sache richtig verstehe, liegt der Fehler in
Deinem Operator „Oder“. Ich denke der sollte „UND“ heißen, da
ja mehere Bedingungen zu treffen müssen.
Poste mal, ob es das ist.

ne nicht ganz. das problem ist, daß 4 Felder der Tabelle mit 4 Feldern des Auswahlformulars (für den späteren Bericht) verglichen werden müssen und nicht vorgeschrieben ist, was in jedem Feld zu stehen hat.

Also: in der Tabelle kann von Feld 1 - 4 jeweils der Wert 1 stehen und muß gefunden werden, egal in welchem Feld des Suchformulars er ausgewählt wird.

Also: Prüfung

frm_Listendruck.Unterz1

gegen

tbl_Person.Unterz1, tbl_Person.Unterz2, tbl_Person.Unterz3, tbl_Person.Unterz4

frm_Listendruck.Unterz2

gegen

usw.

Das macht die o.g. Bedingung von mir ja schon. Das Problem ist jetzt, daß die Bedingung (0 muß ja mit geprüft werden, da die Felder auch „leer“ sein können) auch ein wahr herauskommt, wenn im Formular Listendruck mehrere Listenfelder mit Wert vorhanden sind und in der Tabelle wenigstens einer davon steht. D.h. derzeit werden auch Datensätze geliefert, bei denen nur einer der beiden ausgewählten (frm_Listendruck) steht.

Also entweder ich habe den komplett falschen Ansatz, oder aber mir fehlt nur die Prüfung, ob beide (oder alle drei oder alle vier) Werte in der Tabelle.Datensatz vorhanden sind.

Hast du noch ne idee?

Gruß
Daniel Scholdei