PROBLEMA COM ESTOQUE NAO SALVA BAIXA NEM ENTRADA
ola amigos vim pedir ajuda de vcs novamente ate estes dia meu projeto estava funcionando bem, mas hj eu fui conferir nas tabelas percebi q ele atualiza a tbl produtos mas no salva nem tblbaixa e nem tblentrada, e tambem nao apresentea erro algum muito estranho talves sej algo pequeno.
me judem vou mostrar o codigo da baixa
pra carregar o form
cnn.Open [Ô] provider=microsoft.jet.oledb.4.0;data source=[Ô] & App.Path & [Ô]loja.mdb[Ô]
rs.Open [Ô]SELECT*FROM tblproduto [Ô], cnn, 3, 3
rs.MoveFirst
txtcod.Text = rs![codprod]
[ô]txtcodbarra.Text = rs![codbarra]
txtdesc.Text = rs![descricao]
txtvcusto.Text = rs![valorcusto]
txtmargem.Text = rs![porcentagem]
txtvalorvenda.Text = rs![valorvenda]
txtestoqueatual.Text = rs![estoque_atual]
txtestoqueminimo.Text = rs![estoque_minimo]
[ô]tblsaida estoque
rssaida.Open [Ô]SELECT*FROM tblsaida [Ô], cnn, 3, 3
ate tudo otimo
agora a proxima parte do codigo e resposavel pela atualizacao da tblproduto e a isercao de registros na tblsaida
eu fiz assim
Private Sub cmdatualiza_Click()
If txtentrada > 0 Then
rssaida.Fields(1) = [Ô][Ô] & txtcod.Text
rssaida.Fields(2) = [Ô][Ô] & txtentrada.Text
rssaida.Fields(3) = [Ô][Ô] & txtdata.Text
rssaida.Update
rssaida.MoveFirst
[ô]atualiza estoque tblproduto
cnn.Execute [Ô]UPDATE tblproduto SET estoque_atual = estoque_atual - [Ô] & txtentrada & [Ô] WHERE codprod = [Ô] & txtcod & [Ô][Ô]
MsgBox [Ô]estoque atualizado com sucesso[Ô]
cmdsalvar.Enabled = True
cmdentrada.Enabled = True
cmdsair.Enabled = True
[ô]rs.Fields(1) = [Ô][Ô] & txtcodbarra.Text
Else
MsgBox [Ô]prezado usuario nao foi possivel atalizar seu estoque![Ô]
txtentrada.SetFocus
End If
End Sub
bem amigos e com vcs ate+
me judem vou mostrar o codigo da baixa
pra carregar o form
cnn.Open [Ô] provider=microsoft.jet.oledb.4.0;data source=[Ô] & App.Path & [Ô]loja.mdb[Ô]
rs.Open [Ô]SELECT*FROM tblproduto [Ô], cnn, 3, 3
rs.MoveFirst
txtcod.Text = rs![codprod]
[ô]txtcodbarra.Text = rs![codbarra]
txtdesc.Text = rs![descricao]
txtvcusto.Text = rs![valorcusto]
txtmargem.Text = rs![porcentagem]
txtvalorvenda.Text = rs![valorvenda]
txtestoqueatual.Text = rs![estoque_atual]
txtestoqueminimo.Text = rs![estoque_minimo]
[ô]tblsaida estoque
rssaida.Open [Ô]SELECT*FROM tblsaida [Ô], cnn, 3, 3
ate tudo otimo
agora a proxima parte do codigo e resposavel pela atualizacao da tblproduto e a isercao de registros na tblsaida
eu fiz assim
Private Sub cmdatualiza_Click()
If txtentrada > 0 Then
rssaida.Fields(1) = [Ô][Ô] & txtcod.Text
rssaida.Fields(2) = [Ô][Ô] & txtentrada.Text
rssaida.Fields(3) = [Ô][Ô] & txtdata.Text
rssaida.Update
rssaida.MoveFirst
[ô]atualiza estoque tblproduto
cnn.Execute [Ô]UPDATE tblproduto SET estoque_atual = estoque_atual - [Ô] & txtentrada & [Ô] WHERE codprod = [Ô] & txtcod & [Ô][Ô]
MsgBox [Ô]estoque atualizado com sucesso[Ô]
cmdsalvar.Enabled = True
cmdentrada.Enabled = True
cmdsair.Enabled = True
[ô]rs.Fields(1) = [Ô][Ô] & txtcodbarra.Text
Else
MsgBox [Ô]prezado usuario nao foi possivel atalizar seu estoque![Ô]
txtentrada.SetFocus
End If
End Sub
bem amigos e com vcs ate+
PATOLOCO
Acredito que a linha de Update está errada(Falta .text):
cnn.Execute [Ô]UPDATE tblproduto SET estoque_atual = estoque_atual - [Ô] & txtentrada.text & [Ô] WHERE codprod = [Ô] & txtcod.text & [Ô][Ô]
Tente dessa maneira.
Att.
Rick
Acredito que a linha de Update está errada(Falta .text):
cnn.Execute [Ô]UPDATE tblproduto SET estoque_atual = estoque_atual - [Ô] & txtentrada.text & [Ô] WHERE codprod = [Ô] & txtcod.text & [Ô][Ô]
Tente dessa maneira.
Att.
Rick
Sugiro que você execute a instrução UPDATE no banco usando valores reais.
Assim que funcionar, desfaz e tenta pelo programa com os mesmos valores.
Desta forma, fica mais fácil para localizar onde está o problema.
Assim que funcionar, desfaz e tenta pelo programa com os mesmos valores.
Desta forma, fica mais fácil para localizar onde está o problema.
sim rick pode ser sim, mas o update esta funcionando, esta atualizando o tbl produtos certinho, mas a falha esta que nao grava na tbsaida, e nao da erro veja a parte dedo codigo
rssaida.Fields(1) = [Ô][Ô] & txtcod.Text
rssaida.Fields(2) = [Ô][Ô] & txtentrada.Text
rssaida.Fields(3) = [Ô][Ô] & txtdata.Text
rssaida.Update
rssaida.MoveFirst
este parte do codigo nao esta funcionando, o que vc me diz
rssaida.Fields(1) = [Ô][Ô] & txtcod.Text
rssaida.Fields(2) = [Ô][Ô] & txtentrada.Text
rssaida.Fields(3) = [Ô][Ô] & txtdata.Text
rssaida.Update
rssaida.MoveFirst
este parte do codigo nao esta funcionando, o que vc me diz
PATOLOCO
Desta forma também não funciona?
If txtentrada.text > 0 Then
rssaida.Fields(1) = [Ô][Ô] & txtcod.Text
rssaida.Fields(2) = [Ô][Ô] & txtentrada.Text
rssaida.Fields(3) = [Ô][Ô] & txtdata.Text
rssaida.Update
rssaida.MoveFirst
Pois aparentemente o código está correto. Já testou direto no banco como disse nosso amigo TECLA?
Att.
Rick
Desta forma também não funciona?
If txtentrada.text > 0 Then
rssaida.Fields(1) = [Ô][Ô] & txtcod.Text
rssaida.Fields(2) = [Ô][Ô] & txtentrada.Text
rssaida.Fields(3) = [Ô][Ô] & txtdata.Text
rssaida.Update
rssaida.MoveFirst
Pois aparentemente o código está correto. Já testou direto no banco como disse nosso amigo TECLA?
Att.
Rick
e isso
If txtentrada.text > 0 Then
rssaida.Edit
rssaida.Fields(1) = [Ô][Ô] & txtcod.Text
rssaida.Fields(2) = [Ô][Ô] & txtentrada.Text
rssaida.Fields(3) = [Ô][Ô] & txtdata.Text
rssaida.Update
rssaida.MoveFirst
If txtentrada.text > 0 Then
rssaida.Edit
rssaida.Fields(1) = [Ô][Ô] & txtcod.Text
rssaida.Fields(2) = [Ô][Ô] & txtentrada.Text
rssaida.Fields(3) = [Ô][Ô] & txtdata.Text
rssaida.Update
rssaida.MoveFirst
nossa pessoal vou rever aki, conforme vcs me ensinaram pessoal ate muito obrigado ja retorno
Se estiver usando ADO, o Recordset não tem o método Edit.
tecla to usando ADO
PATOLOCO, boa tarde.
Vendo o código acredito que tem uma coisa que esta faltando...
No código que você passou, esta faltando uma informação, mais antes preciso fazer duas perguntas...
1º. -> As inserções são feitas em outra rotina???
2º. -> O Campo Chave Primaria esta definido para não permitir duplicidade???
Obs. nestes códigos passado faltando a intrução INSERT para incluir novos registros.
Vendo o código acredito que tem uma coisa que esta faltando...
No código que você passou, esta faltando uma informação, mais antes preciso fazer duas perguntas...
1º. -> As inserções são feitas em outra rotina???
2º. -> O Campo Chave Primaria esta definido para não permitir duplicidade???
Obs. nestes códigos passado faltando a intrução INSERT para incluir novos registros.
Danikill boa tarde
o recordset rssaida se refere a tbl saida sendo a msm um historico de saida
o recordeset rs e ele q tras os registros da tblprodutos
o update na tblproduto e feito aki
cnn.Execute [Ô]UPDATE tblproduto SET estoque_atual = estoque_atual - [Ô] & txtentrada & [Ô] WHERE codprod = [Ô] & txtcod & [Ô][Ô]
ate tudo funciona
o problema do atualiza a tblproduto pelo meu codigo tenha q salvar na tblsaida tb isso nao acontece...
sendo q ocodigo acho esta correto
o recordset rssaida se refere a tbl saida sendo a msm um historico de saida
o recordeset rs e ele q tras os registros da tblprodutos
o update na tblproduto e feito aki
cnn.Execute [Ô]UPDATE tblproduto SET estoque_atual = estoque_atual - [Ô] & txtentrada & [Ô] WHERE codprod = [Ô] & txtcod & [Ô][Ô]
ate tudo funciona
o problema do atualiza a tblproduto pelo meu codigo tenha q salvar na tblsaida tb isso nao acontece...
sendo q ocodigo acho esta correto
Tópico encerrado , respostas não são mais permitidas