Criando linhas em um relatório, de forma dinâmica
Adquira a assinatura vitalícia do site e passe a ter acesso aos arquivos exemplos, vídeos, revistas, livros e ao kit de montagem de ribbons. Você terá suporte por e-mail, caso necessite tirar dúvidas pontuais. Clique AQUI e veja como obter um dos nossos planos. Clique AQUI e faça uma visita a seção Downloads do site e verifique as centenas de arquivos que estará à sua disposição. Clique AQUI e faça uma visita a seção Vídeos do site e veja a lista que estará disponível ao se tornar o nosso assinante vitalício. Clique AQUI e saiba mais detalhes sobre o kit de montagem de ribbons (deixe seus aplicativos com aspecto profissional).
No exemplo deste meu artigo, ofereci uma solução para criar um relatório pautado. No projeto, o número de linhas a serem exibidas, depende do número de registros apresentados, podendo chegar até 23 linhas. Por exemplo: ao selecionar 5 registros, obtenho apenas 18 linhas exibidas no relatório (23-5=18). Observe na imagem abaixo:
A técnica empregada neste projeto foi a de criar 23 linhas sobrepostas, posicionadas no rodapé do relatório. Veja:
O código utilizado no relatório tem a função de reposicionar as linhas, em alturas eqüidistantes(regulares), criando assim, o relatório pautado.
Private Sub RodapéDoRelatório_Format(Cancel As Integer, FormatCount As Integer) Dim j As Byte, K As Single K = 0.6 * 567 If rs > 24 Then Exit Sub
'-------------------------------------------
'reposicionando as linhas
'------------------------------------------- For j = 1 To (24 - rs) Me.Controls("Linha" & (j + 1)).Top = K + (K * j) Next '--------------------------------------------------------------------------- 'rs é zerado para não acumular valor, para o caso de uma nova solicitação
'de impressão '--------------------------------------------------------------------------- rs = 0 End Sub
Nota: As propriedades pode ampliar e pode reduzir da seção rodapé do relatório foram configuradas para SIM.
O uso do comando LINE
Em substituição as linhas sobrepostas, podemos utilizar o comando LINE. Com este comando somos capazes de criar retângulos e linhas nas dimensões e posições desejadas. Aqui é possível conferir no meu artigo, a explicação em detalhes sobre o comando LINE.
Observe abaixo, o código modificado, introduzindo o comando LINE.
Private Sub RodapéDoRelatório_Format(Cancel As Integer, FormatCount As Integer)
Dim j As Byte, K As Single, q As Byte
K = 0.6 * 567
If rs > 24 Then Exit Sub
'-----------------------------------------------------------------------------------------
'Definindo a altura do controle linha
'Necessário para expandir a área do rodapé, a fim de comportar as linhas criadas pelo LINE
'-----------------------------------------------------------------------------------------
Me.Linha.Height = K * (24 - rs)
'----------------------------------------
'Criando as linhas com o controle LINE
'----------------------------------------
For j = 1 To (24 - rs)
Me.Line (0, K * (1 + j))-(567 * 15, K * (1 + j) + 10), vbBlack, BF
Next
rs = 0
End Sub
Observe a seguir que tive que usar o artifício de inserir um controle Linha, no sentido vertical, com o objetivo de ampliar dinamicamente a área do rodapé, pois o comando LINE não afeta esta ampliação.
No exemplo oferecido, a propriedade visible do controle linha está configurada para false.
Download
Baixe aqui o exemplo para você estudar na prática.
Artigo relacionado
E aqui um exemplo prático, do uso do LINE para criação de código de barras para boletos bancários.
Desafio
criar uma grade conforme imagem abaixo, utilizando apenas o comando LINE:
Bom estudo!
Os dez artigos mais visitados
MontaRibbons v.7.0 - Assistente completo para criar ribbons no Access
Vídeo - Controle personalizado de Acesso de Usuários
Vídeo - Segurança máxima, usando o OPEN
Uma ajuda para quem está começando um negócio ou um projeto
Vídeo - Aprenda sobre filtragens
Adquira o kit UsandoAccess e aprenda em alta velocidade
Vídeo - Programação de relatórios - Parte 1
Integrando o Access com Servidor MySQL - Introdução
Desabilitando a faixa(ribbon) superior do Access
Como carregar o seu menu sem que ele vá para lista de suplementos
4 comentário(s) Nick 02/08/2018 16:33:33 Sempre surpreendendo. Vou tentar. Idiframk Silva 24/09/2014 07:11:13 Muito Legal seu Trabalho, admiro tanto quanto estou aprendendo... Valeu Abraço! Marcio Melo - RJ 23/09/2014 00:50:59 Quando se acha que está tudo perfeito... você ainda consegue melhorar ou dar uma outra forma de fazer as linhas... show... Muito obrigado, por todas as atualizações que me enviou ao longo desses anos... desde de 2011, venho acompanhando... super feliz e satisfeito... vou praticar o exercício proposto... Forte abraço! Marcelo David 22/09/2014 13:52:31 Muito bom! Mais uma vez de parabêns! |