SUBTRACAO EM TABELAS DIFERENTES

ADHEL 21/05/2010 15:49:41
#342422
Boa tarde pessoal
Tenho duas tabelas .Uma se chama Entrada e outra se chama Saída
Elas têm os mesmos campos

Codigo,Nome,ValorUnitario,Quantidade

Quando cadastro produtos ,os registros naturalmente vão para a tabela entrada.
E quando vendo os registros vão para a tabela saída

Gostaria de subtrair a quantidade que foi vendida(Tabela Saída) pela quantidade que foi comprada (Tabela Entrada)
Tentei fazer umas querys de acordo com o que pesquisei no google,mas não deu.
Meu conhecimento nessa área é pífio.
Se alguém tiver uma dica,será muito bem vinda
Desde já agradeço a todos.
ASHKATCHUP 21/05/2010 16:18:36
#342425
Você queria isso para alterar alguma tabela ou mostrar na tela?
ADHEL 21/05/2010 16:22:24
#342426
ASHKATCHUP
Eu gostaria que o resultado fosse inserido em outra tabela Chamada Estoque .
que também tem os mesmos campos

ps.desculpe não ter falado
KILLER 21/05/2010 16:40:17
#342432
Resposta escolhida
se for sql você pode usar esse codigo

Insert Into tEstoque (Quantidade) Values((Select Sum(Quantidade) from tSaida where Codigo = [ô]10[ô]) - (Select Sum(Quantidade) from tEntrada where Codigo = [ô]10[ô]))
ADHEL 21/05/2010 17:21:04
#342437
KILLER

Fiz desse jeito

sqlInsert = [Ô]Insert Into Estoque (Quantidade) Values(Select Sum(Quantidade) from Saida where Codigo = [ô][Ô] & txtCodigo.Text & [Ô][ô]) - (Select Sum(Quantidade) from Entrada where Codigo = [ô][Ô] & txtCodigo.Text & [Ô][ô]))[Ô]
Comando = New OleDbCommand(sqlInsert, Conexao)
Comando.ExecuteNonQuery()

E não grava nada
ASHKATCHUP 21/05/2010 17:23:58
#342438
Você sabe que valor vai vir da select? Ela está correta?
ADHEL 21/05/2010 17:29:49
#342441
ASHKATCHUP e KILLER

O que quero na verdade é EX:
Comprei 10 martelos ---> essa informação é gravada com sucesso na tabela entrada
Vendi 3 martelos ---> essa informação é gravada com sucesso na tabela Saída

Eu queria que na tabela Estoque no Campo Quantidade ficasse gravado 7 martelos

se amanhã eu vendesse + 2 martelos, na tabela estoque ficasse constando 5 martelos

Desculpem o rolo todo que fiz
KILLER 21/05/2010 17:30:05
#342442
Você chegou a abrir e fechar conexão assim:

sqlInsert = [Ô]Insert Into Estoque (Quantidade) Values(Select Sum(Quantidade) from Saida where Codigo = [ô][Ô] & txtCodigo.Text & [Ô][ô]) - (Select Sum(Quantidade) from Entrada where Codigo = [ô][Ô] & txtCodigo.Text & [Ô][ô]))[Ô]
Comando = New OleDbCommand(sqlInsert, Conexao)
Conexao.Open()
Comando.ExecuteNonQuery()
Conexao.Close()
ADHEL 21/05/2010 17:37:22
#342445
Killer
Abri e fechei a conexão, desde o inicio sim

KILLER 21/05/2010 17:38:05
#342446
Olhe se é isso que você quer:

Update Estoque Set Quantidade = ((Select Quantidade from Estoque where Nome = [ô]Martelo[ô]) - ([Ô][ô] & txtQuantidadeVendido.Text & [ô][Ô]) where Nome = [Ô]Martelo[Ô])
Tópico encerrado , respostas não são mais permitidas