MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Propriedades de controle em uma mesma linha no VBA

    Ronaldo Costa
    Ronaldo Costa
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 14/03/2011

    [Resolvido]Propriedades de controle em uma mesma linha no VBA Empty [Resolvido]Propriedades de controle em uma mesma linha no VBA

    Mensagem  Ronaldo Costa em 22/8/2019, 13:43

    Olá pessoal!

    Tenho no meu form vários controles e preciso definir algumas das propriedades destes controles no VBA.

    Então faço assim:

    me.controle1.Left = x
    me.controle1.Width = y
    me.controle1.Height = w
    e etc...

    Desta forma, terei que fazer isso para todos os controles que desejo ajustar.
    Pergunto: Não teria um forma de escrever somente as propriedades de um controle sem ter que mencionar repetidamente a expressão, por exemplo, 'me.controle1'?


    grato
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 21/04/2011

    [Resolvido]Propriedades de controle em uma mesma linha no VBA Empty Re: [Resolvido]Propriedades de controle em uma mesma linha no VBA

    Mensagem  Marcelo David em 22/8/2019, 13:58

    Bom dia,
    quais são os tipos de controles que precisa alterar via VBA?


    .................................................................................
    Marcelo David | [Resolvido]Propriedades de controle em uma mesma linha no VBA LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    Ronaldo Costa
    Ronaldo Costa
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 14/03/2011

    [Resolvido]Propriedades de controle em uma mesma linha no VBA Empty Re: [Resolvido]Propriedades de controle em uma mesma linha no VBA

    Mensagem  Ronaldo Costa em 22/8/2019, 14:20

    Bom dia.

    Todos caixas de texto
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 21/04/2011

    [Resolvido]Propriedades de controle em uma mesma linha no VBA Empty Re: [Resolvido]Propriedades de controle em uma mesma linha no VBA

    Mensagem  Marcelo David em 22/8/2019, 14:58

    Em um módulo:

    Código:
    Public Sub AlteraPropriedadesControles(Formulario As Form)
       
        For Each ctl In Formulario.Controls
            If ctl.ControlType = acTextBox Then
                ctl.Left = 200 'Pode ser o valor que quiser aqui, inclusive de uma variável
                ctl.Width = 2000 'Pode ser o valor que quiser aqui, inclusive de uma variável
                ctl.Height = 500 'Pode ser o valor que quiser aqui, inclusive de uma variável
            End If
        Next
       
    End Sub

    Para chamar a sub de qualquer formulário, basta:
    Código:
    AlteraPropriedadesControles Me

    Se precisar alterar outras propriedade, basta adicioná-las ao If:
    ctl.Top = xxx, por exemplo.



    .................................................................................
    Marcelo David | [Resolvido]Propriedades de controle em uma mesma linha no VBA LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    Ronaldo Costa
    Ronaldo Costa
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 14/03/2011

    [Resolvido]Propriedades de controle em uma mesma linha no VBA Empty Re: [Resolvido]Propriedades de controle em uma mesma linha no VBA

    Mensagem  Ronaldo Costa em 22/8/2019, 15:15

    Entendi!

    Mas, como faço para identificar um txt específico?

    Ex: txtAluno, txtTurmas.

    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 21/04/2011

    [Resolvido]Propriedades de controle em uma mesma linha no VBA Empty Re: [Resolvido]Propriedades de controle em uma mesma linha no VBA

    Mensagem  Marcelo David em 22/8/2019, 18:20

    Dentro do IF, ponha outro if:

    caso seja para um único:
    Código:
    If ctl.Name =  "txtAluno" Then
    ....
    End If

    Caso seja para mais de um:

    Código:
    If ctl.Name =  "txtAluno" Or ctl.Name = "txtTurma" Then
    ....
    End If


    Para evitar ter que escrever muito código,

    Por exemplo, se alguns controle devem ter as mesmas propriedades, poderia no nome deles por um prefixo, tipo:

    txt1alunos, txt1turmas, txt1Classe, etc...
    txt2Obs, txt2cpf, txt2idade, etc...

    Digamos que todos os controles que o nome contiver no 4º caractere o número 1, aplica propriedades que lhes forem comuns, o mesmo para os controles que em seu nome o  4º caractere seja o número  2.

    Código:
    if mid(ctl.name, 4,1) = 1 then
       ctl.Left = 200
       ctl.Width = 2000
       ctl.Height = 500
    ElseIf mid(ctl.name, 4,1) = 2
       ctl.Left = 300
       ctl.Width = 5000
       ctl.Height = 700
    end if

    Sempre dentro do IF: If ctl.ControlType = acTextBox Then


    .................................................................................
    Marcelo David | [Resolvido]Propriedades de controle em uma mesma linha no VBA LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    Ronaldo Costa
    Ronaldo Costa
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 14/03/2011

    [Resolvido]Propriedades de controle em uma mesma linha no VBA Empty Re: [Resolvido]Propriedades de controle em uma mesma linha no VBA

    Mensagem  Ronaldo Costa em 22/8/2019, 20:26

    ok. Acho muito boa a sua sugestão. Darei um retorno assim que experimentar aqui.

    grato
    Ronaldo Costa
    Ronaldo Costa
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 14/03/2011

    [Resolvido]Propriedades de controle em uma mesma linha no VBA Empty Re: [Resolvido]Propriedades de controle em uma mesma linha no VBA

    Mensagem  Ronaldo Costa em 22/8/2019, 21:03

    Estou seguindo.

    Como faço para chamar esta sub no 'ao carregar formulário'?
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 21/04/2011

    [Resolvido]Propriedades de controle em uma mesma linha no VBA Empty Re: [Resolvido]Propriedades de controle em uma mesma linha no VBA

    Mensagem  Marcelo David em 22/8/2019, 21:05

    Conforme Mensagem nº4.


    .................................................................................
    Marcelo David | [Resolvido]Propriedades de controle em uma mesma linha no VBA LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    Ronaldo Costa
    Ronaldo Costa
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 14/03/2011

    [Resolvido]Propriedades de controle em uma mesma linha no VBA Empty Re: [Resolvido]Propriedades de controle em uma mesma linha no VBA

    Mensagem  Ronaldo Costa em 22/8/2019, 21:24

    Foi mal. Desculpa.

    Está dentro do que eu esperava. A partir daqui abre-se muitas possibilidades. Obrigado!!
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 21/04/2011

    [Resolvido]Propriedades de controle em uma mesma linha no VBA Empty Re: [Resolvido]Propriedades de controle em uma mesma linha no VBA

    Mensagem  Marcelo David em 22/8/2019, 21:44

    Ótimo que lhe foi útil! Não esqueças de marcar como resolvido!


    .................................................................................
    Marcelo David | [Resolvido]Propriedades de controle em uma mesma linha no VBA LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    Ronaldo Costa
    Ronaldo Costa
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 14/03/2011

    [Resolvido]Propriedades de controle em uma mesma linha no VBA Empty Re: [Resolvido]Propriedades de controle em uma mesma linha no VBA

    Mensagem  Ronaldo Costa em 13/9/2019, 21:44

    Serviu-me muito.

      Data/hora atual: 4/12/2020, 05:33