Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Multi Select Abfrage

Begonnen von Ahnungsloser, Dezember 06, 2013, 08:47:08

⏪ vorheriges - nächstes ⏩

Ahnungsloser

Hallo liber Accessler...

ich habe es vor einer Zeit schon einmal versucht, konnte aber leider bis heute mein Problem trotz aller Hilfe nicht lösen... Also noch ein  Versuch...  :)

In meinem Formular soll es verschiedene Checkboxen (11) geben, nach welchen sich die Abfrage richten soll. Alle Werte sind in einer Excel Tabelle enthalten, welche mit der Datenbank verknüpft ist. Da sich alle Werte auf dieser Tabelle befinden, handelt es sichletztendlich nur um eine Art Filter. Wenn also z. B. Checkbox 1 ausgewählt sollen alle Datensätze angezeigt werden, die einen Wert (in Excel ist das Feld dann mit "X" markiert) sind. Wird allerdings CB1 und CB3 markiert, sollen NUR die Datensätze ausgewählt werden, bei welchen beide Werte in Excel mit "X" befüllt sind. Eine normale Abfrage scheint mit hier nicht möglich, da jede Kombinationsmöglichkeit abgedeckt werden müsste 11 CBs mit ja/nein gefüllt = 2^11 Möglichkeiten.

Hat jemand eine Idee??
Für jeden Tipp wäre ich sehr dankbar, stehe leider vollkommen auf dem Schlauch....

Lieben Gruß an alle!!!!!!!

DF6GL

Hallo,

vermutlich hat man auch erzählt, dass solche Konstellationen eher in einer rel. DB nicht gut behandelbar sind.

Zudem ist die Vorgabe unvollständig.  Sollen im genannten Beispiel die restlichen Felder lediglich nicht berücksichtigt werden (können ein "X" enthalten oder nicht)  oder dürfen die definitiv kein "X" besitzen?

Ahnungsloser

Hallo,

danke erstmal für die Antwort...

Wie die nicht durch die CBs ausgewählten Felder befüllt sind ist mir egal, sobald aber eine (mehrere) CB angeklickt wird, soll def. nach diesem (diesen) gefiltert werden. Die Komplexität ist mir ein Rätsel, da ich in der Excel Tabelle das Filtern ja problemlos laufen würde...

... leider muss ich aber eine Lösung für Acces finden...
:(

Ahnungsloser

Ich denke auch, dass die Titelwahl nicht ganz zutreffend ist, ich kann nur leider kaum mein Problem formulieren...  ???


Ahnungsloser

Ich hab es schon mal probiert, auf anhieb aber nicht hinbekommen.... auf jeden Fall aber ganz ganz lieben Dank für die Hilfe und all die Mühe!!

Ich wünsche ein schönes Wochenende!!!

Ahnungsloser

yuuuuhhhhuuuu..... vielen vielen Dank! Es hat geklappt...!!!
Ich bin begeistert, dass es Menschen wie sich gibt, die sich Zeit nehmen um unbekannten und unwissenden weiterhelfen!!


Wenn du nochmal kurz Zeit haben solltest, könntest du vlt. nochmal über diese zwei Fragen schauen:

Ist es möglich den ausgegebenn Wert -1 durch den tatsächlichen Wert der Exceltabelle zu ersetzten?

Ich habe weitere 4 CBs, die ausgewählt werden können- aber auf dasselbe Feld zurückgreifen (die Werte schließen sich also gegenseitig aus). Hier soll innerhalb der selben Abfrage jetzt bei Auswahl einer CB alle Datensätze bei denen das Feld entsprechenden Wert befüllt sind angezeigt werden- das ganze additiv (wenn also CB a und CB b ausgewählt sind, sollen alle zuvor gefilterten Datensätze angezeigt werden, wenn in dem Feld entweder der Wert aus CB a oder CB b steht)... Puuuhh... war das jetzt verständlich??? :/


Daaaaaannnkkeeeee!!!!!!

DF6GL

Hallo,


1)   der Wert in der Excel-Tabelle kann in diesem Bespiel immer nur das Zeichen "X" ( oder "x" )   sein.. , so, wie anfänglich beschrieben.  Wenn Du davon abweichst, ergibt sich eine andere und damit auf diese Art nicht lösbare Aufgabe.    Um die "X" anzuzeigen, ziehe alle Felder aus der Tabelle in jeweils eine Abfrageentwurfs-Spalte und entferne den "Anzeigen"- Haken bei den "Kriterienspalten". Dort siehst Du auch, dass immer der Feldwert mit "X" verglichen wird. (siehe oben).


2) das ist so auch  nicht verständlich, derweil das Ganze hier nur fragmentarisch bekannt und nur Trickserei ist und wie anfänglich gesagt, weit von einer relationalen DB-Struktur entfernt...Statt das Ganze in eine Abfrage  pressen zu wollen, wäre es vermutlich besser, diesen "Filter-Algorithmus" mittels VBA zu einem Where-Condition-String zusammenzubauen und diesen an eine Abfrage anzuhängen. 


Was ist denn  der eigentliche Hintergrund? Um was für Daten handelt es sich konkret bin den Feldern (Zellen)?   Vermutlich ist das ganze Konzept viel zu Excel-lastig (bzw. geht von falschen Voraussetzungen aus) und ist von/in Access nicht bedienbar.


Ahnungsloser

Mit deiner Vermutung hast du durchaus recht... Im Rahmen einer Datenbank mit vrs. Abfragen soll an dieser Stelle quasi einfach nur eine Excel- Tabelle widergegeben werden.  Ziel ist es eigentlich nur automatische Berichte erstellen zu können- ganz individuell durch Auswahl verschiedener Kriterien.
Grundlage ist hier also eine einzige Excel Tabelle! Durch deine Hilfe sind kann man jetzt schon mal nach nur 1 bis 7 Kriterien "filtern". Und dies beliebig. Für jedes Feld hat die Tabelle eine Spalte welche entweder nicht oder mit einem "X" befüllt ist.
Nun habe ich eine weitere Spalte XY in welcher entweder eine 1,2,3 oder 4 steht. Für jede Zahl gibt es eine CB. Wenn nun aber Kriterium 2 und 4 erfüllt sind (wie bei deinem Beispiel) sollen diese Datensätze angezeigt werden- für alle Datensätze in der XY=1 ist (wenn CB XY_1 angewählt) oder alle Datensätze für XY= 1 und 3 (Wenn CB XY_1 und CB XY_2 angewählt) usw... --> also ein "oder" Filter in Excel

Ich denke mittls VBA wäre alles leichter, aber leider sind meine VBA Kentnisse sehr begrenzt... Leider! Mittlerweile denke ich, ich sollte hier ein bisschen aufholen...  :-\


Ahnungsloser

ach und um die Frage noch zu beantworten.. Bei der Excel Tabelle handel es sich tatsächlich einfach nur um eine händisch eingetragene Tabelle, in welcher entsprechende "Change Anträge" eingetragen werden. Daten sind dabei z.B. Startdatum, Abschlussdatum, Art des Changes, Wichtigkeit (Priorität 1,2,3,4 <-- Frage), Abteilung, Verantwortlicher usw...
Die Abfrage könnte also einfach durch gesetzte Filer in Excel durchgeführt werden- wegen der individuellen Berichtsausgabe soll aber hier Access herhalten...  :o