Access - INFORMES ACCES

 
Vista:

INFORMES ACCES

Publicado por Carmen (1 intervención) el 02/05/2008 11:24:49
Necesitaría saber si hay alguna manera de que los datos de un informe de Access que se dividen en tres columnas y dos páginas se compriman en una sóla hoja pero con más columnas , es decir en una hoja 6 columnas los de la primera y los de la segunda hoja.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 3
Ha aumentado su posición en 20 puestos en Access (en relación al último mes)
Gráfica de Access

INFORMES ACCES

Publicado por Alvaro (1 intervención) el 16/04/2021 10:38:46
Hola Carmen:

Has solucionado tu problema?. Yo tengo el mismo problema, Se que si vas a un informe, le das a vista de diseño, luego a configurar pagina y le das a columnas te deja poner las columnas que quieras. Pero yo necesito poner una condición que si hay muchos registros y ocupan dos hojas que me haga dos columnas por hoja pero en cambio si solo ocupan una hoja que me ponga una columna
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

INFORMES ACCES

Publicado por Norberto (753 intervenciones) el 16/04/2021 13:26:48
Hola:

Podríais usar este código adaptado a vuestras necesidades.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Private Sub Report_Open(Cancel As Integer)
    'Como el informe no tiene la propiedad RecordSetClone para jugar'
    'con los registros, tenemos que averiguar cúantos hay de este manera.
    Dim Rst As Recordset, RecSource As String, Rc As Long
    RecSource = Me.RecordSource
    Set Rst = CurrentDb.OpenRecordset(RecSource)
    Rc = Rst.RecordCount    'Número de registros que saldrán en el informe
    Rst.Close
    Set Rst = Nothing
 
    With Me.Printer                 'Configuramos la página
        .DefaultSize = False        'El tamaño de la columna no es igual al detalle
        .ItemLayout = 1953          'Se distribuye a lo ancho y luego a lo alto
        If Rc <= 40 Then            'Si hay menos de 40 registros
            .ItemsAcross = 1        'Configuramos a una columna
            .ColumnSpacing = 0
            .ItemSizeWidth = 8340
            Me.Text0.Width = 3270   'Adaptamos el ancho de los controles
            Me.Text1.Width = 1005
            Me.Text2.Width = 2160
            Me.Text3.Width = 720
        Else                        'Si hay más de 40
            .ItemsAcross = 2        'Adaptamos el ancho a 2 columnas
            .ColumnSpacing = 50
            .ItemSizeWidth = 4000   'Adaptamos el ancho de los controles
            Me.Text0.Width = 1500
            Me.Text1.Width = 500
            Me.Text2.Width = 1000
            Me.Text3.Width = 350
        End If
    End With
    'Adaptamos la posición de los controles
    Me.Text1.Left = Me.Text0.Left + Me.Text0.Width + 20
    Me.Text2.Left = Me.Text1.Left + Me.Text1.Width + 40
    Me.Text3.Left = Me.Text2.Left + Me.Text2.Width + 60
 
End Sub

Un saludo,

Norberto.


Captura1
Captura2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar