Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

¿Cómo guardo el valor de una variable para otro formulario?

Estas en el tema de ¿Cómo guardo el valor de una variable para otro formulario? en el foro de Visual Basic clásico en Foros del Web. Tengo dos formularios, y en uno se calcula una variable en base a dos campos de una tabla. Lo que quiero es que cuando se ...
  #1 (permalink)  
Antiguo 20/07/2005, 08:04
 
Fecha de Ingreso: julio-2005
Mensajes: 59
Antigüedad: 18 años, 9 meses
Puntos: 0
¿Cómo guardo el valor de una variable para otro formulario?

Tengo dos formularios, y en uno se calcula una variable en base a dos campos de una tabla. Lo que quiero es que cuando se abre el otro formulario se recuerde el valor de la variable que se calculó en el primero. Sé que tiene que ver con la forma en que defino esa variable, pero no sé como ni donde hacerlo para que funcione.
  #2 (permalink)  
Antiguo 20/07/2005, 09:06
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
Cita:
Iniciado por Juan Fco.
Tengo dos formularios, y en uno se calcula una variable en base a dos campos de una tabla. Lo que quiero es que cuando se abre el otro formulario se recuerde el valor de la variable que se calculó en el primero. Sé que tiene que ver con la forma en que defino esa variable, pero no sé como ni donde hacerlo para que funcione.
Hola Juan. Para hacer eso, necesitas variables publicas. En el primer formulario se define en la parte superior, en la sección Declaraciones, de la siguiente manera:

Código:
Public UnValor
Siendo UnValor, la variable que almacena el valor calculado. Luego en el segundo formulario, para hacer referencia a esa variable es:

Código:
frmPrimerForm.UnValor
Bueno, eso es todo. Espero que te sirva.
Saludos. Lucas
  #3 (permalink)  
Antiguo 20/07/2005, 09:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación

Cita:
Iniciado por lucasiramos
Hola Juan. Para hacer eso, necesitas variables publicas. En el primer formulario se define en la parte superior, en la sección Declaraciones, de la siguiente manera:

Código:
Public UnValor
Siendo UnValor, la variable que almacena el valor calculado. Luego en el segundo formulario, para hacer referencia a esa variable es:

Código:
frmPrimerForm.UnValor
Bueno, eso es todo. Espero que te sirva.
Saludos. Lucas
En realidad las variables públicas no funcionan con relación a formularios, en realidad debes agregar un módulo y allí sí en la parte de declaraciones colocar:
Código:
Public Numero As Double
Nos vemos...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 20/07/2005, 09:44
 
Fecha de Ingreso: julio-2005
Mensajes: 59
Antigüedad: 18 años, 9 meses
Puntos: 0
Mi primer formulario es un subformulario que se llama ALUMNOS_2EV, y el segundo se llama ALUMNOS_3EV. En el _2EV he definido Public ER1 as double y se calcula ER1 con valores de los campos de una tabla, y en el segundo quiero mostrar ER1 y hago MsgBox frmALUMNOS_2EV.ER1, pero me da el error "se requiere un objeto". ¿Se te ocurre algo?
  #5 (permalink)  
Antiguo 20/07/2005, 09:44
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
Cita:
Iniciado por David el Grande
En realidad las variables públicas no funcionan con relación a formularios, en realidad debes agregar un módulo y allí sí en la parte de declaraciones colocar:
Código:
Public Numero As Double
Nos vemos...
Sí. Sí funcionan. Lo tengo codificado, anda y todo, jeje. La manera que citas es otra forma de hacerlo, que para mi gusto es mas compleja, ya que hay que incluir un módulo (bueno, no es taaan compleja). Pero ahora ya estan mencionadas las dos posibles opciones.

Saludos . Lucas
  #6 (permalink)  
Antiguo 20/07/2005, 09:48
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
Cita:
Iniciado por Juan Fco.
Mi primer formulario es un subformulario que se llama ALUMNOS_2EV, y el segundo se llama ALUMNOS_3EV. En el _2EV he definido Public ER1 as double y se calcula ER1 con valores de los campos de una tabla, y en el segundo quiero mostrar ER1 y hago MsgBox frmALUMNOS_2EV.ER1, pero me da el error "se requiere un objeto". ¿Se te ocurre algo?
Si el primero se llama "ALUMNOS_2EV" no podes llamarlo "frmALUMNOS_2EV" en el segundo. Te esta sobrando el frm. Creo que sería eso.
  #7 (permalink)  
Antiguo 20/07/2005, 09:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación

Cita:
Iniciado por lucasiramos
Sí. Sí funcionan. Lo tengo codificado, anda y todo, jeje. La manera que citas es otra forma de hacerlo, que para mi gusto es mas compleja, ya que hay que incluir un módulo (bueno, no es taaan compleja). Pero ahora ya estan mencionadas las dos posibles opciones.

Saludos . Lucas
Yo lo probé con dos formularios y no me funcionó.... declarando en el primero ...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 20/07/2005, 09:54
 
Fecha de Ingreso: julio-2005
Mensajes: 59
Antigüedad: 18 años, 9 meses
Puntos: 0
Quitando frm sigue dandome el error "se requiere un objeto".

Si en un modulo la defino Global ER1 as double, tengo el problema de que cuando cierro access, y lo vuelvo a abrir, no se ha quedado grabado el valor de la variable, sino que tengo que volver a entrar en el primer subformulario para que cargue su valor, y entonces ya si. Debería recordar ese valor aunque saliera de la aplicación y no entrara despues en el primer Sub.

¿Se os ocurre algo?. Gracias
  #9 (permalink)  
Antiguo 20/07/2005, 09:54
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
¡¿NO?! Este visual es de lo mas misterioso. Te juro que lo tengo codificado tal como lo ejemplifiqué y me anda barbaro. Bueno Juan Fco, si no te funciona como lo puse yo, hace como dijo David. Y si queres probar directamente como dice David, no me voy a ofender, jejeje.

Saludos. Lucas
  #10 (permalink)  
Antiguo 20/07/2005, 09:59
Avatar de Rbkrr  
Fecha de Ingreso: mayo-2002
Ubicación: Tamps. Mx
Mensajes: 277
Antigüedad: 22 años
Puntos: 0
Mmm anda algo mal por ahi pq yo tambien lo tengo comprobado que las variables funcionan a la perfeccion en un modulo, lo mas probable que te suceda es que esa o esas variables las tengas declaradas doble vez osea en los formularios y en modulo, lo que tienes que hacer es asegurarte que no esten declaradas en los forms y SOLO en el modulo para que no choquen y veras que funciona :D

Saludos!
__________________
:adios:
  #11 (permalink)  
Antiguo 20/07/2005, 09:59
 
Fecha de Ingreso: julio-2005
Mensajes: 59
Antigüedad: 18 años, 9 meses
Puntos: 0
Ya, pero con la opción de David, tengo el problema que he relatado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:08.