Ejemplo de base de datos y reports con jasper report
Como crear un proyecto en visual Studio 2010
1. COMO CREAR UN PROYECTO EN VISUAL STUDIO 2010.
Bueno primero lo que hacemos es crear un Nuevo Proyecto; Cambiamos el nombre y la ubicación damos
click en aceptar.
Entonces nos aparecerá un formulario.
2. Luego modificamos el formulario de acuerdo con la ficha que vamos a usar como en este caso es la
siguiente: Ficha de Observación.
Creamos la hoja de datos en Access de acuerdo a la ficha.
Bueno en este caso solo utilizaremos las primeras 6 preguntas que son:
1. Inclinacion Anteroposterior.
2. Alineacion del Cuerpo.
3. Posicion de la Cabeza.
4. Movimiento de la Cabeza al Respirar.
5. Giro de la Cabeza al Respirar.
6. Rolido.
Como pueden ver estas son preguntas cerradas.
3. Después modificamos elformulario le ponemos un nombre si lo deseas como es el primero no hay
problema por que ya tiene Form1, si lo deseas en este caso es: frmRegistroEncuesta.
Ponemos el titulo que será Registro de Encuesta todo esto en la ventana propiedades.
4. Bueno arrastramos un BindingNavigator de la ventana Herramientas.
El cual solo le cambiamos el nombre: EcuestaBindingnavigator.
Como pueden ver agregamos un BindingNavigator que lo podemos ver en la parte de arriba del
formulario.
Luego insertamos un BindingSource y le pones el nombre del mismo, que lo podemos observar en la
parte de abajo del formulario el cual tiene el nombre de EncuestaBindingSource1.
5. Bueno ahora le damos clic derecho en el proyecto Encuesta, Agregar y Nuevo Elemento.
Bueno ahora nos saldrá un cuadro seleccionamos Conjunto de Datos cambiamos el nombre: dsTablas y
damos clic en Agregar.
6. Desde luego nos saldrá un DataSet vacío.
Bueno ahora agregamos una Tabla de Datos.
7. Le damos un nombre en este caso es Encuesta.
Y luego le damos click derecho en el Data Set, agregar y columna.
8. Nos saldrá una columna y le ponemos el nombre IdInclinacion.
Como sabrán luego a la primera columna le ponemos una llave, Clave.
9. Luego ponemos todas las columnas que necesitamos.
Ahora si arrastramos el Data Set al formulario.
10. Ahora nos saldrá un cuadro que en el conjunto de datos le vamos a poner el DSTabla que creamos
anteriormente y damos click en aceptar.
Entonces ahora para insertar el Data Set en el formulario tenemos que ir a herramientas Data Set, lo
arrastramos al formulario para que se agregue, le ponemos un nombre: DSTabla.
11. Ahora para editar en el diseño de DataSet tenemos que hacer click en la flechita que aparece en la parte
de arriba del mismo DataSet.
12. Entonces ahora creamos una base de datos.
Damos click derecho en nuestro proyecto, agregar nuevo elemento y base de datos local.
Y ahora nos aparecerá un cuadro le damos siguiente.
13. Elegimos la conexión de dato.
Luego siguiente, ahora elegimos los objetos de bases de datos que es Tablas le clic en finalizar y ya.
14. O también podemos hacer la base de datos de otra manera:
Solo damos clic derecho en el proyecto Encuesta, Agregar y Nuevo Elemento.
Ahora damos clic en Bse de Datos y cambiamos el nombre a: Encuesta.
16. Otra vez damos clic en Anterior.
Ahora damos clic en Nueva Conexión.
17. Bueno ahora le damos clic en Examinar.
Ahora seleccionamos nuestra Tabla de Datos de Accessy le damos clic en Abrir.
18. Hoy si le damos clic en Siguiente.
Nos saldrá un cuadro y le damos clic en Si.
19. Otra vez nos saldrá un cuadro y nuevamente le damos clic en Si.
Ahora seleccionamos nuestra base de datos que es tablas.
20. Bueno aquí esta la diferencia que el solo nos genera el DataSet Tabla con todas las columnas.
21. Bueno ahora vamos a programar en el BindingNavigator de la parte de arriba le damos doble clic a el
botón guardar que trae la imagen de un disquete.
Ahora les voy a dar el código del Botón Guardar.
Imports Encuesta.Entorno
PublicClassfrmRegistroEncuesta
PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
HandlesMyBase.Load
DsTabla.Merge(Datos.ObtenerDatos, False)
EndSub
PrivateFunction validar() AsBoolean
If cmbinclinacion.Text = " "Then
Err.SetError(cmbinclinacion, "Por favor escriba la Inclinacion anteroposterior")
ReturnFalse
EndIf
Err.SetError(cmbinclinacion, "")
ReturnTrue
EndFunction
PrivateSub EmpresasBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles EmpresasBindingNavigatorSaveItem.Click
If validar() = TrueThen
EncuestaBindingSource1.EndEdit()
22. Datos.salvarempresas(DsTabla)
DsTabla.AcceptChanges()
MsgBox("Los datos se han almacenado correctamente", MsgBoxStyle.Information, "salvar")
EndIf
EndSub
PrivateSub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BindingNavigatorAddNewItem.Click
EncuestaBindingSource1.EndEdit()
EncuestaBindingSource1.AddNew()
cmbinclinacion.Focus()
EndSub
PrivateSub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BindingNavigatorDeleteItem.Click
If MsgBox("Desea eliminar este registro", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Eliminar")
= MsgBoxResult.Yes Then
EncuestaBindingSource1.EndEdit()
EncuestaBindingSource1.RemoveCurrent()
Datos.salvarempresas(DsTabla)
DsTabla.AcceptChanges()
MsgBox("El registro se ha eliminado de manera permanente", MsgBoxStyle.Information,
"Confirmado")
cmbinclinacion.Focus()
EndIf
EndSub
EndClass
El EmpresasBindingNavigatorSaveItemes para el botón GUARDAR.
El BindingNavigatorAddNewItemes para el botón NUEVO.
El BindingNavigatorDeleteItemes para el botón ELIMINAR.
Bien ahora creamos un control de usuario para esto tenemos que dar clic derecho en el proyecto
Encuesta, agregar y luego nuevo elemento.
23. Bueno ahora damos clic en Control de Usuario y le cambiamos el nombre a Entorno luego Agregar.
25. Agregaremos una conexión
Primero tenemos que dar clic derecho en datos, elegir elementos
Bueno seleccionamos OledbConnection y OledbDataAdapter esto para que aparescan en los Datos
26. Insertamos un OledbConnecton, Cambiamos en las propiedades el nombre: oConexion.
ConnectionString la coneccion que estamos usando con access.
Ahora insertamos un OledbDataAdapteren propiedades cambiamos el nombre: daEntorno.
27. Nos saldra un cuadro que nos pide elegir la conexión de el adaptador de datos que vamos a utilizar.
Damos clic en siguiente.
28. Ahora damos clic de nuevo en siguiente por que vamos a usar instrucciones SQL.
Luego nos saldra otro cuadro damos clic en Generador de consultas.
29. Nos saldra otro cuadro que dice Agragar tabla entonces le damos clic en Agregar.
Cerramos el cuadro de Agregar tabla.
30. Aquí seleccionamos Todas las columnas.Y damos clic en aceptar.
Entonces nos saldra otro cuadro y damos clic en siguiente.
31. Y si seguistes estos pasos bien te saldran todas las instrucciones generadas, osea con una flechita ya
damos clic en Finalizar.
Bueno ahora creamos las graficas para cada pregunta en la ficha pero ente caso solo vamos a hacer una
grafica y ustedes hacen las demas, eso es si lo desean. Damos clic derecho en formelarios, agrear
32. Windows Forms.
Le damos un nombre al formulario es este caso frmgrafica1 y damos clic en Agregar.
34. Ahora le daremos un nombre: ografica1
Le cambiamos el Anchor seleccionando los cuatro lados esto es para que la grafica se espanda para los
cuatro lados.
35. Bueno ahora le insertamos un Data Set a la grafica.
Bueno como ya sabran nos sale un cuadro y le damos clic en aceptar.
36. Ahora le insertamos a la grafica un BindingSource.
Solo le tenemos que cambiear el nombre en ventana propiedades:EncuestaGraficoBindingSource.
37. Bien ahora insertamos un boton. En propiedades le ponemos el nombre:cmdactualizar.
Y el Text Actualizar.
Bien ahora les voy a dar el codigo del boton Actualizar.
Imports Encuesta.Entorno
Imports System.Data.OleDb
PublicClassfrmgrafica
PrivateSub cmdactualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
cmdactualizar.Click
DsTabla.Ficha.Clear()
'1er paso, array de distintos rubros
Dim aRubros AsString() = {"Alineacion", "Posicion", "Movimiento", "Giro", "Rolido"}
'2do paso, ciclo repetitivo que recorre el array
For i AsInteger = 0 To aRubros.Count - 1
'paso 2.1, crear la SQL-Select para obtener los datos de cada rubro
Dim cSQL AsString = "Select "& aRubros(i) &", count ("& aRubros(i) &") as Total from Encuesta Where "&
aRubros(i) &" = true "& _
"group by "& aRubros(i)
Datos.Conectar()
Dim comando AsNewOleDbCommand(cSQL, Datos.oConexion)
Dim lector AsOleDbDataReader = comando.ExecuteReader
Dim Fila AsDataRow = DsTabla.Ficha.NewRow
If lector.Read Then
Fila("Categoria") = aRubros(i)
Fila("Total") = lector("Total")
38. 'Agrgar esta informacion a la tabla del dataset
DsTabla.Ficha.Rows.Add(Fila)
EndIf
Datos.oConexion.Close()
Next
DsTabla.Ficha.AcceptChanges()
'Verificar si hay en la tabla del dataset para generar la grafica
If DsTabla.Ficha.Count > -1 Then
'Generar la grfica
ografico.Series.Clear()
ografico.Titles.Clear()
ografico.DataBindTable(EncuestaGraficoBindingSource, "Categoria")
ografico.Series(0).ChartType = DataVisualization.Charting.SeriesChartType.Pie
ografico.Series(0).IsValueShownAsLabel = True
ografico.Titles.Add("Otras actividades a invertir")
Else
MsgBox("No se ha generado la grafica, porque no se encontro la informacion "&" para crear la misma",
MsgBoxStyle.Information, "sin Datos")
EndIf
EndSub
Bien como ustedes sabran que tienen que cambiar los valores de acuerdo a las fichas que utilicen o
variables que ovbio que no seran los mismos.
Ahora procederemos a agregar un Reporte.
Primero para agregar un Reporte
39. Bueno para agregar un reporte tenemos dar clic derecho en el proyecto, agregar y Nuevo Elemento.
Nos saldra un cuadro en el cual daremos clic en Informe, bueno le cambiamos el nombre:Reportey
ahora damos clic en Agregar.
40. Y tendremos un reporte en blanco:
Ahora para agregar un cuadro de texto: damos clic derecho en el reporte, Insertar y Cuadro de texto.
41. Como sabran ponemos el titulo, luego ponemos un Expresión y de acuerdo con la ficha ponemos el Id.
En este caso es IdInclinacion.
42. Bueno entonces ahora haces el reporte de acuerdo con la ficha que estas usando como en este ejemlo
que se presenta acontinuación:
NOTA: Recuerden antes de hacer cada paso de este proyecto procuren revisarlo y ejecutarlo para que
puedan ver los errores que cometieron y tambien puedan corregirlos por que si no se veran en serios
problemas.