Viendo y filtrando gastos (I)

Hasta ahora sólo hemos ingresado los gastos. Ha llegado el momento de verlos y seleccionar por distintos criterios. Vamos a crear un nuevo formulario al que llamaremos fgastos.

fgastos

Vamos a añadirle por ahora cuatro botones ( btnlugar, btnmaterial, btncombina, btnrefrescar) un columview al que llamamos simplemente tabla y un par de comboboxes cuyos nombres pueden verse en la imagen precedente. Al principio del código agregaremos como siempre las variables a utilizar en todo el formulario

Private hconn As Connection  ‘variable de conexión
Private hresul As Result    ‘variable de consulta

Vamos a crear los procedimientos para cargar los comboboxes y para llenar la tabla con todos los datos, sin ningún filtro.

Public Sub listado(lista As ComboBox)

Dim Clave As String

Modcon.ConectarBase()
hresul = hconn.Exec(“Select * from materiales order by nombre ASC”) ‘consulta sql
Do While hresul.Available
Clave = hresul[“nombre”]
lista.Add(Clave)
hresul.MoveNext()
Loop

End
……………………………………………………………………………………………………………………………….

Public Sub listado1(lista As ComboBox)

Dim Clave As String

Modcon.ConectarBase()
hresul = hconn.Exec(“Select * from locales order by nombre ASC”) ‘consulta sql

Do While hresul.Available
Clave = hresul[“nombre”]
lista.Add(Clave)
hresul.MoveNext()
Loop

End

Estos dos primeros procedimientos ya los hemos usado muchas veces y no precisan mayor explicación. Son los que llenan cada combobox con los datos de las tablas que les corresponden. Esto es necesario para que al filtrar no debemos escribir, con lo cual, además, evitamos errores de tipeado.

Public Sub llenado()

tabla.Clear

tabla.Columns.Count = 5
tabla.Columns[0].text = “id”
tabla.Columns[0].Width = 20
tabla.Columns[0].Alignment = Align.Center
tabla.Columns[1].text = “Fecha”
tabla.Columns[1].Alignment = Align.Center
tabla.Columns[1].Width = 100
tabla.Columns[2].text = “Lugar”
tabla.Columns[2].Alignment = Align.Center
tabla.Columns[2].Width = 180
tabla.Columns[3].text = “Material”
tabla.Columns[3].Alignment = Align.Center
tabla.Columns[3].Width = 200
tabla.Columns[4].text = “Cantidad”
tabla.Columns[4].Alignment = Align.Center
tabla.Columns[4].Width = 20

End

El procedimiento llenado prepara la estructura de la tabla para recibir los datos. Debemos llamarlo en cada consulta, al tenerlo en un procedimiento evitamos repetir todo el código innecesariamente. Con el que viene a continuación, llamado llenar_todo() se encarga de llamar los datos  sin ningún tipo de filtro, y llama a otro denominado datos() , que los muestra por pantalla. Si miras con atención podrás notar como llenar todo llama a otros dos procedimientos.

Public Sub datos()

Dim Clave As String

If hresul.Available = False Then
Message(“No hay datos que coincidan con su búsqueda”)
Endif
Do While hresul.Available

Clave = hresul[“id_gasto”]
tabla.Add(Clave, Clave)

tabla[Clave][1] = hresul[“fecha”]
tabla[Clave][2] = hresul[“local”]
tabla[Clave][3] = hresul[“material”]
tabla[Clave][4] = hresul[“cantidad”]

hresul.MoveNext()

Loop

End

……………………………………………………………………………………………………………………………………
Public Sub llenar_todo()
Dim filtro As String

llenado                             ‘llamada al procedimiento llenado
hconn = Modcon.ConectarBase()
hresul = hconn.Exec(“Select * from gastos”)

datos                          ‘llamada al procedimiento datos
End

Como más adelante veremos, esta forma de hacerlo nos permitirá simplificar las consultas filtradas gracias a la modularización del sistema y la reutilización de código. Con esto ya estamos en condiciones de ver los gastos por pantalla y en general. En el próximo post comenzaremos a aplicar filtros simples y combinados.

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