SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => VBA => Mensaje iniciado por: lotusxxl en Lunes 7 de Junio de 2004, 19:36
-
Pues mi pregunta es si alguien sabe si hay modo de pasar variables entre formularios....de manera parecida al paso de variables cuando se llamaa un procedimiento...
en todos los sitios q he visitado solo he encontrado la opción de utilizar variables globales..pero no me convence...
no hay algo q sea parecido a esto..
cuando haces...
form.show pues mandarle a form un valor --> form(8).show...
se q eso no es correcto pero a ver si hay algo q se le asemeje...
muchas gracias.
-
Hola lotusxxl
Lo que puedes hacer es declarar una variable pública , y despues hacer la llamada a la variable pública de ese formulario(como decias tu).
Supongo que con variables globales te refieres a las que se ponen en un modulo.
Saludos
-
Has esto:
crea 2 formularios uno con un textbox y otro con un label
En el formulario 1 introduces el valor o valores q quieras y el formulario lo vuelves no visible pero no lo descarges de la memoria entonces cargas el valor en el label del otro formulario ejem:
-----------------------------------------------------------------------------------
'form1
Private Sub cmdaceptar_Click()
frmoriginal.Hide
End Sub
------------------------------------------------------------------------------------
'form2
Private Sub frmtemp_Load()
frmtemp.Label1.caption = frmoriginal.text1.text
unload frmoriginal
msgbox frmtemp.Label1.caption ' mostrara el valor del primer formulario
End Sub
-
Lo que yo creo es que debes establecerle un propiedad pública al formulario con las funciones:
Public Property Let "NombreDeLaPropiedad" (Valores)
Public Property Get "NombreDeLaPropiedad" (Valores)
Luego cuando vayas a mostrar el formulario primero debes setear el valor a pasar en la propiedad que creastes, y luego lo obtienes desde el formulario.
-
LA RESPUESTA DE OWEN7 ESTA BIEN CADA VEZ QUE VAS A REVISAR VALORES DE DIFERENTES FORMULARIOS LO QUE DEBES HACER ES LLAMAR EJ:
USANDO 2 FORMULARIOS EN EL 2 HAY UN TEXTBOX CON VALORES
frm1.caption=frm2.text1.text
-
Yo lo he tenido que hacer para iniciar el formulario con algun dato.
Mi solucion es crear en el formulario un procedimiento del tipo, por ejemplo:
Public Sub DatosIni(dato1, dato2, ...)
Entonces despues del Form1.Show,
Form1.DatosIni(x,y,...), así puedes mandarle al formulario multitud de datos, arrays, etc.
Igualmente para averiguar datos de cualquier otro formulario.
Un saludo.
-
Pasar valores entre formularios es relativamente fácil, y hay muchas maneras de hacero.
La más comun es utilizando la propiedad "Tag" del formulario, en la cual puedes asignar cualquier valor.
Al abrir el nuevo formulario, solo tienes que preguntar por el valor asignado a la propiedad "Tag" y ya tendras transferida la variable que necesitas.
Otra de las formas es creando variables globales o creando referencias entre formularios. Esto último es obtener el valor de un determinado control antes de cerrar el formulario que posee dicho valor.
-
ya has intentado manejarlos como propiedades de al forma
Private datoLocal As Integer
Public Property Get ValorX() As Integer ' para regresar el dato local
ValorX = datoLocal
End Property
Public Property Let ValorX(ByVal NewValue _ 'para fijar el dato a la instancia de la forma
As Integer)
datoLocal= NewValue
End Property
y fijas la propiedad antes de hacer el Show de la forma
form.ValorX(3)
form.Show
ok?..