September 26, 2020, 19:42:56

Neuigkeiten:

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


Abfrageergebnisse mit wie "*" filtern

Begonnen von ToBu, August 13, 2020, 13:24:59

⏪ vorheriges - nächstes ⏩

ToBu

Ich möchte in einem Textfeld eines Formulares nur ein paar Anfangsbuchstaben eines Autorennamens eingeben, damit alle Autorennamen einer Tabelle "Bücher" in deren Feld "AutorName" gelistet werden, die mit den Eingabewerten übereinstimmen. Kann mir jemand auf die Sprünge helfen?
Vielen Dank! Gruß Tobu
PS: Habe im Abfragefeld "AutorName" eingegeben: Wie "[NameAutor]*"
Funktioniert leider nicht!

crystal

Hallo ToBu,
die Antwort auf deine Frage ist so schrecklich einfach, dass sich bisher niemand "getraut" hat, darauf zu antworten...

Natürlich musst du deinen Datenfeldwert und das Sternchen grundsätzlich mit dem "&"-Zeichen verknüpfen, also
wie [NameAutor] & "*"
Ggf. musst du auch noch Anfügezeichen vor und hinter dem Wert einfügen, also
wie "'" & [NameAutor] & "*'"

Trotzdem einen Gruß,
crystal
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

ToBu

Vielen Dank für den einfachen Tip, crystal! Die 1. Version funktioniert bei mir, die 2. nicht!
Ja, wenn man des VBA nicht mächtig ist, dann stellt man wohl solche Lapidarfragen, um weiterzukommen, wie jetzt!
Aber schön, dass das bei access-o-mania möglich ist, ohne gleich den Kopf abgerissen zu bekommen!
Viele Grüße,
ToBu.

crystal

Hallo ToBu,
ja, selbst ich bekomme den Kopf nicht abgerissen, obwohl ich in diesem Forum mit meinen Antworten durchaus schon öfter harsche Kritik erhalten habe.

Vielleicht ist dir bei Variante 2 auch nur entgangen, dass da jeweils ein einfaches Anführungszeichen in den doppelten vorkommt. Richtiger könnte auch sein, da jeweils die doppelten Anführungszeichen einzufügen, was aber nur durch "seltsame", gewöhnungsbedürftige (aber absolut logische) Schreibung gelingt:
wie """" & [AutorName] & "*" & """"
oder
wie zeichen(34) & [AutorName] & "*" & zeichen(34)

Gruß,
crystal
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

ToBu

Damit kann ich wirklich nicht viel anfangen bei so viel Varianten, die alle möglich sein und funktionieren sollten! Leider kann ich den Button finde für "sag Danke" bzw. "Problem gelöst" nicht finden! Würde gerne mit der Nase drauf gestoßen werden, um beide abschließend drücken zu können!
Gruß ToBu.


Beaker s.a.

@ToBu
Wozu brauchts du diese Buttons, wenn du
ZitatDamit nicht wirklich nicht viel anfangen
kannst.
Dein Problem fängt ja schon viel früher an; - beim Datenmodell
Zitatdamit alle Autorennamen einer Tabelle "Bücher" in deren Feld "AutorName" gelistet werden
In die Tabelle Bücher gehört kein Autorenname sondern als Fremdschlüssel (FK) die ID des
Autors. Wenn du also nach Autoren filtern willst, sollte dein HauptFormular (HFo) auch die
Autorentabelle als Basis haben. Deren Bücher werden dann in einem UFo angezeigt/verwaltet.
Auf diesem HFo erstellst du ein ungebundenes Textfeld (txtAutorenFilter). Dessen Ereignis
"Nach Aktualisiereung" bekommt dann die folgende Ereignisprozedur
Private Sub txtAutorenFilter_AfterUpdate()
    Me.Filter = "AutorName LIKE '" & Me.txtAutorenFilter & "*'"
    Me.FilterOn = True
End Sub
Geht natürlich auch mit einem Button (Ereignis: Beim Klicken, gleicher Code mit angepasstem
Prozedurrumpf).
gruss ekkehard

P.S. Da Bücher auch mehrere Autoren haben können, und Autoren in den meisten Fällen wohl auch
mehrere Bücher schreiben, sollte die Beziehung zwischen diesen beiden Entitäten i.Ü. in einer n:m-
Tabelle abgebildet werden.
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.