... Assinatura do site por 3 anos + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$182,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Alterar BackColor somente dos campos desejados

Usuário José:

Tenho um formulário onde quero destacar alguns campos, através do click em um botão.

Este evento fará com que mude BackColor somente dos campos desejados.

Devo utilizar a propriedade "Marcas inteligentes" dos campos?  Como fazer o critério?

Suporte:

José, os campos serão sempre os mesmos? Tem alguma condição para que fiquem destacados e assim, a mudança automática seja realizada?  Esse destaque deve ser gravado para que volte ao registro sempre na mesma condição? Por favor, envie mais detalhes.

Usuário José:

Bem, a questão é a seguinte:

No formulário, alguns campos são de preenchimento obrigatório. Na situação em que o usuário deseja inserir um novo registro no formulário e deixar o campo em branco, os campos de preenchimento obrigatórios são indicados com uma BackColor diferente, chamando a atenção para o preenchimento dos mesmos. Após o preenchimento desejável, o campo assume a cor do BackColor ao qual foi definido inicialmente.

Fazer o comando individual para cada campo é um pouco trabalhoso. Existe alguma forma mais fácil de fazer esse comando?

Suporte:

José, na propriedade MARCA, dos campos obrigatórios, coloque o valor 1.

E no seu botão, coloque:

Dim ctl As control, j as boolean
'corre pelos controles
For Each ctl In Me.Controls
    'verifica se o controle é caixa de texto
    If ctl.ControlType = acTextBox Then
        'verifica se o controle é obrigatório (MARCA =1) e se foi preenchido
        If IsNull(ctl) And ctl.Tag = 1 Then
            ctl.BorderColor = 255 'pinta de vermelho a borda
            j = True
        Else
           ctl.BorderColor = 0 'pinta de preto a borda
        End If
    End If
Next
If j Then
    MsgBox "Campos em vermelho são obrigatórios...", vbInformation, "Aviso"
    Cancel = True
End If

Usuário José:

Funcionou perfeitamente!

 


 

 


Não há comentário

Envie seu comentário: