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 de fejoal
1
1
fejoal, Por falta de tiempo para responder como me gusta hacerlo suspendo...
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