Enviar datos de un formulario a otro
Moderador: Moderadores
Enviar datos de un formulario a otro
Hola a tod@s. Estoy aprendiendo Visual Basic, y tengo un pequeño problema. Quiero mostrar los datos de una tabla en un formulario secundario, que tengo definida en el formulario principal como global. El caso es que cuando quiero hacer referencia desde el secundario a la tabla, me da error de compilacion, procedimiento o sub no definido. Que hago mal? Saludos.
- gonzalo_aizpun
- Senior
- Mensajes: 28
- Registrado: Sab May 07, 2005 11:50 pm
- Ubicación: Buenos Aires
- Contactar:
El código es el siguiente:
Hola, Gonzalo. Gracias por tu ayuda.
Form1
-------
Option Explicit
Dim tabla(0 To 100) As String
Dim auxiliar As Integer
Private Sub Form_Load()
For auxiliar = 1 To 100
tabla(auxiliar) = auxiliar
Next
Form2.Show
End Sub
Form2
-------
Option Explicit
Private Sub Form_Load()
Text2.Text = tabla(7)
End Sub
Lo que quiero hacer, es que en el formulario2 se muestre el elemento de la tabla número 7, lo lógico sería poner form1.tabla(7), pero no funciona. Tienes alguna idea? Un saludo y gracias de nuevo.
Form1
-------
Option Explicit
Dim tabla(0 To 100) As String
Dim auxiliar As Integer
Private Sub Form_Load()
For auxiliar = 1 To 100
tabla(auxiliar) = auxiliar
Next
Form2.Show
End Sub
Form2
-------
Option Explicit
Private Sub Form_Load()
Text2.Text = tabla(7)
End Sub
Lo que quiero hacer, es que en el formulario2 se muestre el elemento de la tabla número 7, lo lógico sería poner form1.tabla(7), pero no funciona. Tienes alguna idea? Un saludo y gracias de nuevo.

- gonzalo_aizpun
- Senior
- Mensajes: 28
- Registrado: Sab May 07, 2005 11:50 pm
- Ubicación: Buenos Aires
- Contactar:
Ok! Es fácil, tenes un problema importante pero sencillo.
Los vectores y matrices no pueden ser declarados Públicos en un Formulario! (Las variables si).
2 soluciones:
(1) Usar un módulo (donde si podes declarar publico el vector). Lo único que tenes que hacer es: Agregar > Modulo (Module1.bas) y escribir la siguiente línea de código:
Public tabla(1 To 100) As String
El resto es el código que escribiste!
(2) Usar en el Form1 una Lista (List1) y cargar ahí los valores de la tabla!
Después, desde el Form2 podes consultar List1 del Form1
' FORM 1
Private Sub Form_Load()
For Auxiliar = 1 To 100
List1.List(Auxiliar) = Auxiliar
Next
Form2.Show
End Sub
' FORM 2
Private Sub Form_Load()
Text2.Text = Form1.List1.List(7)
End Sub
Saludos,
Gonzalo
Los vectores y matrices no pueden ser declarados Públicos en un Formulario! (Las variables si).
2 soluciones:
(1) Usar un módulo (donde si podes declarar publico el vector). Lo único que tenes que hacer es: Agregar > Modulo (Module1.bas) y escribir la siguiente línea de código:
Public tabla(1 To 100) As String
El resto es el código que escribiste!
(2) Usar en el Form1 una Lista (List1) y cargar ahí los valores de la tabla!
Después, desde el Form2 podes consultar List1 del Form1
' FORM 1
Private Sub Form_Load()
For Auxiliar = 1 To 100
List1.List(Auxiliar) = Auxiliar
Next
Form2.Show
End Sub
' FORM 2
Private Sub Form_Load()
Text2.Text = Form1.List1.List(7)
End Sub
Saludos,
Gonzalo