locked
Combo box carregando outros campos RRS feed

  • Pergunta

  • Pessoal,

      Sou programador VB porém tenho uma dificuldade enorme em entender o Access! Estou precisando que no evento de clique de uma combo que está num formulário, ComboBox1 que é carregada por uma query criada no próprio controle Tabela1.Campo1; deve-se carregar outros campos usando a mesma query, ou seja a combo está funcionando como um filtro...

      Não posso usar a consulta do formulário, pois é um formulário de movimentação o que a combo está fazendo é somente buscar dados de uma tabela, do tipo cadastro, para fazer a movimentação.

      Já tentei de várias formas e não consegui nada! Alguém pode dar o caminho?

    Obrigado!

    Brandão

    terça-feira, 20 de junho de 2006 17:04

Respostas

  • Dê uma olhada neste exemplo: http://www.candace-tripp.com/download/combopopulate.zip

    Mostra como popular um form a partir da seleção em uma caixa de combinação. São cinco métodos para o preenchimento: DAO, ADO, Filtro, DLookUp e valoes das colunas ca caixa de combinação.

     

    quarta-feira, 21 de junho de 2006 19:35
  • Obrigado!... O link que você passou tem a resposta a minha pergunta e ainda com várias técnicas!

    Brandão

    sábado, 24 de junho de 2006 03:11

Todas as Respostas

  • Brandão ,

    Bem você disse que não pode usar uma consulta do formulario para popular o dropdown né , mas você pode criar uma nova consulta tipo; Select nome,sobrenome from cliente e atribuir a caixa de combinação do acess, quando você joga ela no acess ele pede uma consulta para atribuir então você escolhe exatamente essa que você fez.

    Qualquer problema retorna. 

    terça-feira, 20 de junho de 2006 17:18
  • Oi Brandão,

    não ficou claro para mim se você quer usar a combo para preencher campos ou se quer usar a combo para localizar registros.

    Se for para localizar registros, você pode criar a combo usando o assistente do Access, onde a terceira opção faz isto.

    Se for para preencher campos, você deve ajustar a propriedade Número de colunas da combo para refletir o número de campos da consulta (definida na propriedade Origem de linha).

    Depois, no evento AfterUpdate da combo (melhor do que usar o Click), você coloca:

     

    Me.TeuCampoX = Me.TuaCombo.Column(0)

    Me.TeuCampoY = Me.TuaCombo.Column(1)

    Me.TeuCampoZ = Me.TuaCombo.Column(2)

    quarta-feira, 21 de junho de 2006 01:24
    Moderador
  • Seguinte pessoal,

      O meu formulário vai ter campos de uma tabela de movimentação.

      O combo-box vai "acessar" uma tabela de cadastro. Essa tabela tem o campo chave e mais outros dois campos, por exemplo.

      Quando eu selecionar um item no combo-box os outros campos deve ser preenchidos com os registro desta linha que foi selecionada na tabela de cadastro.

      Ex.:

      Conta.Cod, Conta.Nome, Conta.Tipo

      Mov.Cod, Mov.ContaCod (Chave estrangeira de Conta.Cod), (...)

      A combo é preenchida com Conta.Cod, quando eu escolho um item ela irá preencher outros campos com Conta.Nome e Conta.Tipo, mas esses campos são apenas para visualização, e não irão para a tabela de movimentação para não quebrar a normalização do BD.

    Obrigado pessoal!

    Brandão

    quarta-feira, 21 de junho de 2006 18:29
  • Dê uma olhada neste exemplo: http://www.candace-tripp.com/download/combopopulate.zip

    Mostra como popular um form a partir da seleção em uma caixa de combinação. São cinco métodos para o preenchimento: DAO, ADO, Filtro, DLookUp e valoes das colunas ca caixa de combinação.

     

    quarta-feira, 21 de junho de 2006 19:35
  • Obrigado!... O link que você passou tem a resposta a minha pergunta e ainda com várias técnicas!

    Brandão

    sábado, 24 de junho de 2006 03:11