1. Paso 1 - Crear la base de datos Abrir el Access y crear una base de datos llamada bd1.mdb. Crear una tabla llamada Clientes. Añadir tres campos de tipo Texto llamados: Nombre, Apellido , Email Añadir algunos datos Ubicar la base de datos en la carpeta del proyecto de visual Basic.
2. Añadir el Datareport y Crear el reporte. Iniciar un nuevo proyecto y guardarlo en la carpeta donde estaba ubicada la base de datos creada anteriormente Añadir un reporte desde el menú Proyecto, seleccionando la opción DataReport. Seleccionar el Reporte y cambiarle el nombre a ReporteClientes. Desde el menú Explorador de proyecto se verá algo similar al siguiente gráfico:
3. La vista del reporte está dividida por secciones: Encabezado del informe Encabezado de la página Detalle (Donde se visualizarán los datos de la bd) y el pie de página.
4. Al añadir un reporte al proyecto, en el Cuadro de controles de visual basic, ahora se añadío automáticamente una pestaña con controles para el DataReport . Los controles se llaman : RptLabel, RptTextBox, RptImage, RptLine, RptShape y RptFunction ). Aunque en este ejemplo solo se usarán los RptLabel y RptTextBox. El primero para usarlo en la sección de Encabezados, y los textBox para mostrar los registros de la base de datos. Ahora en este paso se agregará un control rptLabel en la sección de Encabezado de reporte ( El primero de todo ). Para ello dibujar un rptLabel en dicha sección, si se quiere cambiarle el color de la fuente, el tamaño etc.. eso es opcional y se puede hacer desde la ventana de propiedades de vb y también en tiempo de ejecución. Para cambiar el texto del rptLabel, utilizar la propiedad Caption La vista quedará algo asi:
5. Ahora se agregarán tres RptLabel mas en la sección Encabezado de página. Estos Label servirán para mostrar las columnas. En este caso añadir tres como muestra la imagen Añadir tres rptTextBox como se ve en el gráfico:
6. Código fuente en el formulario para visualizar el reporte: En este último paso se añadirán tres controles CommandButton en el formulario. Un botón será para añadir un nuevo registro a la base de datos. Otro para eliminar un registro, y el otro para visualizar el informe. El Commandbutton para crear un nuevo registro renombrarlo a CmdAgregar El Command para eliminar un registro renombrarlo a CmdEliminar El Command para visualizar el informe renombrarlo a CmdReporte .
7. Option Explicit '* Nota: Añadir la Referencia a Microsoft Activex data Object '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'Variables para el Recorset y la conexión ADO Private cn As ADODB.Connection Private rst As ADODB.Recordset ' botón para eliminar ''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub cmdEliminar_Click() Dim Nombre As String Nombre = InputBox(" Eliminar registro ", " Escriba el nombre del cliente a eliminar ") If Nombre <> vbNullString Then 'Ejecuta la sentencia SQL de eliminación cn.Execute "DELETE FROM Clientes WHERE Nombre = '" & Nombre & "'" End If End Sub
8. 'Botón para añadir un registro de la base de datos ''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub cmdAgregar_Click() On Error GoTo Error_add Dim Nombre As String Dim Apellido As String Dim Email As String Dim Sql As String Nombre = InputBox(" Añadir registros ", " Escriba el nombre") Apellido = InputBox(" Añadir registros ", " Escriba el Apellido ") Email = InputBox(" Añadir registros ", " Escriba el Email ") Sql = "INSERT INTO Clientes VALUES ( '" & Nombre & "', '" & Apellido & "', '" & Email & "')" 'Ejecuta la sentencia SQL para añadidr el registro cn.Execute Sql
9. MsgBox " Registros añadidos ", vbInformation Exit Sub Error_add: MsgBox Err.Description, vbCritical End Sub ' botón para ver el reporte ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub CmdReporte_Click() Set rst = cn.Execute("SELECT Nombre, Apellido, Email FROM Clientes ORDER BY Nombre") 'Asigna el recordset al reporte Set ReporteClientes.DataSource = rst ' Muestra el reporte ReporteClientes.Show vbModal End Sub