Desarrollo de Proyectos con
Visual Basic
Encuentro Informático
Estudiantil 2007
Guillermo M. Castro – Universidad Nacional de La Rioja
¿Por qué VB Classic?
 Programación de alto nivel.
 Soluciones rápidas para problemas
simples.
 Reduce tiempos y costos de
implementación y mantenimiento.
 Codificación rápida y sencilla.
 Amplia compatibilidad en cualquier
S.O. Microsoft Windows®.
 Excelente herramienta para tomar de
base.
 A pesar de tener muchísimos años,
sigue siendo una herramienta práctica
al momento de trabajar/estudiar.
Iniciar un proyecto
Realizar Entrevistas en el ambiente administrativo como
operativo de la empresa.
Realizar un relevamiento detallado.
Familiarizarse con el sistema utilizado hasta el momento
(si lo hubiera).
Responderse estas preguntas:
¿El cliente tiene en claro lo que desea?
¿Qué acciones debe realizar nuestro sistema?
¿Cuánto tiempo dispongo para realizarlo?
Determinar/aclarar los términos del desarrollo.
Base vs. Banco de Datos
Estructura de datos y
relaciones.
Tamaño del proyecto.
Tamaño de la información.
Portabilidad.
Independización.
Considerar que una vez puesto
en marcha la base de datos
debe permanecer inalterable.
Normalización
Manejar hasta la tercera
forma normal.
Base No Normalizada
Normalizar solo lo justo y
necesario.
Base Normalizada (Artículos,
Ventas, Compras, etc.)
Controles vs. Código
Recordar que la programación en VB Classic es secuencial.
No hay que complicar el diseño.
Una organización correcta optimiza nuestro trabajo.
Consultas SQL
 Manejar nuestras consultas SQL de la manera más simple posible.
 Crear consultas consecutivas.
 Cargar resultados, después analizarlos y finalmente mostrar.
DesdeWk = Mid(FechaDesde.Text, 4, 2) & "/" & Mid(FechaDesde.Text, 1, 2) & "/" &
Mid(FechaDesde.Text, 7, 4)
HastaWk = Mid(FechaHasta.Text, 4, 2) & "/" & Mid(FechaHasta.Text, 1, 2) & "/" &
Mid(FechaHasta.Text, 7, 4)
'************************************************************
'********* Proceso para caja de dos dias
***********
If FechaH = (FechaD + 1) Then
'Ventas del primer dia seleccionado en pantalla
LstCaja.Database.Execute "INSERT INTO LstCaja ( FechaVenta, NroOperacion,
NumeroRegistro, NumeroTroquel, PrecioUnitario, Cantidad, SubTotal,
PorcObraSocial, DescuentoItem, ImpDescuento, TipoIva, ImpIVA, ImpNetoTotal,
HoraVenta, cuit, DocumentoCliente, ApellidoRazonSocial, Sexo, CodObrasocial,
NroFarmacia, Usuario, TipoVta, Tarjeta ) SELECT Ventas.FechaVenta,
Ventas.NroOperacion, Ventas.NumeroRegistro, Ventas.NumeroTroquel,
Ventas.PrecioUnitario, Ventas.Cantidad, Ventas.SubTotal, Ventas.PorcObraSocial,
Ventas.DescuentoItem, Ventas.ImpDescuento, Ventas.TipoIva, Ventas.ImpIVA,
Ventas.ImpNeto, Ventas.HoraVenta, Ventas.cuit, Ventas.DocumentoCliente,
Ventas.ApellidoRazonSocial, Ventas.Sexo, Ventas.CodObrasocial,
Ventas.NroFarmacia, Ventas.Usuario, Ventas.TipoVta, Ventas.Tarjeta From Ventas
WHERE (((Ventas.FechaVenta)=#" & DesdeWk & "#));"
var = "SELECT LstCaja.* From LstCaja; "
LstCaja.RecordSource = var
LstCaja.Refresh
While LstCaja.Recordset.EOF = False
LstCaja.Recordset.Edit
LstCaja.Recordset!HoraVentaNum = Mid(LstCaja.Recordset!HoraVenta, 1, 2) &
Mid(LstCaja.Recordset!HoraVenta, 4, 2)
LstCaja.Recordset.Update
LstCaja.Recordset.MoveNext
Wend
var = "SELECT LstCaja.* From LstCaja; "
LstCaja.RecordSource = var
LstCaja.Refresh
Set rst = DBS_VENTAS.OpenRecordset("SELECT * FROM VENTAS
WHERE TIPO_COMP <> 0 AND FECHAH >= #" +
FECHA_YANQUI(Me.MB_DESDEF.Text) + " " + Me.MB_DESDEH.Text +
"# AND FECHAH <= #" + FECHA_YANQUI(Me.MB_HASTAF.Text) + " "
+ Me.MB_HASTAH.Text + ":59# AND SERVICIO = FALSE " +
TEMPSTR)
Set rst2 = DBS_COMPRAS.OpenRecordset("SELECT * FROM
COMPRAS WHERE FECHAH >= #" +
FECHA_YANQUI(Me.MB_DESDEF.Text) + " " + Me.MB_DESDEH.Text +
"# AND FECHAH <= #" + FECHA_YANQUI(Me.MB_HASTAF.Text) + " "
+ Me.MB_HASTAH.Text + ":59# AND MERCADERIA = True " +
TEMPSTR2)
Set rst3 = DBS_COMPRAS.OpenRecordset("SELECT * FROM
COMPRAS WHERE FECHAH >= #" +
FECHA_YANQUI(Me.MB_DESDEF.Text) + " " + Me.MB_DESDEH.Text +
"# AND FECHAH <= #" + FECHA_YANQUI(Me.MB_HASTAF.Text) + " "
+ Me.MB_HASTAH.Text + ":59# AND MERCADERIA = False " +
TEMPSTR2)
Set rst4 = DBS_VENTAS.OpenRecordset("SELECT * FROM VENTAS
WHERE FECHAH >= #" + FECHA_YANQUI(Me.MB_DESDEF.Text) + " "
+ Me.MB_DESDEH.Text + "# AND FECHAH <= #" +
FECHA_YANQUI(Me.MB_HASTAF.Text) + " " + Me.MB_HASTAH.Text +
":59# AND SERVICIO = TRUE " + TEMPSTR)
Las buenas costumbres
Evitar el exceso de copiar y
pegar.
Crear funciones comunes.
Usar comentarios en el
código.
Colocar un prefijo a los
nombres de control.
Evitar supuestos.
El cliente opera el sistema,
no la base de datos.
Evitar el uso de la fuente
MS Sans Serif.
Las buenas costumbres
Definir correctamente los tipos
de datos a usar.
No usar directorios estáticos.
El uso de Me nos permitirá
desempeñarnos más rápido.
Usar MZ-Tools para optimizar
nuestro código.
La simplicidad debe ser SIEMPRE más
para el usuario/operador que para el
programador.
Distribución y Mantenimiento
La instalación debe ser lo menos compleja posible.
Recordar la premisa cliente-programador.
Crear asistentes de instalación para mejorar la interfaz.
Se pueden crear aplicaciones que no necesitan instalación.
El término del mantenimiento se define al principio del
proyecto.
La actualización/reparación se debe aplicar
fundamentalmente a la aplicación.
Considerar todas las justificaciones de error del cliente.
DataReports vs. Crystal Reports
 Ambos requieren de archivos
externos para funcionar.
 Se pueden crear base de
datos de manera dinámica.
 Crystal Reports nos
permite exportación.
 No es necesario
complicar el diseño
para mostrar algo.
Profesionales VB
 Guillermo Som
Guillermo Som, más conocido como "el
Guille", es Microsoft MVP (Most
Valuable Professional) de Visual Basic
desde 1997. También es autor de
varios libros, revistas y otros medios
especializados en programación.
También es miembro de Ineta Speakers
Bureau Latin América y Mentor
Asociado de Solid Quality Learning
Iberoamericana.
 http://www.elguille.info
 https://mvp.support.microsoft.com
/profile/Guillermo.Som
“Lo mejor tiene dos letras...”
Profesionales VB
 Jorge Serrano
Es MVP de Visual Basic y trabaja
activamente con la comunidad de desarrollo
en España. Mantiene el sitio web
www.portalvb.com y es escritor de multitud
de libros sobre tecnologías de desarrollo
Microsoft además de colaborador asiduo de
las revistas especializadas del sector.
 https://mvp.support.microsoft.com/profile/
Jorge
 Para más información sobre los Profesionales Más Valiosos
(MVP) visite http://mvp.support.microsoft.com
Vínculos interesantes
http://vbasic.wordpress.com/2006/08/08
/aprender-visual-basic-vale-la-pena/
http://blog.velneo.com/web/p.pro?vdis=4&p=25764
http://www.elguille.info
http://www.recursosvisualbasic.com.ar
http://www.vbforums.com
http://www.vbsiglo21.net
http://www.solotuweb.com/VisualBasic.html
Contacto (E-Mail/MSN): [email protected]
Descargar

Desarrollo de Proyectos con Visual Basic