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.
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