Rellenar campos con valores, según el valor de otro campo

Estoy modificando una base de datos, me gustaría que según selecciono un valor de un cuadro combinado, me escriba "me cambie" los valores en otros campos. Tengo una tabla donde introduzco datos de personas. Me gustaría que al seleccionar en el cuadro combinado Sr. O Señora, me cambie los campos donde dice "nacido" "nacida", "hijo "hija", es decir, según seleccione el valor de un hombre o mujer, me cambie los datos a masculinos o femeninos. Están todos los datos en la misma tabla.

1 Respuesta

Respuesta
1

En las propiedades del combinado, al que para el ejemplo llamaremos Elegir, en el evento después de actualizar crea un procedimiento de evento y entre Private Sub... y End Sub pon

If elegir="Sr." then

ControlA="Nacido"

ControlB="Hijo"

else

controlA="Nacida"

ControlB="Hija"

end if

GRACIAS por contestar tan rápidamente "paisano". Ahora estoy trabajando, mañana por la mañana probaré a ver si me funciona y ya te digo el resultado.

Saludos y muchas gracias.

Buenas, he probado nuevamente y ahora si me funciona. Muchas gracias!!!!, pero no es del todo lo que yo esperaba. Me gustaría que los datos de los campos se cambiasen "automáticamente", es decir, sin tener que dar foco al campo, ya que los datos ahora se cambian pero tengo que dar foco al campo y se cambian cuando el campo pierde el foco. Espero haberme explicado bien. A ver si hubiese alguna forma de poder conseguirlo de forma "automática". Muchas gracias de nuevo. 

Honestamente, no entiendo absolutamente nada. En ningún momento he citado que haya que usar el evento Al recibir el enfoque. Dije en el evento Después de actualizar del combinado. Mira, voy a repetir paso a paso, tu pregunta. Si tengo el formulario, con el combinado

Si elijo Señora, como no sé donde quieres que aparezcan los valores de Nacido, etc lo pongo en los dos primeros

Por el contrario si

Elijo Sr

Y el código es el que te dije

Private Sub Elegir_AfterUpdate()
If Elegir = "Señora" Then
NombreCliente = "Nacida"
NombreContacto = "Hija"
Else
NombreCliente = "Nacido"
NombreContacto = "Hijo"
End If
End Sub

SOLUCIONADO!. Había puesto el código bien, en el campo combinado, en el evento después de actualizar. Lo que pasaba es que los campos que debían cambiar el valor estaban en modo campo combinado también, y solo cambiaban los datos si ponía el foco (cursor) en el campo. Por lo tanto, lo he podido solucionar cambiando los campos combinados a cuadros de texto normales.

MUCHÍSIMAS GRACIAS! Julián, una vez más me ha servido tu ayuda. Te lo agradezco

Saludos, paisano.

Puedes dejar perfectamente los combinados. Lo único es que tiene que poner la instrucción como

Nombrecontacto.value="Hijo" y en los demás lo mismo, usar el nombre del control con .value

Ya que le estás diciendo que su valor, el que "muestra", es ese que le has dado.

¡Gracias! Por la segunda opción. Pero parece que me gusta más dejarlo con el cuadro de texto. 

Saludos y gracias 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas