Vincular formulario

Hola estimado maestro quisiera preguntarle si tiene algún ejemplo de vinculación de un usemform a una base de datos en excel para consultas por ejemplo dígito un código y que me aparezca rut y nombre
Atentamente

1 respuesta

Respuesta
1
OK. Ademas de un TextBox donde ingreses el código, necesitarás un par de etiquetas (labels) en tu userform, donde se mostrarán los datos que solicitas, supuesto -claro está- que tal código exista.
Voy a suponer que tu base de datos está en un rango que definiste como "BD_PERSONAL" (ya sabes: "Insertar" | "Nombre" | "Definir"...)
En tal base, la primera columna corresponderá al código, la segunda al nombre y la tercera al RUT. En caso de que estos dos últimos datos estuviesen en otra columna, habrá que modificar la función VLOOKUP incluida en el código que, a continuación te transcribo.
En el editor de visual basic ingresa para tu formulario el siguiente código:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
codigo = Val(TextBox1.Value)
On Error Resume Next
Nombre = Application.WorksheetFunction.VLookup(codigo, Range("BD_PERSONAL"), 2, 0)
If Err.Number <> 0 Then
Label1.Caption = "No existe código en base"
Label2.Caption = "No existe código en base"
TextBox1.SetFocus
Cancel = True
Else
Label1.Caption = Nombre
Label2.Caption = Application.WorksheetFunction.VLookup(codigo, Range("BD_PERSONAL"), 3, 0)
End If
On Error GoTo 0
End Sub
Bien, al salir del TextBox donde ingresaste el código, las etiquetas que agregaste mostrarán los datos solicitados. Si ese código no existiese en la base, las etiquetas mostrarán un mensaje de error.
Nota que estoy considerando que los códigos en la base como el que se ingresa son numéricos. Si, eventualmente, tu código fuese alfanumérico, quita la instrucción "Val" en la instrucción:
codigo = Val(TextBox1.Value)
Debería quedar:
codigo = TextBox1.Value
Espero que esto sea lo que estabas buscando.
Un abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas