MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    Todos os campos da Seção do Relatório com a Mesma Altura do campo mais alto (sem usar Layout Tabela)

    avatar
    denisapp
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 20/03/2013

    Todos os campos da Seção do Relatório com a Mesma Altura do campo mais alto (sem usar Layout Tabela) Empty Todos os campos da Seção do Relatório com a Mesma Altura do campo mais alto (sem usar Layout Tabela)

    Mensagem  denisapp 20/3/2018, 11:22

    Pessoal, tudo bem? Sempre recorro a este fórum para solucionar dúvidas de programação em Access. Atualmente precisei de um método para colocar os campos de uma seção do relatório na mesma altura que um campo expansível. O problema é que todos os métodos pesquisados ou não davam certo ou utilizavam o recurso nativo de Layout Tabela. Bom, este método do layout tira a flexibilidade do relatório, uma vez que mesmo que tenhamos zerado a distância entre os campos, ele sempre ficava com um pequeno espaço entre eles. E isso me irrita, pois, deixa os relatórios feios. Encontrei um método que resolve esta questão e gostaria de deixar registrado aqui para quem precisar. Esta é minha contribuição após ser ajudado tantas vezes por esta equipe. O mérito vai para o usuário "dhookom" e o link original é:

    answers.microsoft.com/en-us/msoffice/forum/msoffice_access-mso_winother/making-all-fields-in-a-reports-detail-section-grow/ea8c077d-17b8-4947-bd5d-a18a98a12ea7
    Copiar link e colar no browser

    Vamos lá:

    Basta colar o código abaixo no evento "AO IMPRIMIR" da seção que quiser, tomando o cuidado de substituir "Me.Section(0)" pelo endereço correto da seção que deseja. O código abaixo pode ser adaptado para sua situação. Pode-se, por exemplo, eliminar a faixa amarela que é criada. Abraços.
    Código:

    Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
       Dim intMaxHeight As Integer
       Dim ctl As Control
       Dim lngHilite As Long
       lngHilite = 10092543   'pale yellow
       'Find highest control in Detail section _
         that has a tag property of "Border"
       For Each ctl In Me.Section(0).Controls
           If ctl.Tag = "Border" Then
               If ctl.Height > intMaxHeight Then
                   intMaxHeight = ctl.Height
               End If
           End If
       Next
       'Draw a box around each control in Detail _
         that has a tag property of "Border"
       For Each ctl In Me.Section(0).Controls
           If ctl.Tag = "Border" Then
               'make the background pale yellow
                Me.Line (ctl.Left, ctl.Top)- _
                   Step(ctl.Width, intMaxHeight), lngHilite, BF
               Me.Line (ctl.Left, ctl.Top)- _
                   Step(ctl.Width, intMaxHeight), vbBlack, B
           End If
       Next

    End Sub
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    Todos os campos da Seção do Relatório com a Mesma Altura do campo mais alto (sem usar Layout Tabela) Empty Re: Todos os campos da Seção do Relatório com a Mesma Altura do campo mais alto (sem usar Layout Tabela)

    Mensagem  Alexandre Neves 22/3/2018, 20:35

    Boa noite e o fórum agradece a colaboração
    Foi movido para esta sala, por ser a mais adequada


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

      Data/hora atual: 21/11/2024, 09:53