PDA

Visualizza la versione completa : [VB] Combobox ricerca elementi caricati


max10
17-04-2002, 15:29
devo trammite combo inserendo un nominativo trovarlo all'interno della combo caricata dsa dB e sistemarlo nella combo.text


urgente vi prego devi consegnare il programma domani!!!!

Wild78
17-04-2002, 15:33
RICORDATI IL LINGUAGGIO (Sempre nel titolo) LA PROSSIMA VOLTA

max10
17-04-2002, 15:35
Cqm per VISUAL BASIC

Wild78
21-04-2002, 11:45
Hai risolto?

max10
22-04-2002, 08:14
No non ho sistemato.

Mi dai una mano?
:cry: :cry:

biifu
22-04-2002, 12:56
tipo riempimento automatico di explorer?

max10
22-04-2002, 13:23
si proprio come riempimeto automatico di explorer

come si fa?

zoran_mandic
22-04-2002, 14:12
Intanto, questo un problema gia affrontato, quindi la prossima volta prova a fare una ricerca prima tra le cose dette.
cmq.
Non difficile, anzi molto piu semplice di quanto tu possa credere.
Intanto devi sapere come visualizzare i valori di una combobox.

for x = 0 to ComboBox.ListCount -1
msgbox ComboBox.List(x)
next

in questo modo sfogli il contenuto della combo.
Una volta che sai prendere un singolo valore dalla combo, diciamo che il discorso fatto: prendo il contenuto che l'utente ha digitato e lo confronto con un singolo valore della combo box. Per fare ci utilizzo la funzione MID() e il controllo IF (guardati la funzione MID).

Nella variabile Utente salviamo il contenuto che l'utente ha dgt.
Per selezionare una voce nella ComboBox devi
"ComboBox.Selected(index) = true"

quindi il tutto diventa:

for x = 0 to ComboBox.ListCount -1
if mid(ComboBox.List(x),1,len(Utente)) = Utente then
ComboBox.Selected(x) = true
exit For
end if
next

biifu
22-04-2002, 14:21
Sub SearchInCombo(Combo1 As Control)
Dim col() As String
Dim cnt As Integer
Dim i As Integer

ctext = Combo1.Text
If ctext = "" Then Exit Sub

ReDim col(Combo1.ListCount)

For cnt = 0 To Combo1.ListCount - 1
col(cnt) = Combo1.List(cnt)
Next

ctextl = LCase(Combo1.Text)

curpos = Combo1.SelStart
clen = Len(ctext)

For cnt = 0 To UBound(col)
wit = col(cnt)
If LCase(wit) Like ctextl & "*" Then
With Combo1
.Text = .Text & Right(col(cnt), Len(col(cnt)) - clen)
For i = 0 To .ListCount - 1
If UCase(.List(i)) = UCase(.Text) Then .ListIndex = i
Next
.SelStart = curpos
.SelLength = Len(.Text)
End With
Exit Sub
End If
Next
End Sub

biifu
22-04-2002, 14:22
dimenticavo

sub combo1_change()
call searchincombo(combo1)
end sub

Loading