Visual Basic.NET - Llamar una sub desde otro formulario

 
Vista:
sin imagen de perfil
Val: 344
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Llamar una sub desde otro formulario

Publicado por Miguel (281 intervenciones) el 15/11/2018 16:51:01
Tengo un formulario con esta información.

1
2
3
4
5
6
7
8
9
10
11
Public Sub cargaClientes()
        'Capturar los datos del cliente por medio del IdCli del cliente
        txtIdCli.Text = ObjIni.miIdCli
        SQL = "Select Nif FROM Clientes Where IdCli=" & ObjIni.miIdCli
        TxtNif.Text = conexion.RetornaCampo(dgv, SQL)
        SQL = "SELECT Nombre FROM Clientes Where IdCli= " & ObjIni.miIdCli
        TxtNombre.Text = conexion.RetornaCampo(dgv, SQL)
        SQL = "SELECT Cuenta FROM Clientes Where IdCli= " & ObjIni.miIdCli
        TxtCuenta.Text = conexion.RetornaCampo(dgv, SQL)
        SQL = "Select IdPro FROM Clientes Where IdCli= " & ObjIni.miIdCli
end sub


Ahora le hago una llamada desde otro formulario

frmVentas.cargaClientes()

El caso es que me recorre mostrando los valores de todos los " text " que tiene la sub y que son los textBox del formulario pero sin embargo no me los plasma en el formulario.

¿Cual es la razón para este mal funcionamiento.

Gracias y un saludo
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
Imágen de perfil de Wilfredo Patricio Castillo
Val: 1.239
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Llamar una sub desde otro formulario

Publicado por Wilfredo Patricio Castillo (720 intervenciones) el 16/11/2018 01:33:41
A ver Miguel.

Ese sub, hace referencia a sus propios textboxes que están en ese formulario.

Ahora tu lo llamas desde otro formulario?, el debería mostrarlo en el formulario origen u original, entonces en un nuevo formulario nunca lo mostrará.

Otra cosa, prueba a crear una instancia del formulario frmventas y llamar la sub desde esa instancia.

Comentario adicional.

Porqué haces todas esas llamadas hasta la base de datos?, tantos selects para obtener un cliente?, mira cuanto impacto en el servidor para un cliente, porque no te traes los datos del cliente y tienes una sola consulta con todos los datos listos?.

No has probado la POO?, sería bueno que lo pongas en práctica.

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
1
Comentar
sin imagen de perfil
Val: 344
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Llamar una sub desde otro formulario

Publicado por Miguel (281 intervenciones) el 16/11/2018 12:49:13
Hola Wilfredo.
Lo de tantos Select es porque los datos del cliente son de otro formulario anterior y por esa razón al salir de él almaceno la clave en el objIni.miIdCli y con dicha clave lo recupero en los sucesivos formularios que dependen del principal y lo hago así porque en los sucesivos formularios no tengo un DataGridView para el formulario que hereda esos datos. No es que me guste el procedimiento pero después de mirar mucho no he encontrado otra forma mejor o al menos que yo sepa hacerlo.

Lo de hacer una instancia eso si me parece bien pero entiendo que no evitaría los Select. Voy a mirar lo de una sola consulta y lo que si me gustaría es saber hacerlo con las POO, pero las veces que he mirado ese tema no consigo ver la forma de aplicarlo cuando se me presentan situaciones como la que tengo ahora. Voy a dedicar esta semana a ver otra vez todo lo referido a las POO haber si encuentro la forma de aplicarlo en esta situación.

Un saludo y muchas gracias
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
Imágen de perfil de Wilfredo Patricio Castillo
Val: 1.239
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Llamar una sub desde otro formulario

Publicado por Wilfredo Patricio Castillo (720 intervenciones) el 16/11/2018 16:48:55
Hola Miguel

Fíjate que no necesitas tener un datagridview para pasar datos entre formularios, para eso se utilizan los constructores, y créeme que las cosas se te facilitarían un montón con POO.

Si tienes predisposición a aprender, tu dime en que momento tienes tiempo, y yo no tengo ningún problema en darte una charla via skype, con un ejemplo real.

Eso si te interesa mejorar, sin ningún tipo de compromiso ni costos, cuando las personas están dispuestas a aprender o mejorar, yo tampoco tengo inconveniente en dedicar un momento de mi tiempo para enseñar, así que mi propuesta está hecha, me puedes escribir al correo para coordinar.

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
sin imagen de perfil
Val: 344
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Llamar una sub desde otro formulario

Publicado por Miguel (281 intervenciones) el 16/11/2018 17:53:09
He intentado contactar contigo a través de tu correo pero me lo rechaza.

Hola Wilfredo si que me gustaría aprender sobre las POO y otras cosas pues solo ser usarlas cuando cargo los datos del formulario así que por mi parte no tengo ningún problema de tiempo pues desde que me jubile tiempo es lo que me sobra. Me gusta el mundo de la programación pero hay muchas cosas que se me escapan y me cuesta a veces verlas pero a pesar de ello si me gustaría avanzar más, pues aunque me paso unas 5 o 6 horas diarias estudiando sobre ello y mirando código de lo que encuentro por la red pero avanzo muy despacio. Así que te tomo la palabra pero tampoco quiero abusar de tu tiempo. Ya me dirás como funciona el Skype. Yo tengo el Zoom_Launcher así podríamos hacer comentarios.

Muchas gracias
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
Imágen de perfil de Plutarco
Val: 27
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Llamar una sub desde otro formulario

Publicado por Plutarco (14 intervenciones) el 05/12/2018 18:05:47
Buenos días, perdón por la intromisión

Efectivamente deberías declarar primero el formulareio que deseas abrir como instancia para que no abaras uno que ya está abierto y con información que no es la que necesias.

Después, es posible que en una sola instrucción de SQL puedes traer la información de tus clientes, por ejemplo:

SqlQuery = "Select Nif, Nombre, Cuenta, IdPro FROM Clientes Where IdCli=" & ObjIni.miIdCli

Enseguiida con un SQLDataReader lees el resultado de tu query
Para leer cada campo de tu Reader lo haces con SQLRead() y se lo asignas a tus objetos

TxtNif.Text = SQLread("Nif")
TxtCuenta.Text = SQLread("Cuenta")

SQLread.Close()

Salud2 y perdón por la intromisión
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