Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Frank70 am August 25, 2020, 16:23:35

Titel: Filtern nach 2. Spalte im Kombifeld
Beitrag von: Frank70 am August 25, 2020, 16:23:35
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
Titel: Re: Filtern nach 2. Spalte im Kombifeld
Beitrag von: MzKlMu am August 25, 2020, 17:43:04
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.
Titel: Re: Filtern nach 2. Spalte im Kombifeld
Beitrag von: Frank70 am August 25, 2020, 21:44:29
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
Titel: Re: Filtern nach 2. Spalte im Kombifeld
Beitrag von: MzKlMu am August 25, 2020, 21:47:27
Hallo,
und was ist das Feld Me.Rahmen256 ?
Titel: Re: Filtern nach 2. Spalte im Kombifeld
Beitrag von: Frank70 am August 26, 2020, 15:41:18
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.

Titel: Re: Filtern nach 2. Spalte im Kombifeld
Beitrag von: PhilS am August 26, 2020, 19:12:40
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.
Titel: Re: Filtern nach 2. Spalte im Kombifeld
Beitrag von: Frank70 am September 15, 2020, 15:43:34
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??