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

    [Resolvido]Função Cor da Fonte Controles Do formulario

    rubenscouto
    rubenscouto
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 679
    Registrado : 02/10/2011

    [Resolvido]Função Cor da Fonte Controles Do formulario Empty [Resolvido]Função Cor da Fonte Controles Do formulario

    Mensagem  rubenscouto 28/12/2015, 21:33

    Existe como eu criar uma função para buscar uma determinada condição de um campo do formulario e a partir dai, no evento "no atual" do mesmo alterar a cor da fonte de todos os controles? Ex:
    CampoX = Aberto, cor da fonte dos controles, Azul
    CampoX = Pendente, cor da fonte dos controles, vermelho
    Preciso que seja uma função para ser usado em qualquer formulario no bd.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Função Cor da Fonte Controles Do formulario Empty Re: [Resolvido]Função Cor da Fonte Controles Do formulario

    Mensagem  JPaulo 29/12/2015, 09:59

    Ola;

    Num modulo;

    Código:
    Public Sub PintaCampos(frm As Form)
    'By JPaulo ® Maximo Access
    Dim strCor1 As String, strCor2 As String
    Dim strValor1, strValor2
    Dim ctl As Control

    strCor1 = vbBlue
    strCor2 = vbRed

              strValor1 = "Aberto"
              strValor2 = "Pendente"
             
    For Each ctl In frm.Controls
            If ctl.ControlType = acTextBox Then
              On Error Resume Next
              If (ctl.Value) = strValor1 Then
                  ctl.ForeColor = strCor1
              ElseIf (ctl.Value) = strValor2 Then
                  ctl.ForeColor = strCor2
              Else
                  ctl.ForeColor = vbBlack
              End If
          End If
    Next ctl
    Set ctl = Nothing
    End Sub

    Se for para pintar em formulario contínuo, tem de chamar a função em dois eventos;

    Código:
    Private Sub Detail_Paint()
        Call PintaCampos(Me)
    End Sub

    Private Sub Form_Current()
        Call PintaCampos(Me)
    End Sub

    Se for para chamar em formulario simples, apenas deve chamar num evento;

    Código:
    Private Sub Form_Current()
        Call PintaCampos(Me)
    End Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Função Cor da Fonte Controles Do formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Função Cor da Fonte Controles Do formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Função Cor da Fonte Controles Do formulario Folder_announce_new Instruções SQL como utilizar...
    rubenscouto
    rubenscouto
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 679
    Registrado : 02/10/2011

    [Resolvido]Função Cor da Fonte Controles Do formulario Empty Re: [Resolvido]Função Cor da Fonte Controles Do formulario

    Mensagem  rubenscouto 30/12/2015, 15:00

    A função ficou assim:

    Public Sub PintaCampos(frm As Form, ctrPar As control)
    'By JPaulo ® Maximo Access
    Dim StrCor1 As String, StrCor2 As String, StrCor3 As String, StrCor4
    Dim strValor As String
    Dim ctl As control

    StrCor1 = vbBlue
    StrCor2 = vbRed
    StrCor3 = vbBlack
    StrCor4 = vbGreen

    strValor = ctrPar.Value

    For Each ctl In frm.Controls
    If ctl.ControlType = acTextBox Then
    On Error Resume Next
    If strValor = "Pendente" Then
    ctl.ForeColor = StrCor2
    ElseIf strValor = "Concluido" Then
    ctl.ForeColor = StrCor1
    ElseIf strValor = "PG" Then
    ctr.ForeColor = StrCor3
    ElseIf strValor = "Programado" Then
    ctr.ForeColor = StrCor3
    Else
    ctl.ForeColor = StrCor4
    End If
    End If
    Next ctl
    Set ctl = Nothing
    End Sub


    Sendo assim, resolvido!!!
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Função Cor da Fonte Controles Do formulario Empty Re: [Resolvido]Função Cor da Fonte Controles Do formulario

    Mensagem  JPaulo 30/12/2015, 15:01

    Fico feliz.

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Função Cor da Fonte Controles Do formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Função Cor da Fonte Controles Do formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Função Cor da Fonte Controles Do formulario Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Função Cor da Fonte Controles Do formulario Empty Re: [Resolvido]Função Cor da Fonte Controles Do formulario

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 04:30