1 Desarrollo de Proyectos con Visual Basic Guillermo M. Castro – Universidad Nacional de La Rioja Encuentro Informático Estudiantil 2007
2 ¿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.
3 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.
4 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.
5 Normalización Manejar hasta la tercera forma normal. Normalizar solo lo justo y necesario. Base No NormalizadaBase Normalizada (Artículos, Ventas, Compras, etc.)Artículos VentasCompras
6 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.
7 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_DESDEF.Text) + " " + Me.MB_DESDEH.Text + "# AND FECHAH = #" + FECHA_YANQUI(Me.MB_DESDEF.Text) + " " + Me.MB_DESDEH.Text + "# AND FECHAH = #" + FECHA_YANQUI(Me.MB_DESDEF.Text) + " " + Me.MB_DESDEH.Text + "# AND FECHAH
8 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.
9 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.
10 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.
11 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.
12 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 http://www.elguille.info https://mvp.support.microsoft.com https://mvp.support.microsoft.com /profile/Guillermo.Som “Lo mejor tiene dos letras...”
13 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. www.portalvb.com https://mvp.support.microsoft.com/profile/ Jorge https://mvp.support.microsoft.com/profile/ Jorge Para más información sobre los Profesionales Más Valiosos (MVP) visite http://mvp.support.microsoft.comhttp://mvp.support.microsoft.com
14 Vínculos interesantes http://vbasic.wordpress.com/2006/08/08 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://blog.velneo.com/web/p.pro?vdis=4&p=25764 http://www.elguille.info http://www.elguille.info http://www.recursosvisualbasic.com.ar http://www.recursosvisualbasic.com.ar http://www.vbforums.com http://www.vbforums.com http://www.vbsiglo21.net http://www.vbsiglo21.net http://www.solotuweb.com/VisualBasic.html http://www.solotuweb.com/VisualBasic.html Contacto (E-Mail/MSN): [email protected]@yahoo.com.ar