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


3 participantes

    [Resolvido]combobox com dropdown

    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]combobox com dropdown Empty [Resolvido]combobox com dropdown

    Mensagem  ifahidalgo 14/8/2014, 15:15

    no meu formulario tem uma combo box, cmbsecretaria, e estrou utilizando o codigo abaixo para poder abrir automaticamente;

    Private Sub cmbsecretaria_GotFocus()
    Me!cmbsecretaria.Dropdown
    End Sub


    quando o campo recebe o foco, não acontece nada. meu access é o 2010.
    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  ifahidalgo 14/8/2014, 15:34

    estou utilizando um modulo de pintar foco do amigo Avelino, que faz utilização no evento de perder e receber foco. ao retirar a utilização desse modulo, funcionou.

    será que consigo utilizar as duas coisas
    segue o codigo do modulo


    Option Compare Database

    Public Function fncMontaEventos(frm As Form)
    Dim ctl As Control
    '--------------------------------------------------------------------------------------
    'Com a instrução FOR EACH , percorreremos todos os campos do Formulário para gravar a 'função fncPintaCampo() nos eventos "Ao receber foco" e "Ao perder foco"
    '--------------------------------------------------------------------------------------
    For Each ctl In frm.Controls
    Select Case ctl.ControlType
    '-----------------------------------------------------------------------------
    'Escreve as funções somente nos eventos dos controles tipo caixa de texto
    '-----------------------------------------------------------------------------
    Case acTextBox, acComboBox, acListBox
    '---------------------------------------------------------------------------------
    'Monta e escreve a função fncPintaCampo() nos evento "Ao receber foco" 'da caixa de texto
    'Lembrando que estamos dentro do laço FOR. Significa que todas as caixas de texto 'receberão a função
    '---------------------------------------------------------------------------------
    ctl.OnGotFocus = "=fncPintaCampo([" & ctl.Name & "],1)"
    '--------------------------------------------------------------------------------
    'Monta e escreve a função fncPintaCampo() no evento "Ao perder foco" 'da caixa de texto
    '-------------------------------------------------------------------------------
    ctl.OnLostFocus = "=fncPintaCampo([" & ctl.Name & "],0)"
    End Select
    Next
    End Function
    '---------------------------------------------------------------------------
    Public Function fncPintaCampo(ctl As Control, Cor As Byte)
    '--------------------------------------------
    'Altera a cor do campo que possui o foco
    'Ao receber o foco, passa para a cor amarela
    'Ao perder o foco, passa para a cor branca
    '--------------------------------------------
    ctl.BackColor = Switch(Cor = 0, RGB(255, 255, 255), Cor = 1, RGB(255, 253, 185))

    '------------------------------------------------------
    'Ao receber o foco posiciona o cursor no final do texto
    '------------------------------------------------------
    'If Cor = 1 Then ctl.SelStart = Len(ctl.Value & "")

    End Function

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  JPaulo 14/8/2014, 15:38

    Conheço essa função do Professor Avelino e como está montada, não faz o DropDow nas combos, tem de se incluír mais uma instrução.


    .................................................................................
    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]combobox com dropdown Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]combobox com dropdown Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]combobox com dropdown Folder_announce_new Instruções SQL como utilizar...
    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  ifahidalgo 14/8/2014, 15:46

    sim, é de autoria dele mesmo. quando utilizo ela, qualquer evento que seja feito em receber ou perder foco, não funciona.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  JPaulo 14/8/2014, 15:48

    Teste;

    Código:
    Public Function fncMontaEventos(frm As Form)
    Dim ctl As Control
    '--------------------------------------------------------------------------------------
    'Com a instrução FOR EACH , percorreremos todos os campos do Formulário para gravar a 'função fncPintaCampo() nos eventos "Ao receber foco" e "Ao perder foco"
    '--------------------------------------------------------------------------------------
    For Each ctl In frm.Controls
    Select Case ctl.ControlType
    '-----------------------------------------------------------------------------
    'Escreve as funções somente nos eventos dos controles tipo caixa de texto
    '-----------------------------------------------------------------------------
    Case acTextBox, acComboBox, acListBox
    'Alteração em 14-08-2014 JPaulo
        If ctl.Name = "cmbsecretaria" Then
            Exit Function
        Else

    '---------------------------------------------------------------------------------
    'Monta e escreve a função fncPintaCampo() nos evento "Ao receber foco" 'da caixa de texto
    'Lembrando que estamos dentro do laço FOR. Significa que todas as caixas de texto 'receberão a função
    '---------------------------------------------------------------------------------
    ctl.OnGotFocus = "=fncPintaCampo([" & ctl.Name & "],1)"
    '--------------------------------------------------------------------------------
    'Monta e escreve a função fncPintaCampo() no evento "Ao perder foco" 'da caixa de texto
    '-------------------------------------------------------------------------------
    ctl.OnLostFocus = "=fncPintaCampo([" & ctl.Name & "],0)"
    End If
    End Select
    Next

    End Function


    .................................................................................
    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]combobox com dropdown Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]combobox com dropdown Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]combobox com dropdown Folder_announce_new Instruções SQL como utilizar...
    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  ifahidalgo 14/8/2014, 16:49

    JPaulo

    Dessa forma, a função não funciona para os demais campos que deverão ser preenchidos depois.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  Noobezinho 14/8/2014, 17:20

    Olá Pessoal

    O Dropdown só funciona ao ENTRAR na caixa de combinação, ou seja,
    quando ela tem o foco. e para ter o foco, tem que estar ativa com o cursos dentro dela.

    Quanto a pintar os controle do form, creio ter uma ideia melhor, mas antes preciso do código
    da função fncPintaCampo().

    Abraços

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  ifahidalgo 14/8/2014, 17:39

    Noobe

    o codigo dessa função está na mensagem numero 2
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  Noobezinho 14/8/2014, 18:03

    Uia

    Estou vesgo  Embarassed 


    A nova função:
    Cole num módulo básico

    Código:

    '---------------------------------------------------------------------------
    Public Function fncPintaFundo(Cor As Byte)
    '--------------------------------------------
    'Altera a cor do campo que possui o foco
    'Ao receber o foco, passa para a cor amarela
    'Ao perder o foco, passa para a cor branca
    '--------------------------------------------
    Dim ctl As Control
    Set ctl = Screen.ActiveControl
    ctl.BackColor = Switch(Cor = 0, RGB(255, 255, 255), Cor = 1, RGB(255, 253, 185))

    '------------------------------------------------------
    'Ao receber o foco posiciona o cursor no final do texto
    '------------------------------------------------------
    'If Cor = 1 Then ctl.SelStart = Len(ctl.Value & "")

    End Function

    Para chamar a função:
    Na folha de propriedades, no evento ai receber foco de cada controle:
    =fncPintaFundo(1)

    Na folha de propriedades, no evento ai perder foco de cada controle:
    =fncPintaFundo(2)

    Todos os controle (ou a maioria) tem esses dois eventos em comum.
    Então segure a tecla Ctrl e vá clicando em todos eles (selecionando) quando
    pegar todos, vá na propriedade ao receber/perder foco e escreva a função.
    Assim não irá ter que escreve em cada um deles.

    Abraços

    Noob


    Última edição por Noobezinho em 18/8/2014, 15:44, editado 1 vez(es)


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  ifahidalgo 18/8/2014, 15:24

    fiz conforme informou mas aparece a seguinte mensagem ao colocar a função no evento

    a expressão contém um nome ambíguo. verifique se cada nome na expressão refere-se a um objeto exclusivo
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  Noobezinho 18/8/2014, 15:42

    Como  o próprio Access diz, você tem 2 funções com o mesmo nome

    Mude o nome da função que eu te passei:

    Coloque o nome como: fncPintaFundo()

    Vou modificar no posta anterior para que veja como ficou.

    Nb


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  ifahidalgo 18/8/2014, 15:52

    atualizei e funcionou o foco, mas ainda não funciona o expandir a combo box

    Me!cmbsecretaria.Dropdown

    só funciona se eu tirar os eventos de receber e perder foco.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  Noobezinho 18/8/2014, 17:12

    Como disse antes

    Você deve colocar o dropdown na propriedade Ao Entrar da combo

    Nb


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  ifahidalgo 18/8/2014, 17:21

    não funcionou.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  Noobezinho 18/8/2014, 17:31

    Certo

    Então vamos para mais uma funçãozinha:

    No módulo básico:

    Public Function AbrirComboBox()
    SendKeys "%{DOWN}", False

    End Function

    Na propredade Ao entrar da combo:

    Na folha de dados:

    =AbrirComboBox()

    No VBA:

    Call AbrirComboBox


    Nb


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  ifahidalgo 18/8/2014, 18:14

    perfeito. funcionou. obrigado
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  Noobezinho 18/8/2014, 20:03

    Bom que minha ajuda fez efeito.  Wink 

    Valeu o retorno

    Boa sorte


    Nb


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

    Conteúdo patrocinado


    [Resolvido]combobox com dropdown Empty Re: [Resolvido]combobox com dropdown

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 10:36