Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Ocrim am November 20, 2014, 11:05:35

Titel: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: Ocrim am November 20, 2014, 11:05:35
Hallo Leute,

ich habe folgendes Problem.

In einem Endlosformular lasse ich mir alle Daten in einer Tabelle anzeigen. (Dazu habe ich eine Abfrage erstellt welche alle Daten in einer Tabelle ausgibt, da es ansonsten 7 Tabellen wären)

Im Kopfbereich des Formulares habe ich bereits für einige angezeigte Felder im Detailbereich ein Kombinationsfeld angelegt in das der Wert zum Filtern der Daten eingetragen/ausgewählt wird.
Ich lasse das Endlosformular so filtern , das ich entweder in 1 Kombinationsfeld oder 2 Kombinationsfeld usw. etwas eintrage und im Endlosformular nur noch die infrage kommenden Daten angezeigten werden.

Das funktioniert auch soweit, allerdings habe ich folgende Probleme:
1. Es werden nur Daten im Endlosformular angezeigt, wenn ALLE Felder ausgefüllt sind, d.h. wenn nur ein Feld leer ist wird der ganze Datensatz nicht angezeigt.
(Als nur ein Kombinationsfeld konfiguriert war, wurden noch alle Datensätze angezeigt.)
2. In den Kombinationsfeldern werden die Auswahloptionen doppelt angezeigt, Beispielsweise die Gerätenamen, wie kann ich das verhindern?


Brauche dringend Hilfe und hoffe ihr könnt mir behilflich sein.
Die Datenbank lässt sich leider nicht anhängen da sie größer als 300 kb ist :/

Bin Access Neuling und habe praktisch keine VBA Kenntnisse..

Danke schon mal, Gruß
Ocrim
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: MaggieMay am November 20, 2014, 11:43:17
Hallo,

zeige bitte den VBA-Code, den du zum Filtern einsetzt und zeige bitte den SQL-Code aus der Datensatzherkunft der Kombifelder.

PS:
Zitatda sie größer als 300 kb ist
Hast du die DB schon mal komprimiert vor dem Zippen?
Außerdem:
Eine Beispiel-DB sollte nur das nötigste enthalten, um das aktuelle Problem zeigen zu können, dazu ein paar anonymisierte Testdaten.
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: Ocrim am November 20, 2014, 12:21:28
Hab jetzt nur die nötigsten Abfragen und Formulare drin gelassen, sowie die Datenbank komprimiert.
Jetzt kann ichs hochladen  :)

Zitat von: MaggieMay am November 20, 2014, 11:43:17
zeige bitte den VBA-Code, den du zum Filtern einsetzt und zeige bitte den SQL-Code aus der Datensatzherkunft der Kombifelder.


Hab so gut wie kein VBA genutzt, hab das ganze nach folgendem Video aufgebaut:
http://www.youtube.com/watch?v=xq6pzJZqfRo
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: DF6GL am November 20, 2014, 13:03:55
Hallo,


schreibe bei allen Kriterien-Ausdrücken etwa solches:

Wie "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*" Oder [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] ist Null
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: Ocrim am November 20, 2014, 13:36:07
Zitat von: DF6GL am November 20, 2014, 13:03:55
schreibe bei allen Kriterien-Ausdrücken etwa solches:

Wie "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*" Oder [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] ist Null

Danke erstmal für die Hilfe :)

Hat zwar funktioniert aber immer noch nicht so wie ich es mir vorstelle.
Das Problem ist jetzt nämlich, dass man nicht mehr nur nach der Schranknummer Filtern kann. Man muss noch ein zweites Suchfeld ausfüllen, ansonsten bekommt man keine Ergebnisse. Das passiert nur bei der Schranknummer..

und noch eine Frage:
Wenn ich auf die Schaltfläche "Filter Löschen" klicke werden mir wieder die alten Ergebnisse angezeigt (also es fehlen viele Datensätze), was daran liegt die Schaltfläche die nicht "Null" in die Suchfelder schreibt. Wie könnte ich das lösen?

Das macht die Schaltfläche aktuell:
Private Sub cmdFilterLöschen_Click()

Me.cbxSucheService = ""
Me.cbxSucheAnwendungen = ""
Me.cbxSucheGeräte = ""
Me.cbxSucheIPAdresse = ""
Me.cbxSchrankNummer = ""
Me.Requery

End Sub

müsste "Null" sein und nicht ""



Ich lad auch nochmal die aktuelle Version hoch, damit das ganze etwas verständlicher ist  :P
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: MzKlMu am November 20, 2014, 13:51:42
Hallo,
Zitatmüsste "Null" sein und nicht ""
dann weise doch NULL zu.

