Professional Documents
Culture Documents
Pgina de inicio
Centro de soluciones
Bsqueda avanzada
Comunidades
Comprar productos
Contctenos
Id. de artculo: 812719 - ltima revisin: jueves, 29 de marzo de 2007 - Versin: 10.1
Resumen
En este artculo se describe cmo crear mediante programacin una columna en un informe de Access. Puede agregar dinmicamente la columna en el informe mediante el mtodo 1 o 2 del mtodo que se describen en el "ms informacin" seccin. Volver al principio
Ms informacin Nota el cdigo de ejemplo de este artculo utiliza Objetos de acceso a datos de Microsoft. Para que este cdigo funcione correctamente, debe hacer referencia a la biblioteca de objetos Microsoft DAO 3.6. Para ello, haga clic en referencias en el men Herramientas en el Editor de Visual Basic y asegrese de que la casilla de verificacin de Biblioteca de objetos Microsoft DAO 3.6 est activada. Volver al principio
Dim rpt As Report Dim reportQuery As String Dim rs As DAO.Recordset Dim i As Integer Dim prevColwidth As long lngLeft = 0 lngTop = 0 ' Open the report to design. ' To make changes in the number of columns that appear at run time. DoCmd.OpenReport "AccessColumnBuilder", acViewDesign Set rpt = Reports![AccessColumnBuilder] ' Change the number of columns required as per your requirement. reportQuery = "SELECT FirstName, LastName FROM Employees" ' Open the recordset. Set rs = CodeDb().OpenRecordset(reportQuery) ' Assign the query as a record source to report control. rpt.RecordSource = reportQuery ' Set the value to zero so that the left margin is initialized. prevColwidth = 0 lblCol = 0 ' Print the page header for the report. For i = 0 To rs.Fields.Count - 1 Set labNew = CreateReportControl(rpt.Name, acLabel, acPageHeader, _ , rs.Fields(i).Name, lblcol, , , lngTop) labNew.SizeToFit lblCol = lblCol + 600 + labNew.Width Next ' Create the column depending on the number of fields selected in reportQuery. ' Assign the column value to new created column. For i = 0 To rs.Fields.Count - 1 ' Create new text box control and size to fit data. Set txtNew = CreateReportControl(rpt.Name, acTextBox, _ acDetail, , , lngLeft + 15 + prevColwidth, lngTop) txtNew.SizeToFit txtNew.ControlSource = rs(i).Name ' Modify the left margin depending on the number of columns ' and the size of each column. prevColwidth = prevColwidth + txtNew.width Next 'To save the modification to the report, 'DoCmd.Save ' View the generated report. DoCmd.OpenReport "AccessColumnBuilder", acViewPreview ' This opens the report in preview. uncomment the following line of code:
13. Guarde y ejecute el formulario. 14. Para ver el informe, haga clic en el botn de comando que agreg en el paso 10. Los registros que siga aparezcan en la primera pgina:
First Name
Last Name
Nancy
Davolio
Margaret
Peacock
........
.......
El informe contiene el nombre de columnas de Apellidos de la tabla Employees y. Puede guardar el informe o realice los cambios necesarios a la consulta y, a continuacin, ejecutar el informe.
Mtodo 2 Agregar columnas al informe en tiempo de ejecucin al establecer la propiedad visible de la columna existente
En este ejemplo se muestra cmo mostrar una columna nueva en un informe, manipule la propiedad visible del control. El informe contiene cuatro columnas. La propiedad visible de las tres primeras columnas se establece en S . La propiedad visible de la cuarta columna se establece en no . En un salto de pgina, la propiedad visible de la cuarta columna se establece en S cuando aparezca la columna. 1. Inicie Access. 2. En el men Ayuda , haga clic en Bases de datos de ejemplo y, a continuacin, haga clic en Base de datos . Cierre el formulario de Panel de control principal cuando aparezca. Nota En Access 2007, haga clic en ejemplo en el panel Categoras de plantillas , haga clic en Neptuno 2007 y, a continuacin, haga clic en Descargar . 3. Para crear un informe denominado Informe1 y se basa en la tabla productos , siga estos pasos: a. En la ventana base de datos , haga clic en informes y, a continuacin, haga clic en nuevo . Nota En Access 2007, haga clic en Asistente para informes en el grupo informes en la ficha crear . b. En el cuadro de dilogo Nuevo informe , haga clic en Vista Diseo , seleccione productos y a continuacin, haga clic en Aceptar . c. Agregue los siguientes cuadros de texto a la seccin detalle del informe. Alinear los cuadros de texto. d. Coloque las etiquetas correspondientes en la seccin de Encabezado de pgina del informe. Alinear etiquetas.
Report: Report1 -------------------------Caption: TestReport ControlSource: Products Label: Name: ProductName_label Text Box: Name: ProductName ControlSource: ProductName
Label: Name: TotalPrice_label Visible: No Text Box: Name: TotalPrice =[UnitPrice] * [UnitsInStock] ControlSource: Visible: No
4. Agregue un control de cuadro de texto con las propiedades siguientes a la seccin detalle . Coloque el cuadro de texto directamente encima del control NombreProducto . Este control acta como un contador para el nmero de registros en el informe.
Text Box: ----------------------Name: Counter ControlSource: =1 Visible: No RunningSum: Over All
5. En el cuadro de herramientas , haga clic en Salto de pgina . Nota En Access 2007, haga clic en Agregar o quitar salto de pgina en el grupo controles en la ficha Diseo . 6. Agregar un control de salto de pgina a la esquina inferior izquierda de la seccin detalle . Colocar el control de salto de pgina directamente debajo del control NombreProducto . Establezca el nombre de propiedad
8. Para reducir el espacio en blanco en el informe, coloque el puntero entre la parte inferior de la seccin detalle y el Pie de pgina y, a continuacin, arrastre hacia arriba. 9. En la seccin de Pie de pgina , establezca la propiedad OnPrint en el procedimiento de evento que sigue:
If Me![PageBreak].Visible = True Then Me![TotalPrice].Visible = True Me![TotalPrice_label].Visible = True Else Me![TotalPrice].Visible = False Me![TotalPrice_label].Visible = False End If
cuando se produce PageBreak , el TotalPrice columna aparece. 10. Obtener una vista previa del informe. Los registros que siga aparezcan en la primera pgina:
Product Name Unit Price Unit in Stock
Cahi
$18.00
39
Chang
$19.00
17
Tenga en cuenta que la primera pgina del informe contiene tres columnas. Los registros que siga aparecen en la pgina segunda:
Product Name
Unit Price
Unit in Stock
Total Amount
Aniseed Syrup
$10.00
13
130
Chef A...
$22.00
53
1166
Nota Se produce el salto de pgina despus de la primera pgina. Por lo tanto, la segunda pgina del informe contiene cuatro columnas. Volver al principio
Referencias
Para obtener informacin adicional, haga clic en los nmeros de artculo siguientes para verlos en Microsoft Knowledge Base: 231806 ACC2000: Encabezado de pgina que ancho total de elementos SPAN de mltiples columnas de informe 209006 ACC2000: Cmo controlar el nmero de registros impresos por pgina 210336 ACC2000: Funcin de ejemplo para determinar la pgina actual de un formulario 208979 ACC2000: Cmo imprimir un pie de grupo en una ubicacin especfica 231851 ACC2000: Microsoft Access 2000 Sample Queries Available en el Centro de descarga Para obtener ms informacin acerca de cmo crear mediante programacin un informe de Access, visite el siguiente Microsoft Developer Network (MSDN( sitio Web: http://msdn2.microsoft.com/en-us/library/aa188513(office.10(.aspx Volver al principio
Cmo crear mediante programacin una nueva columna en un informe de Access La informacin de este artculo se refiere a:
Volver al principio
Fue til esta informacin? S No Un poco Cunto esfuerzo ha dedicado personalmente para usar este artculo? Muy poco Poco Moderado Mucho Muchsimo Dganos las razones y qu podemos hacer para mejorar esta informacin
Enviar
Necesita ms ayuda?
Contactar con un profesional de soporte tcnico por correo electrnico, online o por telfono
Contrato de Servicios Administre su perfil Contctenos Condiciones de uso Marcas registradas Declaracin de privacidad
2012 Copyright