Access - Actualizar Textbox al escribir en otro.

   
Vista:
Imágen de perfil de Toni

Actualizar Textbox al escribir en otro.

Publicado por Toni (129 intervenciones) el 23/11/2012 20:35:00
Hola,

Pensé que lo que voy a preguntar me resultaría fácil pero estaba equivocado,

Necesito actualizar al momento un textbox a medida que se vaya escribiendo en otros dos y que si cambia en alguno de los dos se reproduzca los cambios a medida que se va modificando los datos.

A ver si me explico mejor.

TxTDocumento1 y TXTdocumento2 son dos Textbox sobre los que se introducen datos que se han de ir reflejando en otro Textbox llamado TXTfinal

He probado con el evento onchange de ambos textbox, si me funciona ya lo pondría en una función para ser llamada desde cada evento pero es que de momento no me funciona.

Private Sub TXTDocumento1_Change()
TXTfinal.value= TxTDocumento1.value & TXTdocumento2.value
End sub

Private Sub TXTDocumento2_Change()
TXTfinal.value= TxTDocumento1.value & TXTdocumento2.value
End sub

Supongo que la cosa es más complicada y tendría que usar algo de keypress pero no se me ocurre....

La foma fácil que de momento tengo es poner este código en el botón de "Guardar Registro" pero entonces no se muestra hasta que refresco, y lo interesante para mi sería que se fueran mostrando los cambios en TXTFinal a medida que se va modificando cualquiera de los TxtDocumento1 y 2

Muchas gracias
Toni
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Actualizar Textbox al escribir en otro.

Publicado por jose (741 intervenciones) el 24/11/2012 10:28:48
saludos Toni

utiliza el evento despues de actualizar
after-update


Private Sub TXTDocumento1_AfterUpdate()
TXTfinal.value= TxTDocumento1.value & TXTdocumento2.value
End sub


jose manuel desde El astillero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Toni

Actualizar Textbox al escribir en otro.

Publicado por Toni (129 intervenciones) el 24/11/2012 12:33:20
Hola Jose Manuel,

Gracias, lo que tu me indicas ya lo he probado también, de hecho creo que todos los eventos posibles que se me han ocurrido los he probado con el mismo código para ver el comportamiento de cada uno. De esta forma el textobox Final se actualiza pero siempre cuando se acaba de escribir en los dos anteriores.


Yo lo que trataba de hacer es que se fuera actualizando a medida, o sea, al mismo tiempo que se estaba escribiendo en los dos TxTDocumento1 y TxTDocumento2.

Quizás es una tontería lo que pretendo hacer, pero me interesaba ver el resultado final (la suma de esas dos cadenas) en tiempo real mientras se está escribiendo en el origen.

Muchas gracias por tu comentario, se agradece.

Saludos.
Toni
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Actualizar Textbox al escribir en otro.

Publicado por jose (741 intervenciones) el 24/11/2012 13:21:00
Private Sub TxTDocumento1_KeyDown(KeyCode As Integer, Shift As Integer)
TXTfinal.value= TxTDocumento1.value & TXTdocumento2.value
End Sub

Private Sub TxTDocumento1_KeyPress(KeyAscii As Integer)
TXTfinal.value= TxTDocumento1.value & TXTdocumento2.value
End Sub



en los eventos al presionar una tecla o al bajar una tecla , en cualqiera de ellos te lo debería de hacer

keypress o keydown
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Toni

Actualizar Textbox al escribir en otro.

Publicado por Toni (129 intervenciones) el 24/11/2012 14:04:51
Jose, lo he probado y sigue sin actualizar al momento, lo que hace es que cuando sales del campo y vuelves a entrar entonces es cuando acutaliza el TXTFinal, parecido comportamiento que con el evento "después de actualizar", o quizás yo no tengo bien alguna otra propiedad del formulario.

Pruébalo tu si quieres y verás lo que te digo.

Gracias y saludo.

Toni
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Actualizar Textbox al escribir en otro.

Publicado por jose (741 intervenciones) el 24/11/2012 15:01:27
prueba


Private Sub TxTDocumento1_KeyPress(KeyAscii As Integer)
TXTfinal.value= TxTDocumento1.value & TXTdocumento2.value


DoCmd.Requery "TXTfinal"

o bien Me.TXTfinal.Refresh


no recuerdo ahora cual de las dos es la adecuada

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Toni

Actualizar Textbox al escribir en otro.

Publicado por Toni (129 intervenciones) el 24/11/2012 18:38:32
Jose creo que ya lo he conseguido, voy a terminarlo y lo pongo para quien le pueda interesar, tal como lo tengo ahora en sucio casi ni yo me aclaro jeje...

Gracias a tus consejos que me han ayudado.

Saludos, Toni
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Toni

Actualizar Textbox al escribir en otro.

Publicado por Toni (129 intervenciones) el 24/11/2012 21:06:55
Bueno aunque me falta controlar algún pequeño detalle que se me escapa aquí pongo el resultado, lo que importa es que funciona:

Ha de ser en el evento "al cambiar"

1
2
3
4
5
6
7
8
9
10
11
Private Sub TxTDocumento2_Change()
    Me.Refresh
    TxTFinal.Value = TxTDocumento1.Value & TxTDocumento2.Value
 
    ' ahora vuelvo a mandar el foco al  textbox y que comience despues del último
    ' carácter que se escribió
    Me.TxTDocumento2.SetFocus
    If Not IsNull(Me.TxTDocumento2) Then
        Me.TxTDocumento2.SelStart = Len(TxTDocumento2)
     End If
End Sub


Saludos
Toni
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Actualizar Textbox al escribir en otro.

Publicado por Saul (1 intervención) el 26/01/2013 03:47:10
Agrega me.recalc despues de la expresion, esta obligará a actualizar el formulario, tal y como lo hicieras con F5
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Actualizar Textbox al escribir en otro.

Publicado por Valeria (1 intervención) el 18/07/2016 18:21:39
Consulta si no quisiera actualizar el evento en cada textbox como se llega a lo mismo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar