September 26, 2020, 20:21:39

Neuigkeiten:

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


Filtern nach 2. Spalte im Kombifeld

Begonnen von Frank70, August 25, 2020, 16:23:35

⏪ vorheriges - nächstes ⏩

Frank70

August 25, 2020, 16:23:35 Letzte Bearbeitung: September 15, 2020, 15:44:20 von Frank70
Hallo,

zuerst mal großes Lob an das Forum, ich konnte mir schon sehr oft selber weiterhelfen mit Hilfe des Forums.
Aber nun zu meinem Problem, bei dem ich anscheinend ein Brett vorm Kopf habe.
Ich muss dabei sagen, ich bin blutiger Anfänger.

Ich habe in einem Formular ein Kombinationsfeld, in dem die 1. Spalte gebunden ist.

Jetzt möchte ich die Datensätze im Formular aber aufgrund der 2. Spalte filtern.
Da komme ich nicht weiter.

Hier mal meine Programmzeilen :

            Select Case Me.Rahmen256
                Case 1
                    FFilter = FFilter & "[FertigmeldungAnKunde] is Null AND [Auftragstypid].Column(1) like '*A*' AND "       
                    Me!txtZustProjekte = "laufende Aufträge"
                Case 2
                    FFilter = FFilter & "[FertigmeldungAnKundeTG] is Null AND ([Auftragstypid] = 3 AND "
                    Me!txtZustProjekte = "laufende Aufträge"
            End Select

Über das "[Auftragstypid].Column(1)" stolpert Access
der Case 2 Zweig funktioniert

Hoffe jemand hat eine Idee...

Gruß Frank

MzKlMu

August 25, 2020, 17:43:04 #1 Letzte Bearbeitung: August 25, 2020, 17:49:55 von MzKlMu
Hallo,
da läuft aber einiges gewaltig schief.
Zitat von: undefinedIch habe in einem Formular, in dem die 1. Spalte gebunden ist.
In einem Formular sind alle Spalten gebunden. Bei einem Formular gibt es keine "1. gebunden Spalte", das ist die Eigenschaft eines Kombinationsfeldes.
Du verwendest die Eigenschaft Column was auch die Eigenschaft eines Kombinationsfeldes ist.
Von einem Kombinationsfeld ist hier aber nichts zu sehen.
Rahmen256 passt aber zu einer Optionsgruppe, von der auch keine Rede war.

Schließlich ist auch Deine Filterüberlegung falsch, gefiltert wird mit einem Kombifeld über die ID und nicht über den Klartext. Wenn über die ID gefiltert wird, sind automatisch auch die anderen Spalten eines Kombinationsfeldes bekannt und müssen nicht extra ermittelt werden.

Erkläre das ganze Vorhaben mal etwas genauer.
Und zeige mal ein Bild des Beziehungsfensters, damit man eine Vorstellung hat über das Datenmodell.
Gruß
Klaus

Frank70

Hallo Klaus,

danke für deine Antwort.
Den einleitenden Satz habe ich korrigiert. Ich meinte natürlich ein Kombifeld.

Der Rest vom Code funzt soweit auch...
Wenn ich nach der ID Filter, dann funktioniert alles.

Aber ich müsste einmal nach ID 1-3 filtern, das andere Mal nach allen IDs außer die 3.

Da ich das etwas unschön finde, wollte ich nach der Spalte 1 filtern.

Enthält "A" oder enthält "G" oder "T"

Gruß Frank

MzKlMu

Hallo,
und was ist das Feld Me.Rahmen256 ?
Gruß
Klaus

Frank70

Hallo,

der Rahmen256 beinhaltet 2 Radio Buttons, die die Suche beeinflussen.#
Wie gesagt, das funktioniert alles soweit, wie im Case 2 Fall,

wenn ich im Case 1 eingebe

 [Auftragstypid] > 0 AND [Auftragstypid] < 4

dann funktioniert die Abfrage.

Allerdings finde ich die Abfrage unschön und zweitens, wenn in der Tabelle weitere Eintragungen gemacht werden, kann ich nicht mehr nach IDs suchen, weil ich die Suchabfrage dann immer ändern müsste.


PhilS

Zitat von: Frank70 am August 25, 2020, 16:23:35Ich habe in einem Formular ein Kombinationsfeld, in dem die 1. Spalte gebunden ist.
Jetzt möchte ich die Datensätze im Formular aber aufgrund der 2. Spalte filtern.
[...]
                    FFilter = FFilter & "[FertigmeldungAnKunde] is Null AND [Auftragstypid].Column(1) like '*A*' AND "       
Das geht so nicht. Du kannst dich in SQL-Statements und Filtern nur auf Spalten der Tabellen/Abfragen beziehen und ausschließlich auf die Value-Property von Steuerelementen.

Du solltest die Tabelle, die die Texte zu Auftragstypid enthält mit in die Abfrage einbeziehen und darüber filtern.
Völlig logisch ist der Filter für mich aber noch nicht. Warum vergleichst du Teilinhalte der Spalte aus der Combobox mit LIKE? - Ich vermute, dir fehlt eine AuftragstypGruppe in deinem Datenmodell.
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

Frank70

Hallo,

danke für eure Hilfe.
Ich habe die Tabelle Auftragstyp mit in die Abfrage einbezogen und konnte das Problem so lösen.

Danke nochmal und viele Grüße
Frank

ps. wo finde ich den "Thema gelöst" Button??