bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Criando linhas em um relatório, de forma dinâmica

Criando linhas em um relatório, de forma dinâmica

Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 2x no Cartão de Crédito. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

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: 

Linhas em relatório

A técnica empregada neste projeto foi a de criar 23 linhas sobrepostas, posicionadas no rodapé do relatório.  Veja:

Linhas sobrepostas

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.

Controle linha

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:

Grade quadriculada

 

Bom estudo!


 

 


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!


Envie seu comentário: