Formulario para ingreso de gastos

Bien, vamos a agregar ahora el formulario Fingreso, el cual es accesible para todos los usuarios del sistema. Vamos a tener dos combobox donde cargaremos los locales y materiales desde la base de datos para no escribirlos a mano, lo cual a la vez de facilitarnos el trabajo nos evita ingresar los nombres incorrectamente. Su aspecto es el siguiente:

fingreso

Fingreso en tiempo de diseño

Como se puede ver ademas de los combos (cbxmaterial y cbxlugar), vamos a agregar dos textbox (txtlugar y txtmaterial), un valuebox (vbxcantidad), un datebox y 5 botones( btnaceptar, btnmostrar,btncambiar, btncancelar y btnsalir).

La utilidad de los textbox es que veamos bien los datos que vamos a guardar antes de hacerlo. Con muchos lugares y materiales , a veces el apuro nos hace errar y ver lo que elegimos nos facilita el trabajo. En la primera versión lo tomaba directamente de los combos, pero vuelta a vuelta se introducían mal los datos.

Vamos por partes

Lo primero que vamos a hacer es crear los procedimientos que nos carguen los combos desde la base de datos:

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  ‘declaramos variables locales

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

Do While hresul.Available ‘mientras haya resultados
Clave = hresul[“nombre”]
lista.Add(Clave) ‘agregar a la lista
hresul.MoveNext() ‘avanzar al siguiente
Loop

End

Los comentarios en rojo explican un procedimiento que ya hemos usado antes y que es bastante sencillo. Para cargarlos simplemente lo llamamos por su nombre y entre paréntesis le pasamos el argumento que será el nombre del control, en el evento open del formulario.

listado(Cbxmaterial)
listado1(Cbxlugar)

Al principio del  archivo de clase de Fingreso vamos a declarar algunas variables privadas para poder usarlas desde cualquier función o procedimiento dentro del formulario.

Private hconn As Connection
Private hresul As Result
Private lugar As String
Private material As String

Cuando se produzca el evento change de cada combobox, se le asignará al valor seleccionado en los mismos a las variables lugar y material , y a su vez lo copiamos a los textbox al efecto. Habilitamos a su vez el botón Guardar, que se deshabilitará luego de ser presionado para evitar guardar por error dos veces el mismo dato. Esto es necesario, aunque pueda parecer que no. A continuación os dejo el código comentado de ambos eventos,y continuamos en un próximo post.

Public Sub Cbxlugar_Change()

Lugar = Cbxlugar.Current.Text ‘asignamos el valor a la variable lugar
Txtlugar.text = lugar           ‘la copiamos al textbox
Btnaceptar.enabled = True   ‘habilitamos el botón guardar

End

Public Sub Cbxmaterial_Change()

material = Cbxmaterial.Current.Text
Txtmaterial.Text = material
Btnaceptar.enabled = True

End

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