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?
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 (https://codekabinett.com/rdumps.php?Lang=1&targetDoc=sql-as-alias) ersetzen.
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 (https://codekabinett.com/rdumps.php?Lang=1&targetDoc=sql-as-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.
Hallo.
Links auch noch ein Joker dazu.
.... Like '*" & Me!KombifeldBT.Value & "*'" 'Filter BL
Zitat von: MzKlMu am Februar 11, 2021, 13:42:46Links auch noch ein Joker dazu.
Danke vielmals, wieder was gelernt :-)