Ir para conteúdo
Fórum Script Brasil
  • 0

Estoque


Marcio silveira

Pergunta

ola pessoal

eu sei que sou novo nesse forum

mas estou com uma dificuldade de resolver o meu problema

segue codigo

Private Sub cmd_comfirma_Click()

If MsgBox("Você confirma esta venda?", vbQuestion + vbYesNo, "Venda Concluida com sucesso!!!") = vbYes Then

Confirmado.Value = True

'''''''''Atualização - baixa no estoque dos produtos vendidos''''''''''''''''''''''''

DoCmd.RunCommand acCmdSaveRecord

Dim wk As DAO.Workspace

Dim db As DAO.Database

Dim rstEstoque As DAO.Recordset

Dim rstSubFrm As DAO.Recordset

Set wk = DBEngine.Workspaces(0)

Set db = CurrentDb

Set rstEstoque = db.OpenRecordset("Produto")

Set rstSubFrm = Me.ItemVenda.Form.RecordsetClone

'Informa qual indice será utilzado pelo metodo seek no recordset de Estoque

rstEstoque.Index = "PrimaryKey"

'Posiciona o ponteiro do recordset do subfrm no primeiro registro

rstSubFrm.MoveFirst

'Inicia um loop no recordset do subfrm

Do While Not rstSubFrm.EOF

'Inicia a busca no recordset estoque usando como argumento de busca o conteudo do campo CodPeca do subfrm

rstEstoque.Seek "=", rstSubFrm!CodProduto

'Se idêntico

If rstEstoque.NoMatch = False Then

rstEstoque.Edit 'Coloca o recordset em modo de edicao

rstEstoque("Estoque") = rstEstoque("Estoque") - rstSubFrm("Quantia")

rstEstoque.Update 'Grava a alteracao efetuada!

End If

'avanca para o proximo registro do subfrm

rstSubFrm.MoveNext

Loop

'Encerra as variaveis

rstSubFrm.Close

rstEstoque.Close

db.Close

wk.Close

'Informa que foi dada baixa no estoque e imprime cupom de venda

MsgBox "Baixa do estoque. " _

, vbInformation, "Realizada Com Sucesso!!!"

Else

End If

End Sub

meu problema esta onde esta de negrito , quando vendo e primeira vez beleza da baixa normal

mas qaundo vendo a segunda clicando no botao nova venda não da baixa e da erro 3420

objeto não e valido ou não esta definido.

se alguém tiver disposto e me ajudar e vou agredecer muito.

muito obrigado a todos..

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

cara eu n sei bulhufas de VB.. mas no meu sistema eu dou baixa no estoque atravez de consultas..

na verdade.. eu não dou baixa.. a consulta vai fazer o calculo de quanto saiu e quanto entrou.. sacou?

eu acho bem melhor do que fazer rotinas para mexer nos dados armazenados..

eu prefiro fazer sqls para calcular os dados

Link para o comentário
Compartilhar em outros sites

  • 0

funciona assim..

você tem uma tabela de entradas de estoque onde voce lanca no campo quantidade as quantidades que vão entrando para cada data..

você tem uma tabela de vendas onde voce registra em cada venda a quantidade que sai.

ai voce cria uma consulta para cada tabela somando o total de entradas e de vendas

então voce cria outra consulta onde você pega os resultados das consultas anteriores e coloca [total_entrada]-[total_saida]

logo voce tem nesta consulta a sua posicao atual de estoque.. sacou?

eu chamo isso de manipular os dados.

alias, a melhor coisa a se fazer é usar o menos de tabelas e campos possiveis para não abarrotar tanto o DB de dados "redundantes" e diminuir a carga de codigos

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...