Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Não Estou Conseguindo Atualiar Os Campos


junior.bportal
 Share

Question

Bom... sei q tem vários tópicos sobre o DLOOKUP, mas sinceramente, estou tendo problemas para utilizar em uma função aqui...

Eu tenho um sub-formulário q contém os dados das peças (itens) de um pedido... e este sub-formulário está ligado ao formulário de pedidos (lógico... rs...)... bom, eu tenho um botão no sub-formulário q abre uma janela popup onde digito parte do código do item e aparece a listagem dos itens cadastrados, aí dou um duplo clique e o campo "cod_item" é preenchido com o código selecionado... até aí tudo muito lindo!!!

O problema é que preciso preencher mais 3 campos: "descricao", "un" e "preço".... assim q o campo "cod_item" receber o código q eu selecionei, estes outros campos tb precisam ser preenchidos...

Eu fiz o seguinte código:

Private Sub cod_item_AfterUpdate()

Me.descricao = DLookup("[descricao]", "lista_produtos", "[cod_item]" = Me.cod_item)

Me.combinacao_un = DLookup("[un]", "lista_produtos", "[cod_item]" = Me.cod_item)

Me.preco_venda = DLookup("[preço]", "lista_produtos", "[cod_item]" = Me.cod_item)

End Sub

Pelo q entendi, o q eu fiz foi:

Após atualizar o campo "cod_item", nos campos "descricao", "combinacao_un" e "preco_venda", identificar os campos relacionados a eles na tabela "lista_produtos", filtrando pelo "cod_item" quando o mesmo for igual ao campo "cod_item" do subformulário e preencher... não é isso???

Então porque não está funcionando???

Simplesmente busco o código do item mas os campos ficam em branco...

Bom... alguém pode me ajudar???

vlw!!!

Carlos

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Ummm seu código me parece correto, mais está faltando aspas simples no sua condição pois pelo que pude entender cod_item é numérico, além claro de que o sinal de iguadade deve estar dentro das aspas e você deve concatenar o valor do form a expressão, tente assim:

Me.descricao = DLookup("[descricao]", "lista_produtos", "[cod_item] = '" & Me.cod_item &"'")

Me.combinacao_un = DLookup("[un]", "lista_produtos", "[cod_item] = '" & Me.cod_item &"'")

Me.preco_venda = DLookup("[preço]", "lista_produtos", "[cod_item] = '" & Me.cod_item &"'")

Bom acredito que isso deva solucionar seu problema, testa e confirme pra nós!

Link to comment
Share on other sites

  • 0

Fera... deu certo!!!

Valeu pela ajuda!!!

Abços

Cara... só mais uma coisa...

Está tudo funcionando corretamente no sub-formulário. Se eu faço os teste diretamente no sub-formulário ocorre tudo perfeitamente bem... mas quando vou pelo formulário e acesso a guia do sub-formulário e tento incluir um item através do botão de pesquisa... dá erro...

O botão de pesquisa funciona... abre a janela popup e pesquisa os itens, mas quando dou um duplo clique sobre o item surge o seguinte erro:

Erro em tempo de execução '2450':

O Microsoft Access não pode localizar o formulário 'detalhes_encomenda' referido em uma expressão de macro ou código do Visual Basic.

O nome do formulário principal é "encomendas" e o nome do sub-formulário é "detalhes_encomendas"...

Não sei porque não funciona quando faço o procedimento pelo formulário principal...

Pode me ajudar??? Não sei se terei q postar outro tópico...

Obrigado!!!

mais um detalhe... o meu código é esse:

Private Sub Lista2_DblClick(Cancel As Integer)

vIDcodigoitem = Me.Lista2.Value

'fazer o campo cod_item do formulário receber o respectivo nome clicado

[Forms]![detalhes_encomenda]![cod_item] = vIDcodigoitem

'fechar o formulário pop-up

DoCmd.Close acForm, "produtos_popup", acSaveNo

'manda o foco para o campo cod_item

[Forms]![detalhes_encomenda]![cod_item].SetFocus

End Sub

Esse é o código q está no botão de pesquisar item no sub-formulário...

Link to comment
Share on other sites

  • 0

Fera sinceramente não consegui entender muito bem o que tem de ser feito, ou porque pegar um item a partir do form principal já que estão todos no detalhe, passe mais algumas informações para que possamos tentar ajudar você melhor, e claro que se possivel abra outro tópico, pois a dúvida título do tópico foi resolvida.

vlw!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.4k
×
×
  • Create New...