Inserimento dati in una ComboBox con controllo nomi uguali
In un modulo Bas inserire:
'*********************************************
'Questa routine serve per l'inserimento di dati
'in una ComboBox. Tra le altre cose utilizza la
'Function CheckDup, per controllare se vi sono
'inserimenti di parole uguali.
'*********************************************
Public Sub InsTestoCombo(cbo As ComboBox, KeyAscii As Integer, riga As Integer)
If KeyAscii = 13 Then
If riga = -1 Then
If cbo.Text <> "" Then
If CheckDup(cbo.Text, cbo) = False Then
cbo.AddItem cbo.Text
cbo.Text = ""
End If
End If
Else
If cbo.Text = "" Then
cbo.RemoveItem (riga)
Else
cbo.List(riga) = cbo.Text
End If
riga = -1
End If
End If
End Sub
'*********************************************
'Funzione per verificare di non caricare eventuali nomi
'duplicati in un combobox
'MyValue = Nome o valore inserito nella ComboBox
'MyCombo = la ComboBox dove si sta effettuando
' l'inserimento
'*********************************************
Function CheckDup(MyValue As Variant, MyCombo As ComboBox) As Boolean
Dim i As Integer
For i = 0 To MyCombo.ListCount - 1
If UCase(MyCombo.List(i)) = UCase(MyValue) Then
CheckDup = True
Exit Function
End If
Next i
CheckDup = False
End Function
Nel Form inserire una ComboBox ed il seguente codice:
Option Explicit
Dim riga as integer
Private Sub Combo1_Click()
riga = Combo1.ListIndex
End Sub
Private Sub Combo1_KeyPress(keyascii As Integer)
InsTestoCombo Combo1, keyascii, riga
End Sub
Testato su: Tutti i Sistemi operativi