SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
MANUAL DE ACCESO A DATOS CON VB.NET
PRIMERA PARTE
Autor : Christian Rodriguez Olmos
Mail : tantanatan@hotmail.com
Fecha : 27 de Junio de 2007 – Inicio 21:25 hrs. – Termino 01:53 hrs.
Muchos hemos pasado por los foros haciendo muchas preguntas, y me incluyo,
pues mis conocimientos son mínimos en comparación a muchos expertos que rondan la
red, especialmente en los foros.
El problema radica en que cada vez que reviso algunos foros de programación, me
encuentro con preguntas que son relativamente básicas, lo que demuestra que hay
muchísima gente con escasos conocimientos de programación, y lo que es más importante,
de lógica. No se si es debido a que se trata de autodidactas, o por que sus educadores
realmente dieron una base muy pobre.
Bueno, independiente de la situación, me he dado cuenta que una de las preguntas
mas frecuentes es “como obtengo..?, como guardo..? como actualizo..??? datos en una
Base de Datos con Visual Basic.Net”
Es por ello que me tomé un tiempo para preparar esta guía que es extremadamente
básica, y talvez no cumpla con grandes estándares de ingeniería de software, o control de
errores, tratamiento de transacciones, etc. Recuerda… las preguntas son de “Acceso a
datos”.
Sin perjuicio de lo anterior, he subido algún material que puedes descargar y que
contiene guías, relacionadas al tratamiento de datos con Visual Basic .Net, e incluso
puedes encontrar algún manual del lenguaje.
Este material lo encontraras en el paquete que incluye este manual, pero si has
llegado solo a este documento, puede solicitarme todo lo ofrecido a mi correo
tantanatan@hotmail.com.
Recuerda que en el paquete encontraras:
- El manual (completo, o hasta la ultima parte terminada)
- Material de apoyo
- El código fuente del proyecto
- La base de datos
OBJETIVOS
El objetivo principal de esta guía es que logremos crear una aplicación que nos permita
leer, guardar, modificar y eliminar información de una base de datos.
Crearemos un sistema que nos permita gestionar productos y ventas, o sea, un micro
T.P.V. (Terminal de Punto de Venta). No quiero que imaginen un sistema de avanzada,
pero lograremos:
- Ingresar los productos
- Modificar Productos
- Vender Productos
(No será tratado el tema de la impresión, de la boleta, guía, o factura.)
REQUERIMIENTOS
Necesitamos tener instalado el Visual Basic .Net, ya sea en las versiones Express o Visual
Studio 2005, además, necesitaremos Access (XP / 2003)
También, necesitamos conocimientos básicos de VB.Net y de Base de datos.
CREANDO LA BASE DE DATOS
Abrimos Access y creamos nuestra base de datos con la siguiente estructura y en el
directorio que tú elijas.
Las tablas:
Productos : Guardará nuestros productos. El código del producto lo
generaremos por código, valga la redundancia, para así ver el funcionamiento de las
consultas de tipo Scalar.
UnidadesMedida : Una lista de unidades de medida, tales como; KGS, UND,
LTR, etc.
Compras : Guardaremos los datos de nuestras compras de productos
Ventas : Guardaremos los datos de nuestras ventas de productos
VentasDetalle : El detalle de la venta, asociada al numero de la factura.
IVA : Una lista de los impuestos aplicables.
Hasta aquí ya tenemos lista nuestra Base de Datos, ahora nos vamos a programar.
La definición de las columnas, es simple y lógica. Pero no te hagas problema pues se
adjunta la base de datos ya terminada, y vacía.
CREANDO EL PROYECTO
Abrimos Visual Basic.Net, ya sea Express o Visual Studio 2005 (en mi caso)
Creamos un nuevo proyecto Windows Aplicación para Windows
Y le llamamos “GestionNegocio”
CREANDO LOS FORMULARIOS
CREAR FORMULARIO MDI PRINCIPAL
Luego estando dentro del proyecto, Agregamos un nuevo elemento del tipo Formulario
Primario MDI, y lo llamamos MDIMain.
Nuestro proyecto debe presentarse de esta forma:
A continuación Eliminamos los componentes que se agregaron automáticamente.
(Marcados en rojo) Si vas a usar alguno, déjalo
Si borraste los componentes, puede que necesites borrar el código asociado.
En mi caso, como señale que se debían borrar todos, el código del MDIMain debería
quedar así:
Ahora en la vista Diseño del MDIMain arrastramos un MenuStrip para que configuremos
nuestro Menú de la aplicación.
La estructura del Menú es:
Archivo Salir
Tablas Unidades de Medida
Productos
Impuestos
Gestión Ingresar Factura de Compra
Emitir Factura de Venta
Si Observas, los menús debes estar ordenados lógicamente. Por ejemplo, Productos esta
bajo Unidades de Medida, pues requiere la existencia de una de ellas, para poder crearse.
Los ingresos de productos están sobre Emitir Factura de Venta, pues no podemos vender,
sin productos.
Esto es lógico dirás tú, pero he visto programas que no guardan un orden lógico en los
menús. Un espanto!!!.
Ahora dejemos lista la opción de menú Salir
En modo diseño hacemos clic en el menú Archivo, y doble clic en la opción Salir, para ver
el código asociado al menú.
El código del Menú Archivo Salir nos queda si:
Private Sub SalirToolStripMenuItem_Click(ByVal sender As _
System.Object, ByVal e As System.EventArgs) Handles _
SalirToolStripMenuItem.Click
End
End Sub
Con la instrucción End cerramos la aplicación. Aunque hay otra forma, pero más larga.
(Global.System.Windows.Forms.Application.Exit())
Ahora, nos vamos al Menú del Entorno y Cambiamos el Formulario Inicial.
Menu Proyecto Propiedades de GestionNegocio
Y en la opción de Formulario de Inicio seleccionamos el MDIMain
Ahora probamos nuestro proyecto. Presionamos F5 y se ejecutará la aplicación.
Si te arroja algún error, es por que algo te ha faltado, vuelve atrás y revisa.
Si todo sale bien, bastará elegir la opción de menú Archivo Salir, y nuestra aplicación
se cerrará.
Todo OK, continuamos.
Antes de seguir, necesito que al proyecto le agregues una Nueva Carpeta, y la llames
DataSets, esto nos ayudará a mantener un orden.
CREANDO EL ORIGEN DE LOS DATOS
Desde el menú del entorno elegimos la opción Datos Agregar nuevo origen de datos
Y Elegimos la opción Base de Datos.
Hacemos clic en siguiente.
Creamos una Nueva Conexión
Cambiamos el Origen de Datos a Archivo de Base de Datos Access
Buscamos la Base de Datos, la seleccionamos (Botón Examinar), y probamos la conexión
(Botón Probar Conexión). Todo debería estar OK hasta aquí.
Podemos Continuar entonces.
Cuando hagamos clic en Siguiente obtendremos el siguiente mensaje.
Lo que pasa es que nuestra base de datos no esta en el directorio de la aplicación (En mi
caso esta en EscrtorioSubirBDGestion.mdb, en tu caso da lo mismo donde la tengas).
Lo importante es elegir la opción “SI”. De esta forma la base de datos será copiada al
directorio del proyecto, y cada vez que ejecutes la aplicación (F5), esta se copiará al
directorio de resultado (ProjectsGestionNegocioGestionNegociobinDebug)
Lo importante es que la copia que estará en el directorio del proyecto
(ProjectsGestionNegocioGestionNegocio), será nuestra base de datos fuente para
futuras modificaciones, pues cuando ejecutes pruebas y agregues datos, cuando la vuelvas
a ejecutar veras que no están los datos, esto por que estarás copiando nuevamente la base
de datos origen. En este caso tendrás que copiar la base de datos del directorio de
resultados, al directorio del proyecto si quieres mantener los datos de pruebas.
Obviamente, esto no pasará una vez que finalices el proyecto, donde bastará que la base de
datos esté en el mismo directorio que el ejecutable de la aplicación.
Retomando… al hacer clic en “SI”, debemos asignar un nombre a la cadena de conexión.
Podemos mantener el nombre propuesto si lo deseamos (Yo lo haré)
Hacemos clic en Siguiente, y luego en finalizar, pues por ahora no nos interesa crear
ningún DataSet. (Confirma el siguiente mensaje)
Si revisamos el Archivo de Configuración de la Aplicación app.config, vemos la cadena
de conexión siguiente:
<connectionStrings>
<add name="GestionNegocio.My.MySettings.BDGestionConnectionString"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=|DataDirectory|BDGestion.mdb"
providerName="System.Data.OleDb" />
</connectionStrings>
Fíjate en el parámetro Source. Así se nos permite trabajar con la base de datos en la
misma carpeta que el ejecutable de la aplicación.
Hasta aquí tendremos así nuestro proyecto.
El DataSet que se creó cuando generamos el acceso a datos, debes eliminarlo, pues no
contiene nada, y no lo necesitamos. Luego crearemos los nuestros.
CREANDO LOS FORMULARIOS HIJOS (CHILD)
Los formularios se crearan según el orden de los menús.
FORMULARIO DE GESTIÓN DE UNIDADES DE MEDIDA
Utilizamos el Form1 que se generó al crear el proyecto, o agregamos un nuevo elemento
Windows Forms.
El nombre de este formulario será frmUnidadesMedida. Cámbialo además, al archivo
Form1.vb
A la propiedad Text del form le asignamos “Unidades de Medida”
CREANDO UN DATASET
Ahora a la carpeta DataSets Agrégale un Nuevo Elemento del tipo Conjunto de Datos, y
llámalo dsUnidadesMedida.
Al hacer clic en agregar tendremos este escenario. Pero lo cerramos (el DataSet creado).
Ahora, seleccionamos el menú del entorno. Datos Mostrar Orígenes de Datos
Con esto mostramos nuestros orígenes de datos, específicamente nuestros DataSets.
Seleccionamos el dsUnidadesMedida, y lo Configuramos usando el Asistente.
Elegimos la cadena de conexión que ya hemos creado.
Expandimos, y seleccionamos la tabla UnidadesMedida. Y Hacemos Clic en Finalizar.
Obtendremos el siguiente escenario.
A continuación modificaremos la consulta. Haz clic con el botón secundario del ratón,
sobre los métodos Fill, GetData() del TableAdapter, y elige Configurar
Podemos usar el Generador de Consultas, o escribirla directamente.
La consulta quedará así
Damos clic en siguiente
Damos clic en siguiente y luego en finalizar, y estamos listos.
Así nos queda el DataSet, con el TableAdapter creado.
Cerramos el dsUnidadesMedida y guardamos los cambios.
Ahora cierra los Orígenes de datos.
Para que abras el frmUnidadesMedida. (Diseño)
Ahora, seleccionamos el menú del entorno (Nuevamente).
Datos Mostrar Orígenes de Datos
Arrastra el DataSet al frmUnidadesMedida, pero hazlo desde el nodo UnidadesMedida
Y fíjate que este seleccionado el modo DataGridView.
Una vez que hayas arrastrado en DataSet al frmUnidadesMedida, consigue la siguiente
apariencia.
Ahora nos vamos al MDIMain y codificamos la acción del menú Tablas Unidades de
Medida.
Supongo que ya sabes como hacerlo. Seleccionas el menú Tablas, y luego haces doble
clic a la opción Unidades de Medida.
Debes dejar el código de esta manera.
Private Sub UnidadesDeMedidaToolStripMenuItem_Click(ByVal sender As _
System.Object, ByVal e As System.EventArgs) Handles _
UnidadesDeMedidaToolStripMenuItem.Click
Dim frmUnid As New frmUnidadesMedida
frmUnid.MdiParent = Me
frmUnid.Show()
End Sub
Con este código creamos una nueva instancia del frmUnidadesMedida, luego le
indicamos que es un formulario hijo del MDIMain, y después lo mostramos.
Ahora, ejecuta la aplicación (F5), y carga tantas veces quieras el formulario Unidades de
Medida.
Si has llegado hasta aquí, y la aplicación te funciona…. Felicitaciones.
Haz cumplido con la primera parte de este manual, y ya puedes comenzar a ingresar
unidades de medida.
Recuerda guardar los datos con el disquete.
Recuerda que estas trabajando con una copia de la base de datos, si cierras la aplicación y
la vuelves a ejecutar no tendrás los datos. Deberás copiar la base de datos de la carpeta de
resultados, y reemplazar la de la carpeta del proyecto, para mantener los datos
Yo ingrese las siguientes unidades de medida
MEJORAS
Seguramente, te preguntaras…
Que pasa si modifico la columna IdUnidadMedida…?
Que pasa si ingreso dos veces una unidad de medida…?
Bueno, para evitar modificar la columna IdUnidadMedida, que es Autonumerica,
selecciona el Grid, y en sus propiedades selecciona Columns Colección
Tendrás lo siguiente:
Aquí puedes jugar con las propiedades de las columnas.
A la columna IdUnidadMedida, puedes poner a False la propiedad Visible.
A la columa UnidadMedida, puedes cambiar las siguientes propiedades:
HeaderText = Unidad de Medida
MaxInputLength = 5
Con esto, hemos solucionado lo de la columna IdUnidadMedida, y un posible error si
ingresáramos una unidad de medida de 6 o más caracteres, pues en la tabla se definió con
5 caracteres.
Ahora, sin ingresamos 2 veces una misma unidad de medida nos arrojara el siguiente error
en tiempo de ejecución.
Lo podemos evitar de la siguiente manera.
El método donde se genera el error déjalo de la siguiente forma
Private Sub UnidadesMedidaBindingNavigatorSaveItem_Click(ByVal sender _
As System.Object, ByVal e As System.EventArgs) Handles _
UnidadesMedidaBindingNavigatorSaveItem.Click
Me.Validate()
Me.UnidadesMedidaBindingSource.EndEdit()
Try
Me.UnidadesMedidaTableAdapter.Update _
(Me.DsUnidadesMedida.UnidadesMedida)
Catch err As System.Data.OleDb.OleDbException
MsgBox("Se ha producido un error de consistencia en los datos
ingresados para guardar o actualizar", MsgBoxStyle.Exclamation)
Catch ex As Exception
MsgBox("Se ha producido un error no controlado al guardar o
actualizar los datos", MsgBoxStyle.Exclamation)
End Try
End Sub
Con esto controlaremos, errores de consistencia de los datos, y errores de carácter general.
Puedes agregar los que tú quieras. (de Conexión, etc.)
Si ejecutamos la aplicación, ya no tendremos los problemas de:
Que pasa si modifico la columna IdUnidadMedida…?
Ya no puede ser modificada por el usuario
Que pasa si ingreso dos veces una unidad de medida…?
Pasará esto:
Bastará con hacer clic en Aceptar, y luego eliminar la fila con error.
Bueno… espero que esta primera parte del manual les sirva. Y recuerden, que esto es
básico y talvez se me puedan pasar muchas ideas, pero… es una base para Uds. Y espero
que saquen provecho a este trabajo.
Saludos desde San Felipe – Chile
Christian Rodriguez Olmos
Si necesitas comprar cuentas Rapidshare.com Premium escríbeme a
cuentas.rapidshare@gmail.com

Más contenido relacionado

La actualidad más candente

Conectando visual basic 6.0 a bases de datos
Conectando visual basic 6.0 a bases de datosConectando visual basic 6.0 a bases de datos
Conectando visual basic 6.0 a bases de datosRafaelAponte16
 
CONEXION A BASE DE DATOS - VISUAL BASIC 6.0
CONEXION A BASE DE DATOS - VISUAL BASIC 6.0 CONEXION A BASE DE DATOS - VISUAL BASIC 6.0
CONEXION A BASE DE DATOS - VISUAL BASIC 6.0 Ambar Larrazabal
 
Curso SQL-C# Basico
Curso SQL-C# BasicoCurso SQL-C# Basico
Curso SQL-C# BasicoserTI_MX
 
ConexióN De Base De Datos
ConexióN De Base De DatosConexióN De Base De Datos
ConexióN De Base De DatosVerenice Corea
 
Informe programacion leomar salas
Informe programacion leomar salasInforme programacion leomar salas
Informe programacion leomar salasLeomarSalas2
 
8. Acceso A Datos Con Microsoft Ado.Net
8.  Acceso A Datos Con Microsoft Ado.Net8.  Acceso A Datos Con Microsoft Ado.Net
8. Acceso A Datos Con Microsoft Ado.Netguest3cf6ff
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datosRafael Quintero
 
Como conectar visual basic 6.0 a una base de datos microsoft sql server
Como conectar visual basic 6.0 a una base de datos microsoft sql serverComo conectar visual basic 6.0 a una base de datos microsoft sql server
Como conectar visual basic 6.0 a una base de datos microsoft sql serverKarolaynCardozo1
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basicsantiagomario8
 
Bases de datos_angelina_monetti
Bases de datos_angelina_monettiBases de datos_angelina_monetti
Bases de datos_angelina_monettiangelinamonetti1
 
revista base de datos y visual studio
revista base de datos y visual studiorevista base de datos y visual studio
revista base de datos y visual studioJhos Ayneth Suarez
 
Base de Datos Desde Visual Basic 6.0
Base de Datos Desde Visual Basic 6.0Base de Datos Desde Visual Basic 6.0
Base de Datos Desde Visual Basic 6.0CristianRomero179
 
Ado.net 2012
Ado.net 2012Ado.net 2012
Ado.net 2012pepelon_k
 
Base de datos desde vs6.0
Base de datos desde vs6.0Base de datos desde vs6.0
Base de datos desde vs6.0CsarDurango
 

La actualidad más candente (20)

Conectando visual basic 6.0 a bases de datos
Conectando visual basic 6.0 a bases de datosConectando visual basic 6.0 a bases de datos
Conectando visual basic 6.0 a bases de datos
 
CONEXION A BASE DE DATOS - VISUAL BASIC 6.0
CONEXION A BASE DE DATOS - VISUAL BASIC 6.0 CONEXION A BASE DE DATOS - VISUAL BASIC 6.0
CONEXION A BASE DE DATOS - VISUAL BASIC 6.0
 
Curso SQL-C# Basico
Curso SQL-C# BasicoCurso SQL-C# Basico
Curso SQL-C# Basico
 
ConexióN De Base De Datos
ConexióN De Base De DatosConexióN De Base De Datos
ConexióN De Base De Datos
 
Informe programacion leomar salas
Informe programacion leomar salasInforme programacion leomar salas
Informe programacion leomar salas
 
ADO .NET
ADO .NETADO .NET
ADO .NET
 
8. Acceso A Datos Con Microsoft Ado.Net
8.  Acceso A Datos Con Microsoft Ado.Net8.  Acceso A Datos Con Microsoft Ado.Net
8. Acceso A Datos Con Microsoft Ado.Net
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datos
 
Como conectar visual basic 6.0 a una base de datos microsoft sql server
Como conectar visual basic 6.0 a una base de datos microsoft sql serverComo conectar visual basic 6.0 a una base de datos microsoft sql server
Como conectar visual basic 6.0 a una base de datos microsoft sql server
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
 
Visual y sql
Visual y sqlVisual y sql
Visual y sql
 
Bases de datos_angelina_monetti
Bases de datos_angelina_monettiBases de datos_angelina_monetti
Bases de datos_angelina_monetti
 
revista base de datos y visual studio
revista base de datos y visual studiorevista base de datos y visual studio
revista base de datos y visual studio
 
Conexion a bases de datos
Conexion a bases de datosConexion a bases de datos
Conexion a bases de datos
 
Access 2007 Y Visual 2008
Access 2007 Y Visual 2008Access 2007 Y Visual 2008
Access 2007 Y Visual 2008
 
Base de Datos Desde Visual Basic 6.0
Base de Datos Desde Visual Basic 6.0Base de Datos Desde Visual Basic 6.0
Base de Datos Desde Visual Basic 6.0
 
VISUAL BASIC 6.0
VISUAL BASIC 6.0 VISUAL BASIC 6.0
VISUAL BASIC 6.0
 
Ado.net 2012
Ado.net 2012Ado.net 2012
Ado.net 2012
 
Base de datos desde vs6.0
Base de datos desde vs6.0Base de datos desde vs6.0
Base de datos desde vs6.0
 
VISUAL Y SQL SERVER
VISUAL Y SQL SERVERVISUAL Y SQL SERVER
VISUAL Y SQL SERVER
 

Destacado

Manual Visual Basic .NET SQL Server paso a paso
Manual Visual Basic .NET SQL Server paso a pasoManual Visual Basic .NET SQL Server paso a paso
Manual Visual Basic .NET SQL Server paso a pasoatak
 
Programación visual con VB.NET
Programación visual con VB.NETProgramación visual con VB.NET
Programación visual con VB.NETYamil Lambert
 
CONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVERCONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVERDarwin Durand
 
Como diseñar un sistema de ventas
Como diseñar un sistema de ventasComo diseñar un sistema de ventas
Como diseñar un sistema de ventasBien Pensado
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Rodolfo Finochietti
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)Darwin Durand
 
Sistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosSistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosAidil Sanchez
 
Farmacia cuba --- PROYECTO FINAL -- VENTA
Farmacia cuba --- PROYECTO FINAL -- VENTAFarmacia cuba --- PROYECTO FINAL -- VENTA
Farmacia cuba --- PROYECTO FINAL -- VENTAeltrome12
 
Curso desarrollador visual studio .NET 2013
Curso desarrollador visual studio .NET 2013Curso desarrollador visual studio .NET 2013
Curso desarrollador visual studio .NET 2013iLabora
 
Guia trabajo visual basic (parte II)
Guia trabajo  visual basic (parte II)Guia trabajo  visual basic (parte II)
Guia trabajo visual basic (parte II)ColegioUpb
 
Ficha esquematica de auditoria
Ficha esquematica de auditoriaFicha esquematica de auditoria
Ficha esquematica de auditoriarafael_isaac
 
Guia trabajo visual basic (parte I)
Guia trabajo   visual basic (parte I)Guia trabajo   visual basic (parte I)
Guia trabajo visual basic (parte I)ColegioUpb
 
Presentac..[1]
Presentac..[1]Presentac..[1]
Presentac..[1]msv3
 
Expo 2[2]!!!
Expo 2[2]!!!Expo 2[2]!!!
Expo 2[2]!!!msv3
 
Guía entregable software parte i
Guía entregable software parte iGuía entregable software parte i
Guía entregable software parte iColegioUpb
 
Manual gui net_beans
Manual gui net_beansManual gui net_beans
Manual gui net_beansYefry Coz
 
VS2010 como herramienta de desarrollo
VS2010 como herramienta de desarrolloVS2010 como herramienta de desarrollo
VS2010 como herramienta de desarrolloJersson Dongo
 
NetBeans
NetBeansNetBeans
NetBeans1da4
 

Destacado (20)

Manual Visual Basic .NET SQL Server paso a paso
Manual Visual Basic .NET SQL Server paso a pasoManual Visual Basic .NET SQL Server paso a paso
Manual Visual Basic .NET SQL Server paso a paso
 
Programación visual con VB.NET
Programación visual con VB.NETProgramación visual con VB.NET
Programación visual con VB.NET
 
CONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVERCONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVER
 
Como diseñar un sistema de ventas
Como diseñar un sistema de ventasComo diseñar un sistema de ventas
Como diseñar un sistema de ventas
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)
 
Sistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosSistema para el control de ventas e inventarios
Sistema para el control de ventas e inventarios
 
Manual de Elaboración de Reportes Web en eFactory Software ERP/CRM con VB.NET...
Manual de Elaboración de Reportes Web en eFactory Software ERP/CRM con VB.NET...Manual de Elaboración de Reportes Web en eFactory Software ERP/CRM con VB.NET...
Manual de Elaboración de Reportes Web en eFactory Software ERP/CRM con VB.NET...
 
Farmacia cuba --- PROYECTO FINAL -- VENTA
Farmacia cuba --- PROYECTO FINAL -- VENTAFarmacia cuba --- PROYECTO FINAL -- VENTA
Farmacia cuba --- PROYECTO FINAL -- VENTA
 
Curso desarrollador visual studio .NET 2013
Curso desarrollador visual studio .NET 2013Curso desarrollador visual studio .NET 2013
Curso desarrollador visual studio .NET 2013
 
Guia trabajo visual basic (parte II)
Guia trabajo  visual basic (parte II)Guia trabajo  visual basic (parte II)
Guia trabajo visual basic (parte II)
 
Ficha esquematica de auditoria
Ficha esquematica de auditoriaFicha esquematica de auditoria
Ficha esquematica de auditoria
 
Netbeans ide
Netbeans ideNetbeans ide
Netbeans ide
 
