Visual Basic - Pasar datos a formularios

Life is soft - evento anual de software empresarial
 
Vista:

Pasar datos a formularios

Publicado por Diego Campillo (17 intervenciones) el 21/09/2001 09:15:11
Hola a todos, necesitaria saber si hay alguna forma de enviarle a un formulario un string, o dicho de otra forma, si hay o se pueden crear formularios a los que se les puedan pasar valores como si fueran funciones.
Lo que pretendo es pasarle a un formulario una sentencia SQL desde otro formulario y este formulario deberá usarla para sus procesos.

Gracias a todos.
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

RE:Pasar datos a formularios

Publicado por bla (230 intervenciones) el 21/09/2001 10:30:40
En el formulario receptor en el área de declaraciones define una variable pública:
Public gstrSQL As String
Entonces desde cualquier formulario tienes la posibilidad de llamarla:
Form2.gstrSQL = "hola"
Form2.Show
Otra solución más elaborada te permite que el formulario receptor responda al cambio de la variable. Para ello sólo tienes que definir una propiedad en el formulario receptor:

Option Explicit
Public gstrSQL As String

Public Property Let SQL(ByVal vNewValue As String)
gstrSQL = vNewValue
MsgBox gstrSQL
End Property

Entonces desde el primer formulario:
form2.SQL
hará que se cambie el valor de la variable global y que se ejecute tu código, en este caso el MsgBox

con "Public Property Get SQL() As String" puedes hacer que el formulario responda a la lectura de la variable.
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

Varias soluciones (exactamente 3)

Publicado por Diego (8 intervenciones) el 22/09/2001 21:04:43
Opción 1:

Te creas una variable global en un módulo, y la utilizas para compartir ese string.

Opción 2 (supongamos que el formulario que quieres abrir y al que quieres pasarle la cadena se llama formNuevo):

Creas una variable global en el formulario que quieres abrir, de manera que primero haces un formNuevo.load, luego le asignas el valor a la variable, y finalmente haces un formNuevo.show

Opción 3 (la más elegante para mi gusto personal):

Igual que la opción 2, sólo que en lugar de crear una variable global utilizas la propiedad Tag del propio formulario. O sea, primero un formNuevo.load, luego haces formNuevo.tag = "Mi string o lo que quiera" y finalmente un formNuevo.show
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