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]Erro em um subformulário com função DLookup

    avatar
    enio.eltz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 63
    Registrado : 19/07/2016

    [Resolvido]Erro em um subformulário com função DLookup Empty [Resolvido]Erro em um subformulário com função DLookup

    Mensagem  enio.eltz 25/2/2017, 00:48

    Boa noite

    Estou criando sistema de vendas em Access 2007 para controle. O banco está em anexo para análise.

    Criei uma tabela tbl_CadProdutos e um formulário fml_CadProdutos para o cadastro de produtos com os campos:

    ID (Numeração automática)
    COD_PRODUTO
    DESCRICAO_PRODUTO
    NOME_FORNECEDOR (caixa de combinação para buscar os fornecedores na tabela de fornecedores)

    Criei uma tabela tbl_CadCompras e um formulário fml_CadCompras, onde eu registro a compra de produtos. No formulário fml_CadCompras, o cabeçalho tem os campos da tabela tbl_CadCompras.
    Criei uma tabela tbl_CadComprasDetalhes com os campos dos detalhes da compra, onde eu lanço os produtos. Ela tem:

    ID
    COD_ME_tbl_CadCompras (para relacionar com ID da tbl_CadCompras)
    COD_PRODUTO (caixa de combinação para buscar os códigos dos produtos na tabela de produtos)
    DESC_PRODUTO
    QUANTIDADE
    PRECO_COMPRA

    No formulário fml_CadCompras eu criei um subformulário fml_CadComprasDetalhes com os campos da tbl_CadComprasDetalhes.
    Até aqui OK, eu crio uma nova compra, e no subformulário eu uso a caixa de combinação para preencher o código do produto.
    Mas eu quero que o sistema preencha o campo DESC_PRODUTO no subformulário automaticamente após eu preencher o código. Para isso, no subformulário, campo COD_PRODUTO, eu criei um procedimento do evento AfterUpdate com DLookup para isso, assim:

    Me.DESC_PRODUTO = DLookup("[DESCRICAO_PRODUTO]", "[tbl_CadProdutos]", "[COD_PRODUTO]=[COD_PRODUTO]")

    Então, quando eu preencho o campo COD_PRODUTO ele busca o DESCRICAO_PRODUTO, mas mesmo eu escolhendo códigos diferente, o sistema traz sempre a descrição do primeiro produto que eu cadastrei. Ele não traz a descrição exatamente de acordo com o código, mas pelo menos está fazendo algo parecido com o que eu desejo.

    Muito obrigado.

    Enio Eltz Filho.
    Anexos
    [Resolvido]Erro em um subformulário com função DLookup Attachmentbanco.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (249 Kb) Baixado 10 vez(es)
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Erro em um subformulário com função DLookup Empty Re: [Resolvido]Erro em um subformulário com função DLookup

    Mensagem  Dilson 26/2/2017, 23:32

    O DLookup não é o mais adequado nesse cenário.

    Uma solução mais eficiente é ir nas propriedades da combobox COD_PRODUTO e fazer compor na QBE oriundo da origem da linha (na aba Dados) os campos necessários no corpo da combobox, assim:

    Nas propriedades da combobox:
    N° de colunas = 3
    Largura das colunas = 0cm;2,542cm;0cm

    Na aba dados as colunas da origem da linha deverão estar como:
    COD_tbl_CadProdutos (Crescente) | COD_PRODUTO | DESCRICAO_PRODUTO

    Agora somente substitua aquele DLookup por isso no evento após atualizar da combobox COD_PRODUTO do seu subform chamado fml_CadComprasDetalhes:

    With COD_PRODUTO
           Me.DESC_PRODUTO.Value = .Column(2)
    End With

    avatar
    enio.eltz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 63
    Registrado : 19/07/2016

    [Resolvido]Erro em um subformulário com função DLookup Empty Re: [Resolvido]Erro em um subformulário com função DLookup

    Mensagem  enio.eltz 28/2/2017, 16:40

    Boa tarde Dilson

    Só tenho uma palavra a dizer: fantástico!!!
    Muito obrigado pela informação. Era isso que eu precisava. Pode parecer simples para quem trabalha com isso todos os dias, mas para mim é uma informação muito importante. Vou conseguir dar seguimento no projeto.

    Grande abraço!!!

    Conteúdo patrocinado


    [Resolvido]Erro em um subformulário com função DLookup Empty Re: [Resolvido]Erro em um subformulário com função DLookup

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 6/5/2024, 16:18