Visual Basic - Asignación variables públicas TextBox

Life is soft - evento anual de software empresarial
 
Vista:

Asignación variables públicas TextBox

Publicado por Antonio (93 intervenciones) el 18/04/2009 23:40:17
Hola P3L30N2009, el otro día me pusiste:
Si los TextBox en ambos formularios tienen el mismo nombre, puedes pasar el nombre del formulario a través de una variable pública.

p.e. En un módulo.bas:
Public ElForm As Form

En cada Form y antes de llamar a AltaPro:
Set ElForm = Me
AltaPro.Show

Y ya en el AltaPro sustituyes el nombre del formulario por la variable pública:
If KeyCode = 13 Then
If bOtraForm = False Then
cTexto = ""
CmdUpd_Click
Else
bOtraForm = False
DGPro.Refresh
ElForm.cCodPro.Text = DGPro.Columns(0)
ElForm.cNomRazSoc.Text = DGPro.Columns(1)
CmdClose.SetFocus
cmdClose_Click
End If
End If

Si el nombre de los TextBox no fueran iguales, tendrías que crear las variables públicas necesarias con el nombre de los mismos. (Esta vez declarándolas como TextBox)

Como el nombre de los TextBox, no son iguales, pondría:
En el módulo .bas:
Public ElTextBox1 As TextBox
Public ElTextBox2 As TextBox

El problema lo tengo a la hora de asignar a cada una de estas variables TextBox el nombre del TextBox correspondiente en cada Form y antes de llamar a altaPro.
1.- ¿Como debo hacerlo?
2.- ¿Se pueden hacer estas asignaciones antes de llegar a la edición de estos TextBox?

Saludos cordiales.
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:Asignación variables públicas TextBox

Publicado por P3L30N2009 (699 intervenciones) el 19/04/2009 12:07:32
En ese caso no necesitas declarar el Form.

En el módulo .bas:
Public ElTextBox1 As TextBox
Public ElTextBox2 As TextBox

En cada uno de los formularios:
Set ElTextBox1 = cCodPro -----> sustituye por el nombre del TextBox de cada Form
Set ElTextBox2 = cNomRazSoc ----> idem
AltaPro.Show

En el formulario AltaPro:
ElTextBox1.Text = DGPro.Columns(0)
ElTextBox2.Text = DGPro.Columns(1)
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

RE:Asignación variables públicas TextBox

Publicado por Antonio (93 intervenciones) el 19/04/2009 12:28:23
Gracias P3L30N2009 por responder.

Tengo una duda, cuando dices:
"sustituye por el nombre del TextBox de cada Form "
en:

En cada uno de los formularios:
Set ElTextBox1 = cCodPro -----> sustituye por el nombre del TextBox de cada Form
Set ElTextBox2 = cNomRazSoc ----> idem
AltaPro.Show

¿Lo que quieres decir, es que en los formularios que ponga,
Set ElTextBox1 = cCodPro
Set ElTextBox2 = cNomRazSoc

donde aparezca esta igualdad, en este caso cCodPro o cNomRazSoc, he de poner ElTextBox1 o ElTextBox2?

Saludos cordiales
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

RE:Asignación variables públicas TextBox

Publicado por P3L30N2009 (699 intervenciones) el 19/04/2009 13:02:08
Me refiero a que pongas el nombre de cada TextBox

p.e.

En un Form tienes dos TextBox con los nombres cCodPro y cNomRazSoc y en otro Form otros dos TextBox con los nombres Text1 y Text2

En el primer Form:
Set ElTextBox1 = cCodPro
Set ElTextBox2 = cNomRazSoc

En el segundo:
Set ElTextBox1 = Text1
Set ElTextBox2 = Text2
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

RE:Asignación variables públicas TextBox

Publicado por Antonio (93 intervenciones) el 19/04/2009 13:27:57
Gracias P3L30N2009.
A ver si lo he entendido definitivamente.

En el módulo .bas:
Public ElTextBox1 As TextBox
Public ElTextBox2 As TextBox

En cada uno de los formularios:
Form1 (En el evento donde se llame a AltaPro.Show y justo antes):
Set ElTextBox1 = cCodPro
Set ElTextBox2 = cNomRazSoc
AltaPro.Show
.......
Form2 (En el evento donde se llame a AltaPro.Show y justo antes):
Set ElTextBox1 = cCod
Set ElTextBox2 = cNom
AltaPro.Show

En el formulario AltaPro:
ElTextBox1.Text = DGPro.Columns(0)
ElTextBox2.Text = DGPro.Columns(1)

¿Es así?
¿Ya no tengo que hacer mas referencias en los Form1 y Form2 a las variables ElTextBox1 y ElTextBox2?

Saludos cordiales.
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

RE:Asignación variables públicas TextBox

Publicado por P3L30N2009 (699 intervenciones) el 19/04/2009 13:31:48
Así es, y en vez de preguntarlo deberías probarlo para salir de dudas.

Un saludo
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

RE:Asignación variables públicas TextBox

Publicado por Antonio Belando (93 intervenciones) el 19/04/2009 13:35:39
Gracias P3L30N2009, tienes toda la razón y normalmente así lo hago, pero es que he hecho ya tantas pruebas que tengo la cabeza un poco "embotada".

Saludos cordiales.
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