Mai 09, 2021, 21:59:59

Neuigkeiten:

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


Filterabfrage - Probleme mit Feldbezeichnung

Begonnen von BikeArno, Februar 10, 2021, 16:44:49

⏪ vorheriges - nächstes ⏩

BikeArno

Februar 10, 2021, 16:44:49 Letzte Bearbeitung: Februar 10, 2021, 18:59:06 von BikeArno Grund: keine Antwort, evtl Missverständliche Fragestellung
Hallo,

ich versuche nun schon seit einer Weile mehrere Filterabfragen zu erstellen, auch in Zusammenhang mit einem Kombinationsfeld im Endlosformular. Bis auf einem Feld funktioniert das auch, nur eben bei einem bestimmten Feld nicht. Dieses hat in der Bezeichnung einen von Access automatisch bei einer Abfrage vergebenen Punkt, weil der Feldname (z.B. "Kundengruppe") in den der Abfrage zugrundeliegenden Tabellen 2mal vorhanden war. Der Code für den Filter sieht so aus:

If Len(Me!KombifeldBT.Value) Then strFilter = strFilter & " AND [tbl_Tabellenname.Kundegruppe] Like '" & Me!KombifeldBT.Value & "*'" 'Filter BL
Beim Durchführen des Filtervorgangs kommt die Fehlermeldung "Laufzeitfehler 3097: Das angegebene Feld [tbl_Tabellenname.Kundengruppe] kann sich auf mehr als eine der tabellen beziehen, die im From-Abschnitt der SQL-Anweisung angegeben werden."

Die Feldvariable Kundengruppe gibt es tatsächlich in zwei Tabellen, aber Access hat bei der zugrundeliegenden Abfrage die Feldnamen ja entsprechend (mit Punkt) umbenannt, deshalb verstehe ich grade das Problem nicht. Kann ich dieses umgehen, indem ich den Feldnamenbegriff in den eckigen Klammern anders einschließe?

PhilS

Eigentlich sollte das mit der eckigen Klammer so funktionieren.
Aber ich würde hier nicht lange herumprobieren, sondern besser diesen ungünstigen Spaltennamen durch einen Alias ersetzen.
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!

BikeArno

Zitat von: PhilS am Februar 10, 2021, 20:03:12Aber ich würde hier nicht lange herumprobieren, sondern besser diesen ungünstigen Spaltennamen durch einen Alias ersetzen.

Das war genau der "Baustein", den ich gesucht habe! Aliase sind die Rettung. Danke vielmals.

Noch eine kleine Frage, will aber kein neues Thema deswegen aufmachen:
Wie  muss man den Suchfilter per o.g. Code anpassen, wenn auch ein Teil (z.B. Teil einer Sortimentsnummer) gefunden werden soll? Wenn ich  also z.B. eine Nummer SN.002.012345 suche, finde ich derzeit keinen DS bei Eingabe von einem Teil der Nummer, da er offenbar von links kommend sucht. 

MzKlMu

Hallo.
Links auch noch ein Joker dazu.
.... Like '*" & Me!KombifeldBT.Value & "*'" 'Filter BL
Gruß
Klaus

BikeArno