Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Kontrollkästchen sollen Kriterien vorgeben





Frage

Hallo zusammen Ich habe als Access-Neuling folgendes Problem und komme da nicht weiter. Ich habe eine Abfrage, die mir aus mehreren Tabellen eine Übersicht zusammenstellt, wo ich in der ersten Spalte die unterschiedlichen Sachnummern und in den weiteren Spalten die für verschiedene Produkte benötigten Mengen der jeweiligen Sachnummer stehen (falls die Sachnummer in einem Produkt nicht vorkommt, so ist das Feld leer). Ich habe mir nun ein Formular erstellt mit 6 verschiedenen Kontrollkästchen, von denen jedes für ein Produkt steht, und einem Unterformular, in dem die Liste dann ausgegeben wird. Nun soll man die Gleichteile und die jeweilige Menge zwischen den gewählten Produkten anzeigen lassen können. D.h.: Wenn Kästchen 2, 3 und 6 markiert sind, so soll dies als Kriterium in die Abfrage übergeben werden und die gemeinsamen Sachnummern sowie Mengen angezeigt werden. Ich hatte versucht, über das Kriterium Wenn([Formular]![Formular1]![Kontrollkästchen0]=TRUE;>0;Ist Nicht Null) , zu einem Ergebnis zu kommen. Jedoch gefällt Access der Ausdruck ">0" sowie "Ist Nicht Null" innerhalb der Wenn-Funktion nicht und außerdem werden die einzelnen Kriterien der Spalten mit und verknüpft, so dass es auch wieder falsch würde. Weiß hier jemand einen Rat?

Antwort 1 von HansN

Ich habe jetzt im Forum das folgende Thema gefunden: https://supportnet.de/listthread/1286215

Die von Teddy17 vorgeschlagene lösung würde auch bei meinem Problem helfen, indem ich sie um mehrere If-Anweisungen erweitere.

ZumTesten habe ich nun eine Tabelle erzeugt, mit den Feldnamen PLZ und Ort sowie ein Formular mit den ungebundenen Feldern SuchPLZ und SuchOrt und einem Button. Dem Button habe ich beim Clickereignis folgendes zugewiesen:
dim xsuche as string
xsuche = ""
if not isnull(SuchPLZ) and SuchPLZ <> 0 then
xsuche = "PLZ = " & SuchPLZ
endif
if not isnull(SuchOrt) and SuchOrt <> "" and SuchOrt <> " " then
if xsuche <> "" then
xsuche = xsuche & " and "
endif
xsuche = xsuche & " Ort = ´" & SuchOrt & "´"
endif
DoCmd.OpenForm "FrmÜbersicht", acNormal, , xsuche, acFormReadOnly

Desweiteren habe ich ein Formular namens FrmÜbersicht erstellt, das die Tabelle darstellen soll.

Nun ist es so, dass unabhängig davon, was ich in die Felder SuchPLZ und SuchOrt eingebe immer die gesamte Tabelle dargestellt wird.
Irgendwie scheint die Übergabe des Filters xsuche nicht zu funktionieren,
Ich hoffe, jemand kann mir weiterhelfen.

Antwort 2 von HansN

Kann mir hier wirklich niemand helfen???

Antwort 3 von Teddy7

Das müßte eigentlich funktionieren.
Gibt es die Felder PLZ und Ort denn wirklich in der Datenquelle von frmÜbersicht ?

Gruß
Teddy

Antwort 4 von HansN

Hallo Teddy7

Ja, die Felder in frmÜbersicht gibt es wirklich.

Allerdings sagt mir der Begriff Endlosformular nichts.
ich habe einfach ein Formular namens frmÜbersicht erstellt, das ein Unterformular beinhaltet, in dem die Abfrage mit den Feldern PLZ und Ort geöffnet wird.

Anfangs hatte ich einfach den Namen meiner Abfrage eingegeben, aber da hat er gemeckert, dass kein Formular dieses Namens existiert. Daher habe ich dann oben beschriebenes Formular mit Unterformular erstellt.

Antwort 5 von Teddy7

Also gibt´s die Felder NICHT in frmÜbersicht sondern in einem Unterformular von frmÜbersicht ????
//////
Ein Endlosformular zeigt mehrere Datensätze als Zeilen auf einen Bild. Das ist eine Einstellung im Formular.

Gruß
Teddy