2. alquiler de videos - reportes
DESCRIPTION
reporte de programacion en visual basic correspondiente al cuerso de taller de programcion 2TRANSCRIPT
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC Escuela Académico Profesional de Ingeniería Informática y Sistemas
1
Proyecto final de curso
Proyecto: alquiler de videos-
generación de reportes
1. Iniciamos instalando la herramienta Crystal Reports de SAP.
2. Abrimos la aplicación y agregamos una nueva carpeta “DataSet”para almacenar en ella los
conjuntos de datos que nos permitirán realizar los reportes
3. Agregamos en nuestra carpeta DataSet un archivo de tipo DataSet
En el bloque de Datos Conjunto de Datos (DataSet) y darle un nombre: dsGeneral
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC Escuela Académico Profesional de Ingeniería Informática y Sistemas
2
4. En el archivo del DataSet agregamos un DataTable o Tabla de Datos
5. En esta tabla de datos iniciamos creando columnas, tantas como deseemos, lo cual
dependerá de la cantidad de campos que uno desea existan en el reporte
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC Escuela Académico Profesional de Ingeniería Informática y Sistemas
3
6. Debemos crear dos tablas de datos, una para Etiquetas. Finalmente, el diseño debe quedar
como sigue: (en este ejemplo se agregaron 10 columnas)
Al seleccionar cualquier columna, en la figura anterior se seleccionó DataColumn1 en la parte
derecha en sus propiedades observamos el tipo de dato que tiene la columna, para este valor,
DataType: System.String, es decir, que la columna soporta valores String.
7. Ahora en la carpeta Formulario, agregamos un formulario que nos servirá como base para
cualquier formulario de reportes que deseemos crear, con la finalidad de no crear objetos
para cada reporte, este se llamará frmReportes
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC Escuela Académico Profesional de Ingeniería Informática y Sistemas
4
Arrastrar el control CrystalReportViewer al formulario. Para ello haz un clic derecho en
herramientas Elegir elementos …
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC Escuela Académico Profesional de Ingeniería Informática y Sistemas
5
Y seleccionar el componente CrystalReportViewer
Arrastrar el control CrystalReportViewer al formulario, el cual debe verse así:
Si el control CrystalReportViewer no aparece en la ficha Creación de informes,
probablemente se deba configurar la versión de Framework con la que trabaja el proyecto,
para ello, ve a Proyecto Propiedades de PyVideo (en tu caso el nombre de tu proyecto)
Debes cambiar la versión de .NET Framework de destino a .NET Framework 4 y no la que
viene por defecto.
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC Escuela Académico Profesional de Ingeniería Informática y Sistemas
6
8. El reporte elemento CrystalReportViewer tiene diversas propiedades, entre ellas
configuraremos Modifiers: public, puesto que será usado por diversos objetos
Además al formulario darle la propiedad: WindowsState: Maximized
Configura también que la vista para el panel de herramientas, no sea por medio del
GroupTree, sino en None, esto es haciendo clic en la flecha superior del control
CrystalReportViewer
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC Escuela Académico Profesional de Ingeniería Informática y Sistemas
7
9. Agregamos un nuevo elemento dentro de la carpeta DataSet, este elemento está dentro de
Reporting Crystal Reports.
10. Esto nos muestra la galería de Crystal Reports, podemos usar el asistente pero esto no nos
permitirá realizar reportes más flexibles, así que elegimos Como informe en blanco.
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC Escuela Académico Profesional de Ingeniería Informática y Sistemas
8
11. Crystal Reports tiene las siguientes secciones
Report Header – Los campos de esta sección se imprimen solo una vez y están ubicados al inicio del reporte.
Page Header – encabezado de página, los datos de esta sección se imprimen cada vez por cada nueva página.
Details – los campos de esta sección son impresos de acuerdo a la cantidad de detalle de filas existents.
Report Footer - fields placed in this section are printed once, at the end of the report, se imprimen una sola vez al pie del reporte
Page Footer - fields placed in this section are printed at the bottom of each new
page, se imprime cada vez por cada página en la parte inferior.
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC Escuela Académico Profesional de Ingeniería Informática y Sistemas
9
12. Elegir la opción Campos de base de datos Asistente de base de datos
Debe figurar nuestro DataSet creado previamente, lo seleccionamos
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC Escuela Académico Profesional de Ingeniería Informática y Sistemas
10
13. Realizamos el siguiente diseño. Observa que en el encabezado de página usamos los campos
de dtEtiqueta, y para la sección de detalles dtDatos DataColumn
1. Campos de la base de datos
Son los campos del DataSet que creamos, como vemos solo tenemos 10 columnas las
cuales todas son de tipo String
2. Campos especiales
1
2
3
3
4
5
6
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC Escuela Académico Profesional de Ingeniería Informática y Sistemas
11
En esta sección se incluyen diversos datos estáticos, los más usuales son los de fecha y
hora, número de página, página N de M, etc.
Las secciones de campos dinámicos incluyen : Campos de fórmula, campos de parámetro,
de totales acumulados, los cuales se revisarán en los siguientes ejemplos.
3. Encabezado de informe
Solo se muestra una vez, incluimos una columna (DataColumn1) un gráfico, que suele ser
el logo de la empresa, puedes incluir el nombre, etc.
4. Encabezado de página
En esta sección se indican los datos de encabezado que se repiten por cada página
5. Detalles
6. Pie de página
Se han incluido los datos de fecha, número de página y el nombre del software.
14. En el formulario frmPrincipal agregamos la lista de reportes, codificamos
Crear un método que realiza la impresión del informe
private void listaSocios() { //Crear un objeto de tipo DataSet, haciendo referencia al dataSet creado DataSet.dsGeneral filaDS = new DataSet.dsGeneral(); System.Data.DataRow filaDR; //crear una variable de tipo DataRow o Fila de Dato filaDR = filaDS.dtEtiqueta.NewRow(); //Añadir una nueva fila al DataSet //Enviar los títulos a las columnas de etiqueta, en este caso para datos de Socios var item0 = filaDR["dtEtiqueta1"] = "REPORTE DE SOCIOS"; var item1 = filaDR["dtEtiqueta2"] = "DNI"; var item2 = filaDR["dtEtiqueta3"] = "Nombres y apellidos"; var item3 = filaDR["dtEtiqueta4"] = "Dirección"; var item4 = filaDR["dtEtiqueta5"] = "Teléfono"; var item5 = filaDR["dtEtiqueta6"] = "E-mail"; filaDS.dtEtiqueta.Rows.Add(filaDR); DAO.clsSocio socio = new DAO.clsSocio();
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC Escuela Académico Profesional de Ingeniería Informática y Sistemas
12
for (int m = 0; m < socio.listarSocio().Rows.Count-1; m++) { filaDR = filaDS.dtDatos.NewRow(); var item6 = filaDR["DataColumn1"] = socio.listarSocio().Rows[m][1].ToString(); //DNI var item7 = filaDR["DataColumn2"] = socio.listarSocio().Rows[m][2].ToString() + " " + socio.listarSocio().Rows[m][3].ToString() + " " + socio.listarSocio().Rows[m][4].ToString(); //Nombres y apellidos var item8 = filaDR["DataColumn3"] = socio.listarSocio().Rows[m][5].ToString(); //dirección var item9 = filaDR["DataColumn4"] = socio.listarSocio().Rows[m][6].ToString(); //telefono filaDS.dtDatos.Rows.Add(filaDR); } //Crear un objeto de tipo crystalReport DataSet.crGeneral reporteSocio = new DataSet.crGeneral (); reporteSocio.SetDataSource(filaDS); //Enviar el DataSet lleno al crystalReport Formularios.frmReportes rep = new Formularios.frmReportes(); //Crear un objeto de tipo formulario frmReportes rep.crystalReportViewer1.ReportSource = reporteSocio; //en el formulario enviar al crystalReportViewer la consulta rep.MdiParent = this; rep.Show(); }
Finalmente ejecutar el método
private void reporteDeSociosToolStripMenuItem_Click_1(object sender, EventArgs e) { listaSocios(); }
Si es que sucede el error: “No se puede cargar el archivo o ensamblado
'file:///C:\Program Files\SAP BusinessObjects\Crystal Reports for .NET Framework
4.0\Common\SAP BusinessObjects Enterprise XI
4.0\win32_x86\dotnet1\crdb_adoplus.dll' ni una de sus dependencias. El sistema no
puede encontrar el archivo especificado.”
Puede ser que las librerías no estén siendo reconocidas, agregar las líneas de código
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="cadenaConexion" connectionString="Data Source=ADMIN-443B3235B; database=BDVideo;Integrated Security=True;" providerName="System.Data.SqlClient"/> </connectionStrings>
<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup>
</configuration>
El diseño del formulario es:
Código agregado
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC Escuela Académico Profesional de Ingeniería Informática y Sistemas
13
Crea un reporte de la lista de películas existentes.