Combos

Hola de nuevo, sabes el programa funciona bien, pero hay algunos datos que se repite la primera letra como consalud y cigna, como hago para que al ingresar la siguiente letra todo el otro dato, y otra pregunta el keyascci 8 a que función corresponde, gracias

1 Respuesta

Respuesta
1
Bien la idea de la función consiste en teclear hasta la intentar que distinga las letras si quieres obtener cigna pulsa ci y si quieres obtener consalud pusa co y así si quisienras sacar consuegra pulsarías cons el keyascii = 8 es la tecla de borrado, si utilizas la función como t estoy indicando si borras una letra es necesario recuperar la cadena de búsqueda anterior a la pulsación de la ultima letra Saludos, si deseas que la función realice otra cosa dime exactamente que Saludos
Amigo sigo con el mismo problema, tengo el combo lleno desde el 00 al 10 seguidos de un nombre, cuando presiono 0 me aparcece 00, y cuando presiono 01 me aparece 10..
Acá esta el código como lo deje el que me mandaste, para el código del formulario hice lo siguiente:
Private Sub Cmb_EntidadSalud_Change()
LocalizaCombo Cmb_EntidadSalud, Cmb_EntidadSalud.Text
Cmb_EntidadSalud.SelStart = Len(sTestigo)
Cmb_EntidadSalud.SelLength = Len(Cmb_EntidadSalud.Text)
End Sub
Private Sub Cmb_EntidadSalud_KeyPress(KeyAscii As Integer)
If Cmb_EntidadSalud.Text <> "" Then
If KeyAscii = 8 Then
Cmb_EntidadSalud.Text = Mid(sTestigo, 1, Len(sTestigo) - 1)
End If
End If
End Sub
Y Cree un modulo y es el siguiente:
Public Sub LocalizaCombo(ByRef mYcmb As ComboBox, sTexto As String)
Dim icount As Integer
If mYcmb.ListCount > 0 Then
If sTexto <> "" Then
For icount = 0 To mYcmb.ListCount - 1
If UCase(mYcmb.List(icount)) Like UCase(sTexto) & "*" Then
mYcmb.ListIndex = icount
Exit For
End If
Next icount
Else
mYcmb.Text = ""
End If
End If
sTestigo = sTexto
Debug.Print sTestigo
End Sub
Ojalas me puedas ayudar de antemano muchas gracias
Bien al pasar el código que te mande te has olvidado de declarar la variable stestigo en tu modulo como publica el modulo debes dejarlo así.
Public sTestigo As String
Public Sub LocalizaCombo(ByRef mYcmb As ComboBox, sTexto As String)
Dim icount As Integer
If mYcmb.ListCount > 0 Then
If sTexto <> "" Then
For icount = 0 To mYcmb.ListCount - 1
If UCase(mYcmb.List(icount)) Like UCase(sTexto) & "*" Then
mYcmb.ListIndex = icount
Exit For
End If
Next icount
Else
mYcmb.Text = ""
End If
End If
sTestigo = sTexto
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas