Olá.
Preciso de ajuda para um update, este faria o seguinte:
Seria trabalhado sobre 2 tabelas, a tabela "Vendas" e a tabela "Estoque".
Na tabela "Vendas" iremos mexer nos campos: Status, NomeProduto, Quantidade.
Na tabela "Estoque" iremos mexer nos campos: NomeProduto e Quantidade.
Teriamos primeiramente que dar um select para selecionar da tabela "Vendas" todos registros onde o campo Status teria o valor igual a: 'Iniciada'.
(Select * From Vendas Where Status = 'Iniciada') -> Até aqui OK.
Depois teriamos de pesquisar na tabela "Estoque" onde o campo "NomeProduto" é igual os registros da tabela "Vendas" que tem o campo "Status" igual a 'Iniciada' e que seu campo "NomeProduto" seja igual ao campo "NomeProduto" da tabela "Estoque".
Após isto, teriamos que somar aos registros encontrados na tabela "Estoque" no campo "Quantidade", o valor do comparado da tabela "Vendas".
Bem, este procedimento serviria para voltar ao estoque, a quantidade que foi retirada deste produto na venda, de uma nota fiscal que teria sido cancelada.
Espero que tenha sido claro e que alguem possa me ajudar. xD
Obrigado.
: 07 Fevereiro 2008, 04:21:49
Tentei fazer algo assim:
UPDATE Estoque SET Quantidade = Estoque.Quantidade + VendasEfetuadas.QuantidadeProd Where VendasEfetuadas.NomeProd = Estoque.Item and VendasEfetuadas.Status = 'Iniciada'
Porém nao deu certo, mas acho que com isso ai da para se ter + noção do que preciso fazer.
Bem pelo o que entendi ficaria mais ou menos assim.
UPDATE Estoque,VendasEfetuadas SET Estoque.Quantidade = Estoque.Quantidade + VendasEfetuadas.QuantidadeProd Where VendasEfetuadas.NomeProduto = Estoque.NomeProduto and VendasEfetuadas.Status = 'Iniciada'
Fiz uma pequena alteração para que não fique toda hora voltando os produtos.
UPDATE Estoque,VendasEfetuadas SET Estoque.Quantidade = Estoque.Quantidade + VendasEfetuadas.QuantidadeProd, VendasEfetuadas.Status = 'Finalizada' Where VendasEfetuadas.NomeProduto = Estoque.NomeProduto and VendasEfetuadas.Status = 'Iniciada'
Os campos Estoque.NomeProduto é equivalente a Estoque.Item.
Valeu
obrigado xD... mas entao, eu tentei os 2 modos, porem, nenhum deu certo, executei no access pra ver no q dava,,, apareceu a seguinte mensagem: "A ação ou evento solicitado foi bloqueado pelo Modo Desabilitado"... vc sabe o q esta errado? Obrigado.
Nem sei o que pode tá acontecendo, se for possivel me passa o seu banco de dados... para poder dar uma analizada.
A seguir o link do banco de dados que fiz para teste.
http://alucard.dxs.googlepages.com/TesteMdb.mdb (http://alucard.dxs.googlepages.com/TesteMdb.mdb)
Valeu
entao,,, eu consegui, so q so roda no SQL, access nao, fikou
UPDATE Estoque SET Quantidade = Quantidade + VendasEfetuadas.QuantidadeProd
From Estoque Left Join VendasEfetuadas on Estoque.Codigo = VendasEfetuadas.CodProd
Where VendasEfetuadas.Status = 'Iniciada'
dai fiz um jeito meio manhoso no delphi msm e ja era...
so q um problema... do jeito q fiz, pode acontecer, e vai acontecer, de nao voltar todos os prods se tiver + q 1 pc trabalhando com o prog ao msm tempo e vendendo...
obrigado a ajuda ai... e ah, so + uma coisa... o do modo so pro SQL ali em cima... so retorna um registro... estranho tbm, era pra retornar +.
ty, c u la8er