Bom dia
Estou ajudando um amigo aqui do fórum com o banco de dados dele.
O banco tem um formulário de vendas com um subformulário onde os produtos são inseridos. O nome do subformulário é Frm_VendasDetalhes
O formulário de vendas tem um botão que abre um terceiro formulário para pesquisar o produto e ao clicar duas vezes no produto ele será inserido no subformulário Frm_VendasDetalhes. Isso está funcionando, criei o código abaixo para fazer isso:
A ideia é, após clicar duas vezes na caixa de listagem e inserir o produto, o formulário de pesquisa será fechado, o subformulário Frm_VendasDetalhes deve ser atualizado e o foco posicionado no campo Quantidade do Frm_VendasDetalhes para inserir a quantidade.
Eu tiver alguns erros, então criei o módulo mod_ultimo com o código:
Os comandos abaixo estão funcionando:
DoCmd.OpenForm "Frm_Vendas"
DoCmd.GoToRecord , , acLast
Mas a linha que posiciona o foco apresenta o erro dizendo que pode localizar o formulário referenciado. Verifiquei o nome do formulário e está correto. Pode ter um erro de sintaxe nessas linhas, pois criei no formulário de vendas uma outra caixa de listagem para pesquisar, e ao clicar duas veze ele faz o que eu quero, como esse código:
Obrigado pela ajuda desde já. Entendo que, por não estar no mesmo formulário, a sintaxe pode estar errada.
O banco está em anexo.
Enio Eltz Filho.
Estou ajudando um amigo aqui do fórum com o banco de dados dele.
O banco tem um formulário de vendas com um subformulário onde os produtos são inseridos. O nome do subformulário é Frm_VendasDetalhes
O formulário de vendas tem um botão que abre um terceiro formulário para pesquisar o produto e ao clicar duas vezes no produto ele será inserido no subformulário Frm_VendasDetalhes. Isso está funcionando, criei o código abaixo para fazer isso:
- Código:
Dim regAtual As Integer
regAtual = Forms![Frm_Vendas]![CodVenda]
Me.campo_codigo.Value = regAtual
Me.campo_cod_barras.Value = Me.lst_produtos.Column(0)
Me.campo_produto.Value = Me.lst_produtos.Column(2)
Me.campo_valor.Value = Me.lst_produtos.Column(3)
Me.campo_cod_barras.Requery
Me.campo_produto.Requery
Me.campo_valor.Requery
Me.campo_pesq_prod_nome.Value = ""
Me.lst_produtos.Requery
Set DB = CurrentDb()
Set rs = DB.OpenRecordset("Tbl_VendasDet")
rs.AddNew
rs("CodigoVendas") = regAtual
rs("CodBarras") = Me.campo_cod_barras
rs("Produto") = Me.campo_produto
rs("ValorUnit") = Me.campo_valor
rs.Update
rs.Close
DB.Close
Forms!Frm_Vendas.Requery
DoCmd.RunCommand acCmdClose
Call ultimo
A ideia é, após clicar duas vezes na caixa de listagem e inserir o produto, o formulário de pesquisa será fechado, o subformulário Frm_VendasDetalhes deve ser atualizado e o foco posicionado no campo Quantidade do Frm_VendasDetalhes para inserir a quantidade.
Eu tiver alguns erros, então criei o módulo mod_ultimo com o código:
- Código:
Public Function ultimo()
DoCmd.OpenForm "Frm_Vendas"
DoCmd.GoToRecord , , acLast
[Forms]![Frm_VendasDetalhes].SetFocus
[Forms]![Frm_VendasDetalhes]![Quantidade].SetFocus
End Function
Os comandos abaixo estão funcionando:
DoCmd.OpenForm "Frm_Vendas"
DoCmd.GoToRecord , , acLast
Mas a linha que posiciona o foco apresenta o erro dizendo que pode localizar o formulário referenciado. Verifiquei o nome do formulário e está correto. Pode ter um erro de sintaxe nessas linhas, pois criei no formulário de vendas uma outra caixa de listagem para pesquisar, e ao clicar duas veze ele faz o que eu quero, como esse código:
- Código:
Me.campo_cod_barras.Value = Me.lst_produtos.Column(0)
Me.campo_produto.Value = Me.lst_produtos.Column(2)
Me.campo_valor.Value = Me.lst_produtos.Column(3)
Me.campo_cod_barras.Requery
Me.campo_produto.Requery
Me.campo_valor.Requery
Me.campo_pesq_prod_nome.Value = ""
Me.lst_produtos.Requery
Set DB = CurrentDb()
Set rs = DB.OpenRecordset("Tbl_VendasDet")
rs.AddNew
rs("CodigoVendas") = Me.CodVenda
rs("CodBarras") = Me.campo_cod_barras
rs("Produto") = Me.campo_produto
rs("ValorUnit") = Me.campo_valor
rs.Update
rs.Close
DB.Close
Me.Frm_VendasDetalhes.Requery
Me.Frm_VendasDetalhes.SetFocus
Me.Form![Frm_VendasDetalhes]![Quantidade].SetFocus
Obrigado pela ajuda desde já. Entendo que, por não estar no mesmo formulário, a sintaxe pode estar errada.
O banco está em anexo.
Enio Eltz Filho.
- Anexos
- banco.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (570 Kb) Baixado 5 vez(es)