cómo crear mediante programación una nueva columna en un informe de access

5
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 agregar dinámicamente la columna en el informe mediante el método 1 o 2 del método que se describen en el "más informació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 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 asegúrese de que la casilla de verificación de Biblioteca de objetos Microsoft DAO 3.6 está activada. Volver al principio Método 1 Agregar columnas al informe mediante programación El ejemplo siguiente muestra cómo crear mediante programación un informe de Access. El código genera un informe que se basa la consulta de origen de registros. El informe generado muestra la columna nombre y la columna de Apellidos 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 2007 y, 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 ficha Diseño . 11. Haga clic con el botón secundario del mouse en el botón de comando, haga clic en Generar evento , haga clic en 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 Soluciones relacionados 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ña PRODUCTOS MICROSOFT STORE DESCARGAS SOPORTE

Upload: carlos-franco

Post on 21-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cómo crear mediante programación una nueva columna en un informe de Access

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

Page 2: Cómo crear mediante programación una nueva columna en un informe de Access

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

........ .......

Page 3: Cómo crear mediante programación una nueva columna en un informe de Access

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

Page 4: Cómo crear mediante programación una nueva columna en un informe de Access

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

Page 5: Cómo crear mediante programación una nueva columna en un informe de Access

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?

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