Guia trabajo visual basic (parte I)
Guia trabajo   visual basic (parte I)Guia trabajo   visual basic (parte I)
Guia trabajo visual basic (parte I)
 
Presentac..[1]
Presentac..[1]Presentac..[1]
Presentac..[1]
 
Expo 2[2]!!!
Expo 2[2]!!!Expo 2[2]!!!
Expo 2[2]!!!
 
Guía entregable software parte i
Guía entregable software parte iGuía entregable software parte i
Guía entregable software parte i
 
Manual gui net_beans
Manual gui net_beansManual gui net_beans
Manual gui net_beans
 
VS2010 como herramienta de desarrollo
VS2010 como herramienta de desarrolloVS2010 como herramienta de desarrollo
VS2010 como herramienta de desarrollo
 
NetBeans
NetBeansNetBeans
NetBeans
 

Similar a Manual acceso a datos vb.net

Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Vicente Gerardo Guzman Lucio
 
Trabajo programacion Raineth Crespo
Trabajo programacion Raineth CrespoTrabajo programacion Raineth Crespo
Trabajo programacion Raineth CrespoRaineth Crespo Peña
 
Code bloks tutorial_terminado
Code bloks tutorial_terminadoCode bloks tutorial_terminado
Code bloks tutorial_terminadoLEFR202
 
Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)javier_ot99
 
