Filtro de datos en listbox

Para el Sr. Dante Amor.

Saludos

Para la búsqueda de un empleado en una base de datos se utiliza un textbox que al escribir el nombre del empleado me filtre los mismos en un listbox y al darle click en uno de ellos me rellene los demás textbox correspondientes con sus respectivos datos. Ahora bien, si al momento de escribir en el textbox el nombre del empleado no se localiza en el listbox que podría hacer para que me envié un mensaje "El empleado no existe, debes registrarlo" y automáticamente me permita llenar los campos necesarios para el registro.

1 respuesta

Respuesta
2

Podría ser algo así

Private Sub NOMBRES_APELLIDOS_Change()
'Buscar por nombre
    Dim p, i
    Set p = Sheets("PERSONAL")
    If Trim(NOMBRES_APELLIDOS.Value) = "" Then
        LIST_NOMBRES.Visible = False
        Exit Sub
    End If
    LIST_NOMBRES.clear
    CEDULA_CODIGO = ""
    CARGO = ""
    EMPRESA = ""
    TELEFONO = ""
    EMAIL = ""
    FECHA_CONTRATACION = ""
    FOTO.Picture = LoadPicture("")
    '
    For i = 9 To p.Range("A" & Rows.Count).End(xlUp).Row
        If LCase(p.Cells(i, "A")) Like LCase(NOMBRES_APELLIDOS) & "*" Then
            LIST_NOMBRES.AddItem p.Cells(i, "A")
            LIST_NOMBRES.List(LIST_NOMBRES.ListCount - 1, 1) = i
        End If
    Next
    If LIST_NOMBRES.ListCount = 0 Then
        MsgBox "El empleado no existe, debes registrarlo"
        CEDULA_CODIGO.SetFocus
    Else
        LIST_NOMBRES.Visible = True
    End If
End Sub

El detalle es que si escribes 2 letras y no lo encuentra, te va enviar el mesaje.

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Hola hola... ¡Gracias! 

Voy a colocar el código, cualquier duda te aviso.

Dios te bendiga.

Sr amor y hay algún código que busque el nombre al principio, mitad o al final de una palabra???  Me refiero a que si escribo la letra "P" en el textbox me filtre por nombre y apellido, Luis Peña por ejemplo.

Que pena Sr. Amor, el código funciona pero cuando quiero registrar el nuevo empleado me muestra el mensaje por cada letra que escribo. La intención es que si no lo consigue finalice la instrucción y me permita registrar el nuevo nombre.

Entonces tienes que quitarlo del evento del textbox y pasarlo a un botón.

Revisa qué tan automático lo quieres o cómo quieres la búsqueda.

Ya que definas lo que quieres, me lo explicas con ejemplos en una nueva pregunta.

Perfecto! deja que organice mis ideas y estaría redactando una nueva pregunta....

PD. Yo hice una pregunta referente a localizar el valor máximo y mínimo de una columna y restar ambos. Podrías revisarla para que ver si me puedes ayudar con eso.

Gracias!!

Casi todo es posible, pero tienes que definir qué datos entran y qué esperas como salida.

En cuanto a lo de max y min, envíame tu archivo porque no es claro cómo quieres el resultado. Entiendo que quieres el máximo y el mínimo de una lista para hacer una resta, eso me queda claro, lo que no te entiendo es dónde está esa lista y en dónde quieres el resultado. Recuerda poner tu nombre de usuario en el asunto del correo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas