Rellenar más de 20 textbox según combobox

Hola
A ver si es posible lo que quiero hacer:
Quiero rellenar más de 20 textbox según lo que seleccione en un combobox.
En el combobox slecciono el Nº de Informe y los textbox son variados, desde Nombre de la Empresa, Dirección, Obra, Importe de la obra, Plazo de ejecución, etc etc... Más de 20.
La idea es que una vez mostrado el usuario actualice textos y al darle a un Botón de Actualizar los guarde ..(Pero esto será otro tema). Ahora lo que me preocupa es cómo rellnar los más de 20 textbox.
Gracias de antemano a quien me pueda ayudar.

1 respuesta

Respuesta
1
Este es otro método pero mucho más complicado que si funciona para la cantidad de textbox que necesites todo depende de los que tu insertes en el formulario y de la cantidad de campos que tenga la tabla que quieras mostrar.
Verifica en la linea del "rst.Open..." debes colocar
Nota1 = el nombre de tu tabla supongo que se llama Expedientes
Nota2 = el nombre del campo llave supongo que de llama Numero_Expediente
Nota3 = el nombre del cuadro combinado (ComboBox) puede ser Combo2
Queda así
rst.Open "SELECT * FROM [Ve la Nota1] WHERE [Ve la Nota2] = " & Ve la Nota3, Application.CodeProject.Connection, adOpenStatic, adLockOptimistic, adCmdText
Coloca entonces este código en el mismo evento AfterUpdate() del cuadro combinado (ComboBox) que tiene el campo llave "Numero_Expediente", te sugiero que crees otro combo que solo tenga un único campo que sea "Numero_Expediente" y en su evento AfterUpdate coloques este código
Dim rst As New ADODB.Recordset
If Not IsNull(Me.Combo2) Then
    rst.Open "SELECT * FROM [Expedientes] WHERE [Numero_Expediente] = " & Combo2, Application.CodeProject.Connection, adOpenStatic, adLockOptimistic, adCmdText
    If rst.RecordCount > 0 Then
        Text1 = rst![Dato1] 'Datos1, Datos2, Datos3.... son los nombres de los campos
        Text2 = rst![Dato2]
        Text3 = rst![Dato3]
        Text4 = rst![Dato4]
        Text5 = rst![Dato5]
        Text6 = rst![Dato6]
        Text7 = rst![Dato7]
        Text8 = rst![Dato8]
        Text9 = rst![Dato9]
        Text10 = rst![Dato10]
        Text11 = rst![Dato11]
        Text12 = rst![Dato12]
        Text13 = rst![Dato13]
        Text14 = rst![Dato14]
        Text15 = rst![Dato15]
        Text16 = rst![Dato16]
        Text17 = rst![Dato17]
        Text18 = rst![Dato18]
        Text19 = rst![Dato19]
         'aqui puedes colocar mas cuadros de texto (TextBox) = al rst!["nombre del campo"]
    End If
    rst.Close
    Set rst = Nothing
Else
    Text1 = Null
    Text2 = Null
    Text3 = Null
    Text4 = Null
    Text5 = Null
    Text6 = Null
    Text7 = Null
    Text8 = Null
    Text9 = Null
    Text10 = Null
    Text11 = Null
    Text12 = Null
    Text13 = Null
    Text14 = Null
    Text15 = Null
    Text16 = Null
    Text17 = Null
    Text18 = Null
    Text19 = Null
   'aqui puedes colocar mas cuadros de texto (TextBox)
End If
queda algo asi:
Private Sub Combo2_AfterUpdate()
Dim rst As New ADODB.Recordset
If Not IsNull(Me.Combo2) Then
    rst.Open "SELECT * FROM [Expedientes] WHERE [Numero_Expediente] = " & Combo2, Application.CodeProject.Connection, adOpenStatic, adLockOptimistic, adCmdText
    If rst.RecordCount > 0 Then
        Me.Text1 = rst![Dato1]
        Me.Text2 = rst![Dato2]
        Me.Text3 = rst![Dato3]
        Me.Text4 = rst![Dato4]
        Me.Text5 = rst![Dato5]
        Me.Text6 = rst![Dato6]
        Me.Text7 = rst![Dato7]
        Me.Text8 = rst![Dato8]
        Me.Text9 = rst![Dato9]
        Me.Text10 = rst![Dato10]
        Me.Text11 = rst![Dato11]
        Me.Text12 = rst![Dato12]
        Me.Text13 = rst![Dato13]
        Me.Text14 = rst![Dato14]
        Me.Text15 = rst![Dato15]
        Me.Text16 = rst![Dato16]
        Me.Text17 = rst![Dato17]
        Me.Text18 = rst![Dato18]
        Me.Text19 = rst![Dato19]
    End If
    rst.Close
    Set rst = Nothing
Else
    Me.Text1 = Null
    Me.Text2 = Null
    Me.Text3 = Null
    Me.Text4 = Null
    Me.Text5 = Null
    Me.Text6 = Null
    Me.Text7 = Null
    Me.Text8 = Null
    Me.Text9 = Null
    Me.Text10 = Null
    Me.Text11 = Null
    Me.Text12 = Null
    Me.Text13 = Null
    Me.Text14 = Null
    Me.Text15 = Null
    Me.Text16 = Null
    Me.Text17 = Null
    Me.Text18 = Null
    Me.Text19 = Null
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas