Em um formulário do MSAccess, usando Formulários Contínuos, como posso obter cores de linhas alternativas por agrupamento de dados?

1

Quando eu uso formulários contínuos em um formulário do MSAccess, ele aplica automaticamente uma cor de linha alternada a todas as outras linhas. Eu gostaria de ter a cor da linha alternativa para grupos de linhas de dados.
Alguns grupos podem ter apenas uma linha, mas outros terão mais de um.
Eu tenho uma coluna no formulário com um inteiro que incrementa para cada grupo.

Existe uma maneira de fazer com que o Access reconheça o Agrupamento no Formulário e, em seguida, aplique Cor de Linha Alternativa ao invés de simplesmente todas as outras linhas?

    
por Mike M 23.10.2017 / 03:54

1 resposta

1

O Access não tem como reconhecer o agrupamento em formulários na interface do usuário. (faz em Relatórios)

No entanto, há um Evento da Seção Detail que fornece um gancho apropriado para formatação, mesmo sem a interface do usuário "Agrupamento".

Comoexisteumíndiceinteiroparaosgruposequeremosalternarporgrupo,éfácilapenasverificargrupospares/ímparesedefinirascoresdoplanodefundo.
Precisamosforçartanto"Backcolor" quanto "AlternateBackColor". Então, supondo que o índice do grupo é colocado em uma caixa de texto chamada IndexColumnBox, pode ser como ...

Private Sub Detail_Paint()

    If Me.IndexColumnBox.Value Mod 2 = 0 Then
        Detail.BackColor = &HDDDDDD
        Detail.AlternateBackColor = &HDDDDDD

    Else
        Detail.BackColor = &HFFFFFF
        Detail.AlternateBackColor = &HFFFFFF

    End If

End Sub

(Observe que o evento é tinta de tela, e não apenas gera os Formulários Contínuos uma vez. Portanto, esse evento será chamado quantas vezes para cada linha, conforme o Formulário for rolado e usado. Isso significa que é importante ter algo como a verificação da coluna do índice que é sempre a mesma.)

    
por 23.10.2017 / 03:54