Füllen einer KomboBox mit Werten aus einem Like Select?
PeterDoering
Gesendet: 14.08.21 16:50
Betreff: RE: Füllen einer KomboBox mit Werten aus einem Like Select?



Extreme Veteran

Beiträge: 527
50025
Hallo,

A350Pilot - 14.08.21 10:59
Private Sub cmdPhrase_Click()

With frm
Phrase = .txtPhrase.Value
.cboLvars.RowSource = ("SELECT * FROM tblLvars WHERE Sim = '" & Sim & "' AND Jet = '" & Jet & "' AND Lvar LIKE '" & Phrase & "' ORDER BY Lvar")

Die Klammern sind an der Stelle zwar nicht schädlich, aber unwirkstam, insofern kannst du sie weglassen. Rest siehe unten.

.cboLvars.SetFocus
mySendKeys "{F4}"

SendKeys sollte man nur in Ausnahmefällen benutzen, weil man nie sicher sein kann, dass das Anwendungsfenster gerade den Fokus hat, wenn die Eingabe ausgelöst wird. Die Kombobox kannst du besser mit

.cboLvars.Dropdown

öffnen.

[...]
Sim, Jet und Phrase sind belegt. Die Phrase ist mit "ENG" belegt, der Select jedoch gibt keine Daten im Listenfeld aus.
In der Tabelle gibt es aber z.B. eine Lvar mit Namen L:VC_PED_ENGINE_MASTER_SWITCH
Und darüber hinaus auch noch einige andere Lvars, die dieses Suchfragment enthalten.

Wenn Phrase "ENG" enthält, funktioniert LIKE wie =. Wenn du ...PED_ENGING_... finden willst, musst du Wildcards angeben: *ENG* entweder in Phrase oder im Statement:

...LIKE '*" & Phrase & "*' ORDER BY...

Falls Phrase auf einer Eingabe beruht: ich lasse den Benutzern immer die Wahl, ob sie genau oder mit Wildcard suchen wollen, d.h. sie können durch Eingabe von * oder ? die Suchergebnisse selbst beeinflussen.

-----
Gruss - Peter
Top of the page Bottom of the page