Trabajo final de programacion jean delgado SAIA
Trabajo final de programacion jean delgado SAIATrabajo final de programacion jean delgado SAIA
Trabajo final de programacion jean delgado SAIAJean Carlos Delgado Ortega
 
Informe conexion de base de datos visual basic 6.0
Informe conexion de base de datos visual basic 6.0Informe conexion de base de datos visual basic 6.0
Informe conexion de base de datos visual basic 6.0eymisaraiparedeslugo
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programarEduardo Méndez
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programarJuan Hoyos
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programarblasty2
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programarblasty2
 
Menú de Programas
Menú de ProgramasMenú de Programas
Menú de Programascris kathy
 
Suite de Desarrollo con SmartObjects.pdf
Suite de Desarrollo con SmartObjects.pdfSuite de Desarrollo con SmartObjects.pdf
Suite de Desarrollo con SmartObjects.pdfRafael Laya
 

Similar a Manual acceso a datos vb.net (20)

Tutorial ASP .NET
Tutorial ASP .NETTutorial ASP .NET
Tutorial ASP .NET
 
Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#
 
Trabajo programacion Raineth Crespo
Trabajo programacion Raineth CrespoTrabajo programacion Raineth Crespo
Trabajo programacion Raineth Crespo
 
Trabajo final de programacion
Trabajo final de programacionTrabajo final de programacion
Trabajo final de programacion
 
