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]Criar lista em caixa de combinação com critérios de outra caixa de combinação

    edmarcos
    edmarcos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 13/07/2012

    [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação Empty [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação

    Mensagem  edmarcos em 12/4/2018, 03:29

    Pessoal,
    Tenho um um formulário meu uma caixa de combinação que lista todas as UF do Brasil, por exemplo, MG, SP, etc. Estes valores são de uma lista de campos que coloquei nas propriedades.

    Tenho ainda outra caixa de combinação em sequencia que eu preciso que traga todas as cidades da UF selecionada na caixa de combinação anterior. Ou seja, preciso que a pesquisa (consulta) dentro da caixa de combinação de cidades use o critério da escolha da UF no mesmo formulário.

    Ressalto que tenho uma tabela com duas colunas (UF;Cidade)

    Como fazer?
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação Empty Re: [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação

    Mensagem  Noobezinho em 12/4/2018, 12:28

    Edmarcos

    Entre na propriedade Após atualizar da combobox dos estados e copie e cole o código abaixo:
    Substitua os nomes das combos para o nome das tuas combos.


    Private Sub cbo_UF_AfterUpdate()
    Me.cbo_Citys.RowSource = "SELECT tblCitys.UF, tblCitys.City " & _
    "FROM tblCitys " & _
    "WHERE tblCitys.UF = '" & Me.cbo_UF & "'" & _
    "ORDER BY tblCitys.City;"
    End Sub

    [ ]'s
    edmarcos
    edmarcos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 13/07/2012

    [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação Empty Re: [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação

    Mensagem  edmarcos em 14/4/2018, 13:35

    Noobezinho, obrigado pela dica.

    Fiquei meio perdido nas substituições dos nomes.

    Minha tabela que tem UF e cidades se chama (Tb_Cidades). As colunas se chamas UF e Cidade.

    Minha caixa de combinação onde escolho o estado para filtrar as cidades, no formulário se chama UF e a caixa de combinação onde deve aparecer as cidade do estado filtrado em UF se chama cidades.

    Coloquei o seguinte Código:
    Private Sub UF_AfterUpdate()
    Me.Cidade.RowSource = "SELECT Tb_Cidades.UF, Tb_Cidades.cidade" & _
    "FROM Tb_Cidades" & _
    "WHERE Tb_Cidades.UF = '" & Me.UF & "'" & _
    "ORDER BY Tb_Cidades.CIDADE;"
    End Sub

    E apareceu o seguinte no formulário:
    [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação Cidade10
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação Empty Re: [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação

    Mensagem  Noobezinho em 14/4/2018, 14:04

    O código antes da imagem está correto.

    A imagem mostra que colocou uma sentença SQL na propriedade Fonte do controle, na combobox cidade.

    Tanto é, que na imagem exibe um "Select [tblcadcidade], que não tem nada haver com o código passado.

    Retire essa sentença SQL e coloque o campo cidade que ela pertence.
    edmarcos
    edmarcos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 13/07/2012

    [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação Empty Re: [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação

    Mensagem  edmarcos em 14/4/2018, 15:14

    Onde retiro essa sentença? "Select [tblcadcidade]" Não a localizei em nenhum lugar.
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação Empty Re: [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação

    Mensagem  Noobezinho em 14/4/2018, 15:36

    Com o formulário em modo designe clique na combo

    Se a folha de propriedades não estiver aberta, clique no botão Folha de propriedades no menu la em cima do lado direito.

    Com a folha de propriedades aberta, clique na aba Todas e limpe a segunda linha e coloque : cidade

    Creio ser esse no nome do campo.
    edmarcos
    edmarcos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 13/07/2012

    [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação Empty Re: [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação

    Mensagem  edmarcos em 14/4/2018, 23:42

    Consegui resolver parcialmente. Configurei a cbo UF para fazer uma pesquisa de dados exclusivos na tabela de cidades (SELECT DISTINCT Tb_Cidades.UF FROM Tb_Cidades; )

    E configurei a consulta na cbo Cidades para buscar na tabela cidades respeitando a seleção da cbo UF (SELECT Tb_Cidades.CIDADE, Tb_Cidades.UF FROM Tb_Cidades WHERE (((Tb_Cidades.UF) Like [Formulários]![frmCadCliente]![UF])); ).

    Essas duas consultas estão nas origens das linhas de cada cbo.

    Quando abro o formulário funciona perfeitamente. Se seleciono o estado de MG por exemplo a cbo cidades só traz as cidades de MG. No entanto, se volto no cbo UF e mudo o estado selecionado as cidades disponíveis na cbo Cidades não atualizam.

    O que tenho que fazer para que essa consulta: SELECT Tb_Cidades.CIDADE, Tb_Cidades.UF FROM Tb_Cidades WHERE (((Tb_Cidades.UF) Like [Formulários]![frmCadCliente]![UF])); ) seja atualizada cada vez que entro na cbo cidades ou cada fez que altero a cbo UF?


    edmarcos
    edmarcos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 13/07/2012

    [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação Empty Re: [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação

    Mensagem  edmarcos em 15/4/2018, 00:05

    RESOLVIDO!

    Coloquei o seguinte:
    Private Sub UF_AfterUpdate()
    Me.Cidade.RowSource = "SELECT Tb_Cidades.CIDADE, Tb_Cidades.UF FROM Tb_Cidades WHERE (((Tb_Cidades.UF) Like [Formulários]![frmCadCliente]![UF])); "
    End Sub
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação Empty Re: [Resolvido]Criar lista em caixa de combinação com critérios de outra caixa de combinação

    Mensagem  Noobezinho em 15/4/2018, 00:19

    Você escreveu:


    "O que tenho que fazer para que essa consulta: SELECT Tb_Cidades.CIDADE, Tb_Cidades.UF FROM Tb_Cidades WHERE (((Tb_Cidades.UF) Like [Formulários]![frmCadCliente]![UF])); ) seja atualizada cada vez que entro na cbo cidades ou cada fez que altero a cbo UF?"



    Fazer exatamente o que escrevi na primeira mensagem.
    ou seja:


    Private Sub cbo_UF_AfterUpdate()
    Me.cbo_Citys.RowSource = "SELECT tb_Cidades.UF, tb_Cidades.CIDADE " & _
    "FROM tb_Cidades." & _
    "WHERE tb_Cidades.UF = '" & Me.cbo_UF & "'" & _
    "ORDER BY tb_Cidades.CIDADE;"
    End Sub


    E deixe a propriedade origem da linha em branco.

      Data/hora atual: 22/10/2020, 01:32