USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Soma.
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..
 
 
   
CSRocha
BRASILIA
DF - BRASIL
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
Pontos: 2843 Pontos: 2843
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
Pontos: 2843 Pontos: 2843
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!
 
 
   
ivanhoe
BARRA BONITA
SP - BRASIL
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.     
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página