Los procedimientos carga…. explicados

Habíamos terminado el post anterior mostrando los procedimientos que se ejecutan al producirse el evento Open de Fmain, y nos restaba explicar los últimos cuatro. Su función será la de dibujar las tablas en cada pestaña del tabstrip y cargarle los datos correspondientes.Pero, ¿por qué creamos estos procedimientos en lugar de escribirlos directamente en el evento open?

Pues, básicamente, porque no es en el único momento donde vamos a necesitar hacer esto de dibujar las tablas y cargar los datos. Supongamos que vamos a editar el nombre de una actriz o a  agregar una nueva. Para que estos cambios se vean reflejados  en las tabla deberemos actualizarla.Veamos el código para agregar y actualizar :

 Try hconn.EXEC(“insert into actrices values (&1,&2)”, Null, txtnombre.text)  ‘agrega el dato

y lo siguiente actualiza y redibuja la tabla:
    tabla2.Clear

   tabla2.Columns.Count = 2
  tabla2.Columns[0].text = “idaz”
  tabla2.Columns[0].Width = 20
  tabla2.Columns[0].Alignment = Align.Center
  tabla2.Columns[1].text = “nombre”
  tabla2.Columns[1].Alignment = Align.Center
  tabla2.Columns[1].Width = 120

  hresul = hconn.Exec(“select * from actrices order by nombre ASC”)

  Do While hresul.Available

    Clave3 = hresul[“idaz”]

    tabla2.Add(Clave3, Clave3)

    tabla2[Clave3][1] = hresul[“nombre”]

    hresul.MoveNext()

  Loop

Contra el que vamos a usar (aproximadamente):

Try hconn.EXEC(“insert into actrices values (&1,&2)”, Null, txtnombre.text)  ‘agrega el dato

cargaactrices ‘actualiza la tabla

La diferencia es clara, ahora si vamos a ver el código de los cuatro procedimientos :

Public Sub cargaactrices()
Dim Clave3 As String                   ‘  como   siempre primero las variables
tabla2.Clear                          ‘limpiamos la tabla

tabla2.Columns.Count = 2
tabla2.Columns[0].text = “idaz”
tabla2.Columns[0].Width = 20
tabla2.Columns[0].Alignment = Align.Center
tabla2.Columns[1].text = “nombre”
tabla2.Columns[1].Alignment = Align.Center
tabla2.Columns[1].Width = 120

hresul = hconn.Exec(“select * from actrices order by nombre ASC”)     ‘ejecutamos la consulta

Do While hresul.Available       ‘y con el do while..loop cargamos la tabla

Clave3 = hresul[“idaz”]

tabla2.Add(Clave3, Clave3)

tabla2[Clave3][1] = hresul[“nombre”]

hresul.MoveNext()

Loop

End
Public Sub cargaactores()
Dim Clave2 As String
tabla3.Clear

tabla3.Columns.Count = 2
tabla3.Columns[0].text = “idac”
tabla3.Columns[0].Width = 20
tabla3.Columns[0].Alignment = Align.Center
tabla3.Columns[1].text = “nombre”
tabla3.Columns[1].Alignment = Align.Center
tabla3.Columns[1].Width = 120

hresul = hconn.Exec(“select * from actores order by nombre ASC”)

Do While hresul.Available

Clave2 = hresul[“idac”]

tabla3.Add(Clave2, Clave2)

tabla3[Clave2][1] = hresul[“nombre”]

hresul.MoveNext()

Loop

End

Public Sub cargadirectores()
Dim Clave4 As String
tabla4.Clear

tabla4.Columns.Count = 2
tabla4.Columns[0].text = “idir”
tabla4.Columns[0].Width = 20
tabla4.Columns[0].Alignment = Align.Center
tabla4.Columns[1].text = “nombre”
tabla4.Columns[1].Alignment = Align.Center
tabla4.Columns[1].Width = 120

hresul = hconn.Exec(“select * from directores order by nombre ASC”)

Do While hresul.Available

Clave4 = hresul[“idir”]

tabla4.Add(Clave4, Clave4)

tabla4[Clave4][1] = hresul[“nombre”]

hresul.MoveNext()

Loop

End
Public Sub cargageneros()
Dim Clave As String
tabla.Clear

hconn = modcon.ConectarBase()   ‘abrimos la conexión

tabla.Columns.Count = 2
tabla.Columns[0].text = “idgenero”
tabla.Columns[0].Width = 20
tabla.Columns[0].Alignment = Align.Center
tabla.Columns[1].text = “Genero”
tabla.Columns[1].Alignment = Align.Center
tabla.Columns[1].Width = 120

hresul = hconn.Exec(“select * from generos order by genero ASC”)

Do While hresul.Available

Clave = hresul[“idgen”]

tabla.Add(Clave, Clave)

tabla[Clave][1] = hresul[“genero”]

hresul.MoveNext()

Loop

End
Como vemos son prácticamente  iguales, cambiando la tabla, la clave, la consulta sql,y  que abrimos la conexión solo en el primero que llamamos (cargageneros) y la dejamos abierta para el resto.  Con esto tenemos el formulario principal abierto con las tablas cargadas y  los comboboxes cargados . Pero esto no es más que la punta del iceberg. Aún quedan formularios por crear, procedimientos por codificar y cosas por analizar:

A modo de ejemplo faltan:

  • el formulario para cargar y /o editar géneros
  • el formulario para introducir las nuevas pelis
  • el formulario para cargar y/o editar actrices,actores y directores
  • Crear las diferentes consultas por pantalla
  • Crear las diferentes consultas impresas
  • Crear el reporte base y su código
  • Capturar los errores para que no se nos cierre el programa
  • Etc, etc

Como pueden ver, mucho camino por  recorrer, pero el resultado final es, al menos para mí, más que satisfactorio. Continuará……….

 

 

Anuncios
Esta entrada fue publicada en programación y etiquetada , , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s