Como actualizar un textbox

Cordiales Valedor y feliz 2002:
1º he creado 2 formularios.
2º en el primero de ellos tengo instalado
varios controles uno de los cuales
es un Label, el cual tiene el Caption un texto que depende
de un Combobox.
El valor del caption del label la tengo introducida
en una variable publica situada en un módulo estándar.
3º pulsando en un botón, salgo del primer formulario con el
método HIDE y con UnLOAD ME y muestra el 2º formulario.
4º en un textbox del 2º formulario sale el valor de
label. Caption del primer formulario.
Hasta aquí todo correcto.
5º pulsando otro botón salgo del 2º formulario igualmente con
el método HIDE UNLOAD ME y muestra nuevamente el primer formulario
6º cambiamos el valor del combobox y consecuentemente se cambia el
label. Caption (automáticamente).
7º vuelves al 2º formulario y en el textbox antes comentado
vuelve a salir el valor que se escogió al principio.
¿Por qué pasa esto?
¿Cómo puedo actualizarlo?

1 respuesta

Respuesta
1
El orden del código es importante, por que aunque "aparentemente" decargues tu formulario, si "muestras" antes el otro, entonces realmente "no" se descarga el formulario...
Si tienes...
Me. Hide
UserForm2.Show
Unload Me
Muestras el segundo formulario pero no descargas el primero, por que el código se detiene hasta que cierres o descargues el segundo, prueba a usar el Unload Me "antes del UserForm2.Show, segunda, puedes pasar el UserForm2.Show al evento QueryClose del formulario, también, puedes poner la asignación al Cuadro de texto del segundo formulario dentro del evento Activate del segundo formulario...
Private Sub UserForm2_Activate()
TextBox1.Text = pstrValor
End Sub
De esta manera, aunque no descargues el formulario, siempre que actives el segundo formulario, tendrás el valor de tu variable publica, claro, siempre y cuando esta la actualices correctamente dentro del evento Change de tu ComboBox del primer formulario...
Ante todo muchas gracias por tu pronta respuesta.
Como bien puedes observar, te he enviado 2 consultas:
1º problemas con los textbox.
2º actualización de los formularios.
Respecto a los textbox, recibí tu respuesta y te envié otra consulta al respecto (espero que no me consideres un pesado).
Deseo fervientemente, recibir tu respuesta a esta 2ª consulta.
Acabo de recibir tu respuesta a la 2ª, y debo decirte que finalmente encontré un "camino" para resolver el problema que no se si es demasiado correcto.
El caso es que funciona.
En concreto, lo que hice fue situar en el primer formulario la instrucción de actualizar el caption del label del 2º formulario.
Esta instrucción yo la tenía inicialmente situada en el evento "initialize" del 2º formulario.
En cualquier caso, muchas gracias por tu respuesta y espero poder seguir contando contigo para futurois problemas, ya que aunque me gusta encontrar por mi mismo las soluciones (es la única manera de aprender), en algunos casos me resulta casi imposible.
Primer problema, lo que hiciste esta bien y mal, es decir, hace lo que quieres es lo que esta bien y esta mal por que cuando actualizas un control de un formulario desde otro, este se carga en memoria automáticamente "aunque" no lo veas, te recomiendo usar el evento Activate como te comente en la anterior respuesta...
Te felicito por "buscar" tus respuestas, no es común, ya que muchos solo quieres que les "hagas la tarea", pero yo como tu, aun tengo más preguntas que respuestas, pero con gusto en lo que te pueda ayudar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas