Ericson
|
GUARULHOS SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 02/02/2009 20:08 hs
Boa noite... Amigos atualmente fiz uma conexão com banco de dados acess e nesta conexão estou realizando alguns processos dentre eles cadastrar, consultas e encremento de estoque. Mas pintou a dúvida como realizar a soma do encremento do estoque? Por exemplo: imagine um determinado produto Ref. Picolino lt 350ml a entrada dele é de 20 unds, na consulta geral ele constará o estoque de 20 unds é claro, mas após realizar um outro lançamento de estoque de 10 unds o correto é aparecer o estoque disponivel de 30 unidades... Essa soma é que eu tenho dúvida como realizar;;; Veja o cadastro: ors.open "select est from estoque ....." e por ai vai " ors!est = est ors.update ors.close Para consulta: ors.open "select codp from cadastro where ......." e por ai vai " est = ors!est ors.close E para somar? Obrigadu desde então e boa noite a todos..
|
|
|
|
|
Postada em 03/02/2009 02:14 hs
Na rotina de lançamento da entrada, ao abrir o recordset, coloque a quantidade em uma variável:
Dim existente as Integer
.....
existente = ors!est (vai carregar os 10 existentes na variavel)
quando atualizar, faça a soma:
ors!est = existente + variavel_que_contem_o_lançamento.
|
|
|
Treze
|
SÃO VICENTE SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 03/02/2009 09:27 hs
a query seria esta SQL = " SELECT SUM(quantidade) AS Estoque FROM tabela WHERE CodP=" & txtcodProd.Text para exibir txtEstoque = RS!Estoque entedeu mais ou menos como funciona
|
|
|
Treze
|
SÃO VICENTE SP - BRASIL
|
|
Postada em 03/02/2009 09:33 hs
Esqueci de dizer, se pretende exibir a quantidade em estoque de todos os produtos seria usanod um GROUP BY veja um exemplo SQL = " SELECT SUM(quantidade) AS Estoque, produto FROM tabela GOUP BY produto Set RS = CON.Execute(SQL) Do While Not RS.EOF List1.Additem RS!Produto & " - " & RS!Estoque RS.MoveNext Loop da forma descita acima seria feito uma lista informandoa quantidade em estoque de cada produto Ex: Pilha - 200 Cigarro - 100 Isqueiro - 27 e é isto
|
|
|
Ericson
|
GUARULHOS SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 03/02/2009 22:01 hs
Bom eu tentei mas não consegui, como sou iniciante acredito que foi eu quem não colocou os devidos argumentos nos devidos lugar :) Vejamos assim: no banco de dados mbd1. tenho a tabela " estoque " e dentro da tabela estoque eu tenho as coluna " est " imagine caso eu fosse dar entrada em um produto qualquer eu usaria o seguinte argumento... ors.open "select est from estoque order by est desc",conn,adopendynamic,adlockpessimistic ors.addnew orsest! = est >>>>>>> o txt box do meu formulário também está com name est. oks ors.update ors.close esse é para incluir para a soma eu não consegui fazer, para não atrapalhar ou ocupar muito o tempo de vcs Csrocha e Treze eu posso enviar o projeto com a maior satisfação por mail. Obrigadu e boa noite!
|
|
|
|
Postada em 03/02/2009 22:56 hs
Caro Ericson, Para banco acessado por ADO (Interbase/Firebird/SQLServer,Access tbem...), utilize estas alteracoes tudo com sql, é mais rápida e confiavel... K = " '," sqlx = "" sqlx = sqlx & "Update Estoque Set " sqlx = sqlx & "DataUltAlteracao='" & Format(Date,"yyy-mm-dd") & K sqlx = sqlx & " QuantidadeEstoque = (QuantidadeEstoque - " & Str(dblQuantidade) & ")" sqlx = sqlx & " Where CodigoDoProduto = " & CDbl(strCodigoDoProduto) sqlx = sqlx & " And CodigoDaEmpresa = " & dblCodigoDaEmpresa dblLinhasAfetadas = 0 adoBanco.Execute (sqlx), dblLinhasAfetadas If dblLinhasAfetadas = 0 Then msgbox "Falha na alteracao de dados...") End If Att.
|
|
|