Code bloks tutorial_terminado
Code bloks tutorial_terminadoCode bloks tutorial_terminado
Code bloks tutorial_terminado
 
Code bloks tutorial_terminado
Code bloks tutorial_terminadoCode bloks tutorial_terminado
Code bloks tutorial_terminado
 
Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)
 
Trabajo final de programacion jean delgado SAIA
Trabajo final de programacion jean delgado SAIATrabajo final de programacion jean delgado SAIA
Trabajo final de programacion jean delgado SAIA
 
Programacion2
Programacion2Programacion2
Programacion2
 
Informe conexion de base de datos visual basic 6.0
Informe conexion de base de datos visual basic 6.0Informe conexion de base de datos visual basic 6.0
Informe conexion de base de datos visual basic 6.0
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Presentacion2 publica
Presentacion2 publicaPresentacion2 publica
Presentacion2 publica
 
Menú de Programas
Menú de ProgramasMenú de Programas
Menú de Programas
 
Trucos en access
Trucos en accessTrucos en access
Trucos en access
 
Suite de Desarrollo con SmartObjects.pdf
Suite de Desarrollo con SmartObjects.pdfSuite de Desarrollo con SmartObjects.pdf
Suite de Desarrollo con SmartObjects.pdf
 
I report
I reportI report
I report
 
