Es muy sencillo. Al no saber como es la consulta voy a usar la tabla Clientes. Con ella creo un formulario (da igual que sea único o continuo), al que le voy a añadir un combinado llamado ElegirCliente, con las columnas IdCliente y cliente de la tabla. Sólo muestra la segunda columna pero la dependiente es la de Idcliente
Selecciono uno, en este caso Comercio Mineiro y automáticamente
Como en este caso, el formulario tiene el origen de registros en la tabla, si modifico algo, automáticamente me queda reflejado en la tabla.
Vamos a suponer que el formulario lo hago independiente de la tabla (aprovecho el mismo quitándole el origen de registros al formulario y el origen del control a los cuadros de texto pero les dejo el mismo nombre del control. Selecciono uno
En cuanto lo selecciono
Ahora voy a cambiarle el valor del control Ciudad.
Como el formulario es independiente tengo que decirle que guarde esa modificación en la tabla. Cuando pulso Guardar modificación
En el caso del formulario independiente, en el evento Después de actualizar del combinado ElegirCliente le digo
Private Sub ElegirCliente_AfterUpdate()
For Each Control In Form.Controls
If Control.ControlType = acTextBox Then
Control.Value = DLookup("" & Control.Name & "", "clientes", "idcliente=" & Me.ElegirCliente & "")
End If
Next
End Sub
Es decir, que para cada textbox busque en la tabla Clientes el valor del campo que tenga el mismo nombre que el cuadro de texto, en aquel registro en que Idcliente sea igual al que acabo de elegir en el combinado.
Y si he efectuado algún cambio y quiero guardarlo, en el evento Al hacer clic del botón le he puesto
Private Sub Comando13_Click()
DoCmd.SetWarnings False
DoCmd.RunSQL "update clientes set cliente='" & Me.Cliente & "', nombrecontacto='" & Me.NombreContacto & "', dirección ='" & Me.Dirección & "'," _
& "ciudad='" & Me.Ciudad & "',pais='" & Me.Pais & "' where idcliente=" & Me.ElegirCliente & ""
End Sub
El primer Docmd.set.... es para que no aparezca la maldita ventanita de "Va a actualizar....
De todas formas, si quieres el ejemplo, que siempre se ve mejor, repito, si quieres, mándame un mensaje ( sólo el mensaje) a [email protected] y te mando el ejemplo,
Si lo haces, en el asunto del mensaje pon tu alias Germán, ya que si no sé quien me escribe ni los abro.