Pessoal ,ao capturar dados de uma listbox, os dados são enviados para um subform certo o problema é que ao capturar o primeiro item tudo certo,mas ao capturar o seguinte ao inves de acrescenter no subform apenas troco um pelo outro e não acrescente subform é continuo.
Última edição por Agravina em 20/6/2012, 11:56, editado 1 vez(es)
Imagino que o caminho é adicionando os dados via RecordSet... Como está sua estrutura?
................................................................................. Domine Access e VBA Criando Um Incrível Sistema Financeiro - [Passo a passo] Access e VBA - Formulário Desacoplado - [Passo a passo] Conheça meu canal no Youtube e se inscreva.
Agravina, a tabela tbl_produtos é cadastro dos produtos ou para detalhes da venda? Pois nela há um campo "cod" requerido, que pelo o que vi, é registrar o código da venda. Explique melhor essa situação, assim será mais fácil chegarmos a solução. No agurdo.
................................................................................. Domine Access e VBA Criando Um Incrível Sistema Financeiro - [Passo a passo] Access e VBA - Formulário Desacoplado - [Passo a passo] Conheça meu canal no Youtube e se inscreva.
Boas Agravina, se não está adicionando e apenas modificando o ultimo, talvez tenhas que primeiro eviar o comando
DoCmd.GoToRecord , , acNewRec (referenciado para o para o subform)
Ou a instrução SQL Insert Into... que insere diretamene na tabela, no entanto utilizando esta instrução é necessário alem do valor capturado da listbox o campo Código do pedido no campo relacionado da tabela deltalhes, para que o registro fique relacionado, depois um me.subform.Requery
DoCmd.GoToControl "SeuSubForm" With Me.SeuSubForm DoCmd.GoToRecord , , acNewRec !CampoNoSubFOrm = Me.Sualista.Column(x) RunCommand acCmdSaveRecord End With
Esse código retirei do seu projeto!... viu como estávai ai pertinho de voce?
Private Sub Comando10_Click() DoCmd.GoToControl "detalhevenda" With me.detalhevenda DoCmd.GoToRecord , , acNewRec !Texto3 = Me.Lista0.Column(1) RunCommand acCmdSaveRecord End With End Sub detalhevenda nome subform
................................................................................. Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.
amigo harysonh,não entendeu a lista está sim em outro form pesquisa, ao clicar nos dados contidos nela envio para subdetalhevenda, o problema que não inclui na venda só troca um pelo outro? veja o bd postada na mensagem 4 é diferente desde que voçe tem ai. veja frmvendas ,Pressione F8 veja o ocorre.
Crie um Módulo e nomeei de VariaveisPublicas, nele crie duas variáveis Option Compare Database
Public Str_1 As String Public Str_2 As Double
No duplo click da listbox no frmPesquisa:
Private Sub Lista0_DblClick(Cancel As Integer) Str_1 = Me.Lista0.Column(1) Str_2 = Me.Lista0.Column(2) Forms!FrmVendas.SetFocus Forms!FrmVendas.Inserir End Sub
Observe que as variaveis serão carregadas com os valores da lista
no FormVendas Crie uma Sub Inserir, que é a que vai executar a inserção. Observe que o código acima invoca a sub
Sub Inserir() DoCmd.GoToControl "detalhevenda" With Me.detalhevenda DoCmd.GoToRecord , , acNewRec !Texto3 = Str_1 !valorunit = Str_2 RunCommand acCmdSaveRecord End With Forms!FrmPesquisa.SetFocus Str_1 = "" Srr_2 = "" End Sub
Aqui será inserido as variaveis nas caixas texto no subform depois elas serão limpas
Grande... PILOTO matou a pau ,parece que acabo de tomar um analgésico para dor de cabeça rsrsrsr Funcionou Perfeitamente,vou incluir os creditos no código certo! um abraço!
Agravina, crie uma caixa texto no form e a nomeeie de txtData, observe que na sub aplico na caixa a data e salvo. Depois do registro salvo na tblVenda ai sim a id será lancada na tabela detalhe
Uma observação: se digitar um codigo de produdo que nao existe no frmVenda ele emite mensagem.. porém ta inserindo registro em branco.Veja Isto
Crie mais uma variável Str_3 para recber o codigo do produto, ai na sub faça como fiz com as outras.
Sub Inserir() Me.txtData = Date RunCommand acCmdSaveRecord DoCmd.GoToControl "detalhevenda" With Me.detalhevenda DoCmd.GoToRecord , , acNewRec !Texto3 = Str_1 !ValorUnit = Str_2 !DetalheCódigovenda = Me.Códigovenda RunCommand acCmdSaveRecord End With Forms!FrmPesquisa.SetFocus Str_1 = "" Srr_2 = "" End Sub
Tremenda dor de cabeça isso!Harysonh o que eu preciso é se eu não sei o código do produto,tenho que pesquisar e em localizando incluir o item na venda certo. se vou outra maneira de faze-lo aceito sugestão.