Cómo crear mediante programación una nueva columna en un informe de Access
http://support.microsoft.com/kb/812719/es[13/03/2012 07:10:47 p.m.]
Id. de artículo: 812719 - Última revisión: jueves, 29 de marzo de 2007 - Versión: 10.1
Cómo crear mediante programación una nueva columna en un informe de Access
Haga clic aquí para ver en paralelo el artículo de traducción automática y el artículo original en inglés.
Advertencia: Artículo de Traducción Automática, vea la exención de responsabilidad.
Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo
En este artículo se describe cómo crear mediante programación una columna en un informe de Access. Puede agregardinámicamente la columna en el informe mediante el método 1 o 2 del método que se describen en el "másinformación" sección.
Volver al principio
Nota el código de ejemplo de este artículo utiliza Objetos de acceso a datos de Microsoft. Para que este código funcionecorrectamente, debe hacer referencia a la biblioteca de objetos Microsoft DAO 3.6. Para ello, haga clic en referencias enel menú Herramientas en el Editor de Visual Basic y asegúrese de que la casilla de verificación de Biblioteca de objetosMicrosoft DAO 3.6 está activada.
Volver al principio
Método 1 Agregar columnas al informe mediante programaciónEl ejemplo siguiente muestra cómo crear mediante programación un informe de Access. El código genera un informeque se basa la consulta de origen de registros. El informe generado muestra la columna nombre y la columna deApellidos de la tabla Employees de la base de datos de ejemplo Neptuno.mdb.
1. Inicie Access.2. En el menú Ayuda , haga clic en Bases de datos de ejemplo y, a continuación, 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 Categorías de plantillas , haga clic en Neptuno 2007y, a continuación, haga clic en Descargar .
3. En el panel izquierdo, haga clic en informes .
Nota En Access 2007, omita este paso.4. En el panel derecho, haga doble clic en Crear informe en la vista Diseño .
Nota En Access 2007, haga clic en Diseño del informe en el grupo informes en la ficha crear .5. En el menú archivo , haga clic en Guardar .
Nota En Access 2007, haga clic en el Botón de Microsoft Office y, a continuación, haga clic en Guardar .6. En el cuadro de diálogo escriba AccessColumnBuilder y haga clic en Aceptar .7. Cierre el informe.8. En el panel izquierdo, seleccione formularios .
Nota En Access 2007, omita este paso.9. En el panel derecho, haga doble clic en Crear formulario en la vista Diseño .
Nota En Access 2007, haga clic en Diseño del formulario en el grupo formularios en la ficha crear .10. Agregue un botón de comando al formulario.
Nota En Access 2007, haga clic en botón para agregar un botón al formulario en el grupo controles en la fichaDiseño .
11. Haga clic con el botón secundario del mouse en el botón de comando, haga clic en Generar evento , haga clicen Generador de código en el cuadro de diálogo Elegir generador y, a continuación, haga clic en Aceptar .
12. Agregue el código que sigue al evento OnClick del botón de comando:
Otros Recursos
Seleccione idioma
( (
Centros de Solucionesrelacionados
Access 2007
Access
Access 2003
Access 2002
En esta página
Resumen
Más información
Dim txtNew As Access.TextBox
Dim labNew As Access.Label
Dim lngTop As Long
Dim lngLeft As Long
Otros sitios de soporte
Comunidades
Obtener ayuda ahora
Página de inicio Centro de soluciones Búsqueda avanzada Comunidades Comprar productos Contáctenos Mapa del web
EspañaPRODUCTOS MICROSOFT STORE DESCARGAS SOPORTE
Cómo crear mediante programación una nueva columna en un informe de Access
http://support.microsoft.com/kb/812719/es[13/03/2012 07:10:47 p.m.]
13. Guarde y ejecute el formulario.14. Para ver el informe, haga clic en el botón de comando que agregó en el paso 10.
Los registros que siga aparezcan en la primera página:
El informe contiene el nombre de columnas de Apellidos de la tabla Employees y. Puede guardar el informe orealice los cambios necesarios a la consulta y, a continuación, ejecutar el informe.
Dim lblCol As Long
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, uncomment the following line of code:
'DoCmd.Save
' View the generated report.
DoCmd.OpenReport "AccessColumnBuilder", acViewPreview
' This opens the report in preview.
First Name Last Name
Nancy Davolio
Margaret Peacock
........ .......
Cómo crear mediante programación una nueva columna en un informe de Access
http://support.microsoft.com/kb/812719/es[13/03/2012 07:10:47 p.m.]
Volver al principio
Método 2 Agregar columnas al informe en tiempo de ejecución al establecer la propiedadvisible de la columna existenteEn este ejemplo se muestra cómo 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í . Lapropiedad visible de la cuarta columna se establece en no . En un salto de página, la propiedad visible de la cuartacolumna 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 continuación, 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 Categorías de plantillas , haga clic en Neptuno 2007y, a continuación, 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 continuación, 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 diálogo Nuevo informe , haga clic en Vista Diseño , seleccione productos y a
continuación, haga clic en Aceptar .c. Agregue los siguientes cuadros de texto a la sección detalle del informe. Alinear los cuadros de texto.d. Coloque las etiquetas correspondientes en la sección de Encabezado de página del informe. Alinear
etiquetas.
4. Agregue un control de cuadro de texto con las propiedades siguientes a la sección detalle . Coloque el cuadrode texto directamente encima del control NombreProducto .
Este control actúa como un contador para el número de registros en el informe.
5. En el cuadro de herramientas , haga clic en Salto de página .
Nota En Access 2007, haga clic en Agregar o quitar salto de página en el grupo controles en la ficha Diseño.
6. Agregar un control de salto de página a la esquina inferior izquierda de la sección detalle . Colocar el control desalto de página directamente debajo del control NombreProducto . Establezca el nombre de propiedad
Report: Report1
--------------------------
Caption: TestReport
ControlSource: Products
Label:
Name: ProductName_label
Text Box:
Name: ProductName
ControlSource: ProductName
Label:
Name: UnitPrice_label
Text Box:
Name: UnitPrice
ControlSource: UnitPrice
Label:
Name: UnitsInStock_label
Text Box:
Name: UnitsInStock
ControlSource: UnitsInStock
Label:
Name: TotalPrice_label
Visible: No
Text Box:
Name: TotalPrice
ControlSource: =[UnitPrice] * [UnitsInStock]
Visible: No
Text Box:
-----------------------
Name: Counter
ControlSource: =1
Visible: No
RunningSum: Over All
Cómo crear mediante programación una nueva columna en un informe de Access
http://support.microsoft.com/kb/812719/es[13/03/2012 07:10:47 p.m.]
PageBreak .7. En la sección de detalle , establezca la propiedad AlDarFormato (OnFormat) en el siguiente procedimiento de
evento:
8. Para reducir el espacio en blanco en el informe, coloque el puntero entre la parte inferior de la sección detalle yel Pie de página y, a continuación, arrastre hacia arriba.
9. En la sección de Pie de página , establezca la propiedad OnPrint en el procedimiento de evento que sigue:
cuando se produce PageBreak , el TotalPrice columna aparece.10. Obtener una vista previa del informe. Los registros que siga aparezcan en la primera página:
Tenga en cuenta que la primera página del informe contiene tres columnas.
Los registros que siga aparecen en la página segunda:
Nota Se produce el salto de página después de la primera página. Por lo tanto, la segunda página del informecontiene cuatro columnas.
Volver al principio
Para obtener información adicional, haga clic en los números de artículo siguientes para verlos en Microsoft KnowledgeBase:
231806 ACC2000: Encabezado de página que ancho total de elementos SPAN de múltiples columnas deinforme
209006 ACC2000: Cómo controlar el número de registros impresos por página
210336 ACC2000: Función de ejemplo para determinar la página actual de un formulario
208979 ACC2000: Cómo imprimir un pie de grupo en una ubicación específica
231851 ACC2000: Microsoft Access 2000 Sample Queries Available en el Centro de descarga
Para obtener más información acerca de cómo crear mediante programación un informe de Access, visite el siguienteMicrosoft Developer Network (MSDN( sitio Web:http://msdn2.microsoft.com/en-us/library/aa188513(office.10(.aspx
Volver al principio
If Me![Counter] Mod 2 = 0 Then Me![PageBreak].Visible = True _
Else Me![PageBreak].Visible = False
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
Product Name Unit Price Unit in Stock
Cahi $18.00 39
Chang $19.00 17
Product Name Unit Price Unit in Stock Total Amount
Aniseed Syrup $10.00 13 130
Chef A... $22.00 53 1166
Referencias
Cómo crear mediante programación una nueva columna en un informe de Access
http://support.microsoft.com/kb/812719/es[13/03/2012 07:10:47 p.m.]
Contrato de ServiciosAdministre su perfil Contáctenos Condiciones de uso Marcas registradas Declaración de privacidad ©2012 Copyright
La información de este artículo se refiere a:
Volver al principio
Palabras clave: kbmt kbprogramming kbvba kbinfo kbhowto KB812719 KbMtes
Volver al principio
Traducción automáticaIMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft(http://support.microsoft.com/gp/mtdetails( en lugar de un traductor humano. Microsoft le ofrece artículos traducidospor un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma atodos los artículos de nuestra base de conocimientos (Knowledge Base(. Sin embargo, los artículos traducidosautomáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjeropodría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o dañoocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes.Microsoft suele actualizar el software de traducción frecuentemente.Haga clic aquí para ver el artículo original (en inglés(: 812719
Volver al principio
¿Fue útil esta información?
Sí
No
Un poco
¿Cuánto esfuerzo ha dedicado personalmente para usar este artículo?
Muy poco
Poco
Moderado
Mucho
Muchísimo
Díganos las razones y qué podemos hacer para mejorar esta información
¿Necesita más ayuda?
Contactar con un profesional de soporte técnico por correo electrónico, online o por teléfono
Top Related