Me.cbxSucheService = NULL
.
.
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: Ocrim am November 20, 2014, 14:05:49
Zitat von: MzKlMu am November 20, 2014, 13:51:42
Hallo,
Zitatmüsste "Null" sein und nicht ""
dann weise doch NULL zu.

Me.cbxSucheService = NULL
.
.


Wie bereits gesagt habe ich keine VBA Erfahrung und wusste nicht wie das geht, aber es hat jetzt geklappt :) Danke


Weiß jemand woran es liegt das man beim Filtern der Schranknummer noch ein Kombifeld aussuchen muss und das bei den anderen Feldern nicht zutrifft?
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: MaggieMay am November 20, 2014, 15:58:56
Zeig doch bitte mal den aktuellen Stand des SQL-Codes deiner Abfrage.
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: Ocrim am November 21, 2014, 09:14:15
Zitat von: MaggieMay am November 20, 2014, 15:58:56
Zeig doch bitte mal den aktuellen Stand des SQL-Codes deiner Abfrage.

SELECT tblSchrank.schSchrankNummerID, tblSchrank.schZuständigkeit, tblGeräte.gerGeräteNummerID, tblGeräte.gerGerät, tblGeräte.gerAnzNetzteil, tblGeräte.gerLeistungNetzteil, tblGeräte.gerGesamtGerät, tblService.serServiceVertragAuslauf, tblService.serServiceTag, tblAnwendungen.anwAnwendungen, tblNetzwerkkarte.netNetzwerkkarte, tblIpAdresse.ipaIpAdresse, tblIpAdresse.ipaNetzwerk
FROM tblSchrank LEFT JOIN ((((tblGeräte LEFT JOIN tblAnwendungen ON tblGeräte.gerGeräteNummerID = tblAnwendungen.anwGeräteNummerIDRef) LEFT JOIN tblNetzwerkkarte ON tblGeräte.gerGeräteNummerID = tblNetzwerkkarte.netGeräteNummerIDRef) LEFT JOIN tblService ON tblGeräte.gerGeräteNummerID = tblService.serGeräteNummerIDRef) LEFT JOIN tblIpAdresse ON tblNetzwerkkarte.netNetzwerkkarteID = tblIpAdresse.ipaNetzwerkkarteIDref) ON tblSchrank.schSchrankNummerID = tblGeräte.gerSchrankNummerIDRef
WHERE (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*")) OR (((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null)) OR (((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null)) OR (((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null)) OR (((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null)) OR (((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null)) OR (((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null)) OR (((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null)) OR (((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND ((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND ((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR (((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*") AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)) OR ((([Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheGeräte]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheService]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen]) Is Null) AND (([Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null))
ORDER BY tblSchrank.schSchrankNummerID, tblGeräte.gerGeräteNummerID, tblAnwendungen.anwAnwendungen;


Ist bisschen viel.. bevor ich das "oder" in die abfrage geschrieben habe war das vielleicht ein viertel so groß..
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: MaggieMay am November 21, 2014, 13:06:52
Upps, da hast du aber etwas gründlich missverstanden.  ???

So sollte das Kriterium aussehen:
WHERE (
((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*" OR [Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer] Is Null) AND
((tblGeräte.gerGerät) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*" OR [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] Is Null) AND
((tblService.serServiceTag) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheService] & "*" OR [Forms]![frmSuchformularNeu2]![cbxSucheService] Is Null) AND
((tblAnwendungen.anwAnwendungen) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] & "*" OR [Forms]![frmSuchformularNeu2]![cbxSucheAnwendungen] Is Null) AND
((tblIpAdresse.ipaIpAdresse) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse] & "*" OR [Forms]![frmSuchformularNeu2]![cbxSucheIPAdresse]) Is Null)
)

Wie viele Tage hast du gebraucht um den Code zu schreiben? :D
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: Ocrim am November 21, 2014, 13:26:40
Hab den Code nicht selbst geschrieben  :P

Hab in der Entwurfsansicht gearbeitet unter den Kriterien folgendes stehen:

Wie "*" & [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] & "*" Oder [Forms]![frmSuchformularNeu2]![cbxSucheGeräte] ist Null
(Das war das Kriterium unter dem Feld Gerät)

Der SQL-Code wird von Access dann automatisch erstellt...

Wenn ich deinen Code verwende kommt folgende Fehlermeldung:
"Unzulässige SQL-Anweisung: 'DELETE', 'INSERT,  'SELECT', 'PROCEDURE', oder 'UPDATE' erwartet."