I report
I reportI report
I report
 

Manual acceso a datos vb.net

  • 1. MANUAL DE ACCESO A DATOS CON VB.NET PRIMERA PARTE Autor : Christian Rodriguez Olmos Mail : tantanatan@hotmail.com Fecha : 27 de Junio de 2007 – Inicio 21:25 hrs. – Termino 01:53 hrs. Muchos hemos pasado por los foros haciendo muchas preguntas, y me incluyo, pues mis conocimientos son mínimos en comparación a muchos expertos que rondan la red, especialmente en los foros. El problema radica en que cada vez que reviso algunos foros de programación, me encuentro con preguntas que son relativamente básicas, lo que demuestra que hay muchísima gente con escasos conocimientos de programación, y lo que es más importante, de lógica. No se si es debido a que se trata de autodidactas, o por que sus educadores realmente dieron una base muy pobre. Bueno, independiente de la situación, me he dado cuenta que una de las preguntas mas frecuentes es “como obtengo..?, como guardo..? como actualizo..??? datos en una Base de Datos con Visual Basic.Net” Es por ello que me tomé un tiempo para preparar esta guía que es extremadamente básica, y talvez no cumpla con grandes estándares de ingeniería de software, o control de errores, tratamiento de transacciones, etc. Recuerda… las preguntas son de “Acceso a datos”. Sin perjuicio de lo anterior, he subido algún material que puedes descargar y que contiene guías, relacionadas al tratamiento de datos con Visual Basic .Net, e incluso puedes encontrar algún manual del lenguaje. Este material lo encontraras en el paquete que incluye este manual, pero si has llegado solo a este documento, puede solicitarme todo lo ofrecido a mi correo tantanatan@hotmail.com. Recuerda que en el paquete encontraras: - El manual (completo, o hasta la ultima parte terminada) - Material de apoyo - El código fuente del proyecto - La base de datos
  • 2. OBJETIVOS El objetivo principal de esta guía es que logremos crear una aplicación que nos permita leer, guardar, modificar y eliminar información de una base de datos. Crearemos un sistema que nos permita gestionar productos y ventas, o sea, un micro T.P.V. (Terminal de Punto de Venta). No quiero que imaginen un sistema de avanzada, pero lograremos: - Ingresar los productos - Modificar Productos - Vender Productos (No será tratado el tema de la impresión, de la boleta, guía, o factura.) REQUERIMIENTOS Necesitamos tener instalado el Visual Basic .Net, ya sea en las versiones Express o Visual Studio 2005, además, necesitaremos Access (XP / 2003) También, necesitamos conocimientos básicos de VB.Net y de Base de datos.
  • 3. CREANDO LA BASE DE DATOS Abrimos Access y creamos nuestra base de datos con la siguiente estructura y en el directorio que tú elijas. Las tablas: Productos : Guardará nuestros productos. El código del producto lo generaremos por código, valga la redundancia, para así ver el funcionamiento de las consultas de tipo Scalar. UnidadesMedida : Una lista de unidades de medida, tales como; KGS, UND, LTR, etc. Compras : Guardaremos los datos de nuestras compras de productos Ventas : Guardaremos los datos de nuestras ventas de productos VentasDetalle : El detalle de la venta, asociada al numero de la factura. IVA : Una lista de los impuestos aplicables. Hasta aquí ya tenemos lista nuestra Base de Datos, ahora nos vamos a programar. La definición de las columnas, es simple y lógica. Pero no te hagas problema pues se adjunta la base de datos ya terminada, y vacía.
  • 4. CREANDO EL PROYECTO Abrimos Visual Basic.Net, ya sea Express o Visual Studio 2005 (en mi caso) Creamos un nuevo proyecto Windows Aplicación para Windows Y le llamamos “GestionNegocio”
  • 5. CREANDO LOS FORMULARIOS CREAR FORMULARIO MDI PRINCIPAL Luego estando dentro del proyecto, Agregamos un nuevo elemento del tipo Formulario Primario MDI, y lo llamamos MDIMain. Nuestro proyecto debe presentarse de esta forma: A continuación Eliminamos los componentes que se agregaron automáticamente. (Marcados en rojo) Si vas a usar alguno, déjalo
  • 6. Si borraste los componentes, puede que necesites borrar el código asociado. En mi caso, como señale que se debían borrar todos, el código del MDIMain debería quedar así: Ahora en la vista Diseño del MDIMain arrastramos un MenuStrip para que configuremos nuestro Menú de la aplicación. La estructura del Menú es: Archivo Salir Tablas Unidades de Medida Productos Impuestos
  • 7. Gestión Ingresar Factura de Compra Emitir Factura de Venta Si Observas, los menús debes estar ordenados lógicamente. Por ejemplo, Productos esta bajo Unidades de Medida, pues requiere la existencia de una de ellas, para poder crearse. Los ingresos de productos están sobre Emitir Factura de Venta, pues no podemos vender, sin productos. Esto es lógico dirás tú, pero he visto programas que no guardan un orden lógico en los menús. Un espanto!!!. Ahora dejemos lista la opción de menú Salir En modo diseño hacemos clic en el menú Archivo, y doble clic en la opción Salir, para ver el código asociado al menú. El código del Menú Archivo Salir nos queda si: Private Sub SalirToolStripMenuItem_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) Handles _ SalirToolStripMenuItem.Click End End Sub Con la instrucción End cerramos la aplicación. Aunque hay otra forma, pero más larga. (Global.System.Windows.Forms.Application.Exit()) Ahora, nos vamos al Menú del Entorno y Cambiamos el Formulario Inicial. Menu Proyecto Propiedades de GestionNegocio Y en la opción de Formulario de Inicio seleccionamos el MDIMain
  • 8. Ahora probamos nuestro proyecto. Presionamos F5 y se ejecutará la aplicación. Si te arroja algún error, es por que algo te ha faltado, vuelve atrás y revisa. Si todo sale bien, bastará elegir la opción de menú Archivo Salir, y nuestra aplicación se cerrará. Todo OK, continuamos. Antes de seguir, necesito que al proyecto le agregues una Nueva Carpeta, y la llames DataSets, esto nos ayudará a mantener un orden.
  • 9. CREANDO EL ORIGEN DE LOS DATOS Desde el menú del entorno elegimos la opción Datos Agregar nuevo origen de datos Y Elegimos la opción Base de Datos. Hacemos clic en siguiente. Creamos una Nueva Conexión
  • 10. Cambiamos el Origen de Datos a Archivo de Base de Datos Access Buscamos la Base de Datos, la seleccionamos (Botón Examinar), y probamos la conexión (Botón Probar Conexión). Todo debería estar OK hasta aquí.
  • 11. Podemos Continuar entonces. Cuando hagamos clic en Siguiente obtendremos el siguiente mensaje. Lo que pasa es que nuestra base de datos no esta en el directorio de la aplicación (En mi caso esta en EscrtorioSubirBDGestion.mdb, en tu caso da lo mismo donde la tengas). Lo importante es elegir la opción “SI”. De esta forma la base de datos será copiada al directorio del proyecto, y cada vez que ejecutes la aplicación (F5), esta se copiará al directorio de resultado (ProjectsGestionNegocioGestionNegociobinDebug) Lo importante es que la copia que estará en el directorio del proyecto (ProjectsGestionNegocioGestionNegocio), será nuestra base de datos fuente para futuras modificaciones, pues cuando ejecutes pruebas y agregues datos, cuando la vuelvas a ejecutar veras que no están los datos, esto por que estarás copiando nuevamente la base de datos origen. En este caso tendrás que copiar la base de datos del directorio de resultados, al directorio del proyecto si quieres mantener los datos de pruebas.
  • 12. Obviamente, esto no pasará una vez que finalices el proyecto, donde bastará que la base de datos esté en el mismo directorio que el ejecutable de la aplicación. Retomando… al hacer clic en “SI”, debemos asignar un nombre a la cadena de conexión. Podemos mantener el nombre propuesto si lo deseamos (Yo lo haré) Hacemos clic en Siguiente, y luego en finalizar, pues por ahora no nos interesa crear ningún DataSet. (Confirma el siguiente mensaje)
  • 13. Si revisamos el Archivo de Configuración de la Aplicación app.config, vemos la cadena de conexión siguiente: <connectionStrings> <add name="GestionNegocio.My.MySettings.BDGestionConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|BDGestion.mdb" providerName="System.Data.OleDb" /> </connectionStrings> Fíjate en el parámetro Source. Así se nos permite trabajar con la base de datos en la misma carpeta que el ejecutable de la aplicación. Hasta aquí tendremos así nuestro proyecto. El DataSet que se creó cuando generamos el acceso a datos, debes eliminarlo, pues no contiene nada, y no lo necesitamos. Luego crearemos los nuestros.
  • 14. CREANDO LOS FORMULARIOS HIJOS (CHILD) Los formularios se crearan según el orden de los menús. FORMULARIO DE GESTIÓN DE UNIDADES DE MEDIDA Utilizamos el Form1 que se generó al crear el proyecto, o agregamos un nuevo elemento Windows Forms. El nombre de este formulario será frmUnidadesMedida. Cámbialo además, al archivo Form1.vb A la propiedad Text del form le asignamos “Unidades de Medida” CREANDO UN DATASET Ahora a la carpeta DataSets Agrégale un Nuevo Elemento del tipo Conjunto de Datos, y llámalo dsUnidadesMedida. Al hacer clic en agregar tendremos este escenario. Pero lo cerramos (el DataSet creado).
  • 15. Ahora, seleccionamos el menú del entorno. Datos Mostrar Orígenes de Datos Con esto mostramos nuestros orígenes de datos, específicamente nuestros DataSets. Seleccionamos el dsUnidadesMedida, y lo Configuramos usando el Asistente. Elegimos la cadena de conexión que ya hemos creado. Expandimos, y seleccionamos la tabla UnidadesMedida. Y Hacemos Clic en Finalizar.
  • 16. Obtendremos el siguiente escenario. A continuación modificaremos la consulta. Haz clic con el botón secundario del ratón, sobre los métodos Fill, GetData() del TableAdapter, y elige Configurar Podemos usar el Generador de Consultas, o escribirla directamente. La consulta quedará así Damos clic en siguiente
  • 17. Damos clic en siguiente y luego en finalizar, y estamos listos. Así nos queda el DataSet, con el TableAdapter creado. Cerramos el dsUnidadesMedida y guardamos los cambios.
  • 18. Ahora cierra los Orígenes de datos. Para que abras el frmUnidadesMedida. (Diseño) Ahora, seleccionamos el menú del entorno (Nuevamente). Datos Mostrar Orígenes de Datos Arrastra el DataSet al frmUnidadesMedida, pero hazlo desde el nodo UnidadesMedida Y fíjate que este seleccionado el modo DataGridView.
  • 19. Una vez que hayas arrastrado en DataSet al frmUnidadesMedida, consigue la siguiente apariencia. Ahora nos vamos al MDIMain y codificamos la acción del menú Tablas Unidades de Medida. Supongo que ya sabes como hacerlo. Seleccionas el menú Tablas, y luego haces doble clic a la opción Unidades de Medida. Debes dejar el código de esta manera. Private Sub UnidadesDeMedidaToolStripMenuItem_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) Handles _ UnidadesDeMedidaToolStripMenuItem.Click Dim frmUnid As New frmUnidadesMedida frmUnid.MdiParent = Me frmUnid.Show() End Sub Con este código creamos una nueva instancia del frmUnidadesMedida, luego le indicamos que es un formulario hijo del MDIMain, y después lo mostramos.
  • 20. Ahora, ejecuta la aplicación (F5), y carga tantas veces quieras el formulario Unidades de Medida. Si has llegado hasta aquí, y la aplicación te funciona…. Felicitaciones. Haz cumplido con la primera parte de este manual, y ya puedes comenzar a ingresar unidades de medida. Recuerda guardar los datos con el disquete. Recuerda que estas trabajando con una copia de la base de datos, si cierras la aplicación y la vuelves a ejecutar no tendrás los datos. Deberás copiar la base de datos de la carpeta de resultados, y reemplazar la de la carpeta del proyecto, para mantener los datos Yo ingrese las siguientes unidades de medida
  • 21. MEJORAS Seguramente, te preguntaras… Que pasa si modifico la columna IdUnidadMedida…? Que pasa si ingreso dos veces una unidad de medida…? Bueno, para evitar modificar la columna IdUnidadMedida, que es Autonumerica, selecciona el Grid, y en sus propiedades selecciona Columns Colección Tendrás lo siguiente: Aquí puedes jugar con las propiedades de las columnas. A la columna IdUnidadMedida, puedes poner a False la propiedad Visible. A la columa UnidadMedida, puedes cambiar las siguientes propiedades: HeaderText = Unidad de Medida MaxInputLength = 5 Con esto, hemos solucionado lo de la columna IdUnidadMedida, y un posible error si ingresáramos una unidad de medida de 6 o más caracteres, pues en la tabla se definió con 5 caracteres.
  • 22. Ahora, sin ingresamos 2 veces una misma unidad de medida nos arrojara el siguiente error en tiempo de ejecución. Lo podemos evitar de la siguiente manera. El método donde se genera el error déjalo de la siguiente forma Private Sub UnidadesMedidaBindingNavigatorSaveItem_Click(ByVal sender _ As System.Object, ByVal e As System.EventArgs) Handles _ UnidadesMedidaBindingNavigatorSaveItem.Click Me.Validate() Me.UnidadesMedidaBindingSource.EndEdit() Try Me.UnidadesMedidaTableAdapter.Update _ (Me.DsUnidadesMedida.UnidadesMedida) Catch err As System.Data.OleDb.OleDbException MsgBox("Se ha producido un error de consistencia en los datos ingresados para guardar o actualizar", MsgBoxStyle.Exclamation) Catch ex As Exception MsgBox("Se ha producido un error no controlado al guardar o actualizar los datos", MsgBoxStyle.Exclamation) End Try End Sub Con esto controlaremos, errores de consistencia de los datos, y errores de carácter general. Puedes agregar los que tú quieras. (de Conexión, etc.)
  • 23. Si ejecutamos la aplicación, ya no tendremos los problemas de: Que pasa si modifico la columna IdUnidadMedida…? Ya no puede ser modificada por el usuario Que pasa si ingreso dos veces una unidad de medida…? Pasará esto: Bastará con hacer clic en Aceptar, y luego eliminar la fila con error. Bueno… espero que esta primera parte del manual les sirva. Y recuerden, que esto es básico y talvez se me puedan pasar muchas ideas, pero… es una base para Uds. Y espero que saquen provecho a este trabajo. Saludos desde San Felipe – Chile Christian Rodriguez Olmos Si necesitas comprar cuentas Rapidshare.com Premium escríbeme a cuentas.rapidshare@gmail.com