Bin leider der absolute Access/Sql/VBA noob  :-\
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: Ocrim am November 24, 2014, 09:32:17
Niemand eine Idee?

Hab noch immer folgende Probleme:
1. Das erste Suchkriterium im Formular, wird einfach ignoriert. Bei allen anderen Kombinationsfeldern funktionierts so wie es soll.
2. In den Kombinationsfeldern werden die Auswahloptionen doppelt angezeigt, Beispielsweise die Gerätenamen, wie kann ich das verhindern?

Danke
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: DF6GL am November 24, 2014, 10:10:49
Hallo,

A) zur Fehlermeldung:  Es handelt sich beim Vorschlag von MaggieMay lediglich um die Where-Condition, nicht um den kompletten SQL-String ("Code") einer Abfrage.

Geh im Abfrageentwurf ins Fenster SQL-Ansicht und ersetz dort  die Where-Condition ..

1) Wie heißt das "erste Suchkriterium" (Kombifeld) ?

2) Vermutlich kommt ein ungenügendes Tabellenkonzept (nicht normalisierte Daten-/Tabellenstruktur) zum Vorschein. Wie lautet der SQL-String aus der Datensatzherkunft des Kombis?  Mit "select Distinct Feld1 from tbltabelle... könnte das zu lösen sein.
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: Ocrim am November 24, 2014, 10:37:10
ZitatA) zur Fehlermeldung:  Es handelt sich beim Vorschlag von MaggieMay lediglich um die Where-Condition, nicht um den kompletten SQL-String ("Code") einer Abfrage.

Danke jetzt funktioniert es, allerdings hat das nichts an der abfrage geändert, sie funktioniert noch genau wie vorher.

Zitat1) Wie heißt das "erste Suchkriterium" (Kombifeld) ?

Damit meine ich im Formular das Kombifeld "Suche Schrank", bei allen anderen taucht dieses Problem nicht auf.
Ich kann auswählen was ich will, doch es passiert einfach nichts...

Zitat2) Vermutlich kommt ein ungenügendes Tabellenkonzept (nicht normalisierte Daten-/Tabellenstruktur) zum Vorschein. Wie lautet der SQL-String aus der Datensatzherkunft des Kombis?  Mit "select Distinct Feld1 from tbltabelle... könnte das zu lösen sein.

Danke, mit dem distinct hat es geklappt :)
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: DF6GL am November 24, 2014, 10:41:35
Hallo,

ich finde "Suche Schrank" nicht in der Where-Condition....somit kann dieses Feld (und dessen Eintrag) auch nicht berücksichtigt werden.
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: Ocrim am November 24, 2014, 10:49:15
WHERE (
((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*" OR [Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer] Is Null)


Ist doch direkt am Anfang? Oder versteh ich wieder was falsch?
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: MaggieMay am November 24, 2014, 12:47:28
Hinweis:
Zitat von: DF6GL am November 24, 2014, 10:10:49Geh im Abfrageentwurf ins Fenster SQL-Ansicht und ersetz dort  die Where-Condition ..
...und gehe mit dieser Abfrage nicht mehr in den Entwurf zurück - nie mehr!
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: Ocrim am November 24, 2014, 13:10:03
Zitat von: MaggieMay am November 24, 2014, 12:47:28
Hinweis:
Zitat von: DF6GL am November 24, 2014, 10:10:49Geh im Abfrageentwurf ins Fenster SQL-Ansicht und ersetz dort  die Where-Condition ..
...und gehe mit dieser Abfrage nicht mehr in den Entwurf zurück - nie mehr!

Hab ich bereits getan, dennoch kann ich nicht nach dem ersten Kombifeld (cbxSchrankNummer) Filtern, was ich einfach nicht verstehe  :-\
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: DF6GL am November 24, 2014, 16:08:10
Hallo,

naja, für ein bisschen Verwirrung sorgst Du schon...

"Suche Schrank" ist doch nicht der Name des Suchfeldes, oder ??


und die unten rot gefärbten Namen sollten wohl gleichlautend sein....


WHERE (
((tblSchrank.schSchrankNummerID) Like "*" & [Forms]![frmSuchformularNeu2]![cbxSchrankNummer] & "*" OR [Forms]![frmSuchformularNeu2]![cbxSucheSchrankNummer] Is Null)
Titel: Re: Endlosformular mit mehreren Kombinationstfeldern filtern?
Beitrag von: Ocrim am November 25, 2014, 09:39:15
Daran lag es..

Und das schlimmste ist, dass ich sogar genau nach solchen Fehlern gesucht habe  ;D

Naja egal, vielen Dank nochmal an allen die mir weitergeholfen haben, läuft jetzt einwandfrei :)