Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

eugeniots

Evento Subtração ao gravar.

Recommended Posts

Amigos, tenho poucos conhecimentos em ASP, mas estou na luta.

 

Tenho um tabela onde alimento os produtos em estoque, então por exemplo:

 

Caneta - 10

Lápis - 05

Borracha - 06

 

 

Neste mesmo banco de dados eu tenho uma tabela que eu chamei de vendas, que tenho os seguintes campos.

 

Produto, data, quantidade.

 

Gostaria de saber como posso fazer para quando eu salvar essa venda, que vai ser um registro nessa tabela ele subtraísse o valor vendido da tabela estoque.

 

Sei que para isso vou ter que tratar com ID idênticos para identificar, nas vendas eu estou usando um list que carrega justamente os produtos dessa tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc pode usar o operador - direto na SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz direto, exemplo:

SELECT MAX(produto) - MIN(estoque) AS 'diferença estoque'FROM Sales.SalesTaxRateWHERE statusid IS NOT NULL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos, tenho poucos conhecimentos em ASP, mas estou na luta.

 

Tenho um tabela onde alimento os produtos em estoque, então por exemplo:

 

Caneta - 10

Lápis - 05

Borracha - 06

 

 

Neste mesmo banco de dados eu tenho uma tabela que eu chamei de vendas, que tenho os seguintes campos.

 

Produto, data, quantidade.

 

Gostaria de saber como posso fazer para quando eu salvar essa venda, que vai ser um registro nessa tabela ele subtraísse o valor vendido da tabela estoque.

 

Sei que para isso vou ter que tratar com ID idênticos para identificar, nas vendas eu estou usando um list que carrega justamente os produtos dessa tabela.

eu fiz algo parecido so que mais manual doque o que a galera mostrou acima, vou tentar explicar pq o raciocinio foi meio longo rsrsr.

tenho uma pagina que tem uma lista com varias "ações" selecionando uma delas joga para um select case e faz a ação em duas tabelas diferentes vc pode usar o mesmo raciocinio.

select case var_acao
case "Estoque"
VAR_STATUS=("BKP")
vSql = "SELECT CT FROM TAB_QUADRO_BRASFELS WHERE CT='"&var_ct&"'AND STATUS<>'"&VAR_STATUS&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 3, 3
if myRst.BOF and myRst.EOF then
Response.Write("<script language='JavaScript'>alert('Item Ja se encontra em Estoque!');location.href='Atualizar_bf.html';</script>")
else
vSql="INSERT INTO TAB_ATUALIZAR_BRASFELS ("
vSql=vSql & "cpu, "
vSql=vSql & "DESCRICAO, "
vSql=vSql & "data, "
vSql=vSql & "acao, "
vSql=vSql & "obs, "
vSql=vSql & "usuario, "
vSql=vSql & "matricula, "
vSql=vSql & "departamento) values ('"
vSql=vSql & Var_ct & "','"
vSql=vSql & Var_DESCRICAO & "','"
vSql=vSql & Var_data & "','"
vSql=vSql & Var_acao & "','"
vSql=vSql & Var_obs & "','"
vSql=vSql & Var_usuario & "','"
vSql=vSql & Var_Matricula & "','"
vSql=vSql & Var_Departamento &"')"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
VAR_STATUS = ("BKP")
VAR_VAZIO = ("")
vSql="UPDATE TAB_QUADRO_BRASFELS SET STATUS = '"&VAR_STATUS&"', DATA='"&VAR_DATA&"', OBS= '"&VAR_OBS&"', Departamento='"&VAR_VAZIO&"', MATRICULA='"&VAR_VAZIO&"', USUARIO='"&VAR_VAZIO&"', DATA_FIM='"&VAR_DATA&"' WHERE CT='"&var_ct&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Atualizar_bf.html';")
response.Write("alert('Item Atualizado com sucesso!');")
response.write("</script>")
End if
case "Devolucao"
VAR_STATUS = ("DEV")
vSql = "SELECT CT FROM TAB_QUADRO_BRASFELS WHERE CT='"&var_ct&"' AND STATUS<>'"&VAR_STATUS&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
if myRst.BOF and myRst.EOF then
Response.Write("<script language='JavaScript'>alert('Item Ja se encontra em devolução!');location.href='Atualizar_bf.html';</script>")
else
vSql="INSERT INTO TAB_ATUALIZAR_BRASFELS ("
vSql=vSql & "cpu, "
vSql=vSql & "DESCRICAO, "
vSql=vSql & "data, "
vSql=vSql & "acao, "
vSql=vSql & "obs, "
vSql=vSql & "usuario, "
vSql=vSql & "matricula, "
vSql=vSql & "departamento) values ('"
vSql=vSql & Var_ct & "','"
vSql=vSql & Var_DESCRICAO & "','"
vSql=vSql & Var_data & "','"
vSql=vSql & Var_acao & "','"
vSql=vSql & Var_obs & "','"
vSql=vSql & Var_usuario & "','"
vSql=vSql & Var_Matricula & "','"
vSql=vSql & Var_Departamento &"')"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
VAR_STATUS = ("DEV")
vSql="UPDATE TAB_QUADRO_BRASFELS SET STATUS = '"&VAR_STATUS&"', DATA='"&VAR_DATA&"', OBS= '"&VAR_OBS&"', DATA_FIM='"&VAR_DATA&"' WHERE CT='"&var_ct&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Atualizar_bf.html';")
response.Write("alert('Item Atualizado com sucesso!');")
response.write("</script>")
end if
case "Sei"
VAR_STATUS=("BKP")
vSql = "SELECT CT FROM TAB_QUADRO_BRASFELS WHERE CT='"&var_ct&"' AND STATUS='"&VAR_STATUS&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
if myRst.BOF and myRst.EOF then
Response.Write("<script language='JavaScript'>alert('Item nao se encontra em Estoque!');location.href='Atualizar_bf.html';</script>")
else
vSql="INSERT INTO TAB_ATUALIZAR_BRASFELS ("
vSql=vSql & "cpu, "
vSql=vSql & "DESCRICAO, "
vSql=vSql & "data, "
vSql=vSql & "acao, "
vSql=vSql & "obs, "
vSql=vSql & "usuario, "
vSql=vSql & "matricula, "
vSql=vSql & "departamento) values ('"
vSql=vSql & Var_ct & "','"
vSql=vSql & Var_DESCRICAO & "','"
vSql=vSql & Var_data & "','"
vSql=vSql & Var_acao & "','"
vSql=vSql & Var_obs & "','"
vSql=vSql & Var_usuario & "','"
vSql=vSql & Var_Matricula & "','"
vSql=vSql & Var_Departamento &"')"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
VAR_STATUS = ("ATI")
vSql="UPDATE TAB_QUADRO_BRASFELS SET USUARIO= '"&VAR_USUARIO&"', MATRICULA = '"&VAR_MATRICULA&"', DEPARTAMENTO = '"&VAR_DEPARTAMENTO&"',STATUS = '"&VAR_STATUS&"', DATA='"&VAR_DATA&"', OBS= '"&VAR_OBS&"', DATA_INICIAL='"&VAR_DATA&"' WHERE CT='"&var_ct&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Atualizar_bf.html';")
response.Write("alert('Item Atualizado com sucesso!');")
response.write("</script>")
end if
case "Atualizar_Troca"
VAR_STATUS = ("BKP")
vSql = "SELECT CT FROM TAB_QUADRO_BRASFELS WHERE CT='"&var_ct&"' AND STATUS='"&VAR_STATUS&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
if myRst.BOF and myRst.EOF then
Response.Write("<script language='JavaScript'>alert('Item nao se encontra em Estoque!');location.href='Atualizar_bf.html';</script>")
else
vSql="INSERT INTO TAB_ATUALIZAR_BRASFELS ("
vSql=vSql & "cpu, "
vSql=vSql & "DESCRICAO, "
vSql=vSql & "data, "
vSql=vSql & "acao, "
vSql=vSql & "obs, "
vSql=vSql & "usuario, "
vSql=vSql & "matricula, "
vSql=vSql & "departamento) values ('"
vSql=vSql & Var_ct & "','"
vSql=vSql & Var_DESCRICAO & "','"
vSql=vSql & Var_data & "','"
vSql=vSql & Var_acao & "','"
vSql=vSql & Var_obs & "','"
vSql=vSql & Var_usuario & "','"
vSql=vSql & Var_Matricula & "','"
vSql=vSql & Var_Departamento &"')"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
VAR_MODO = ("ATI")
vSql="UPDATE TAB_QUADRO_BRASFELS SET USUARIO= '"&VAR_USUARIO&"', MATRICULA = '"&VAR_MATRICULA&"', DEPARTAMENTO = '"&VAR_DEPARTAMENTO&"',STATUS = '"&VAR_MODO&"', DATA='"&VAR_DATA&"', OBS= '"&VAR_OBS&"', DATA_INICIAL='"&var_datai&"', DATA_FIM='"&var_dataf&"' WHERE CT='"&var_ct&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Atualizar_bf.html';")
response.Write("alert('Item Atualizado com sucesso!');")
response.write("</script>")
end if
case "Atualizacao_sei","Atualizacao"
vSql="INSERT INTO TAB_ATUALIZAR_BRASFELS ("
vSql=vSql & "cpu, "
vSql=vSql & "DESCRICAO, "
vSql=vSql & "data, "
vSql=vSql & "acao, "
vSql=vSql & "obs, "
vSql=vSql & "usuario, "
vSql=vSql & "matricula, "
vSql=vSql & "departamento) values ('"
vSql=vSql & Var_ct & "','"
vSql=vSql & Var_DESCRICAO & "','"
vSql=vSql & Var_data & "','"
vSql=vSql & Var_acao & "','"
vSql=vSql & Var_obs & "','"
vSql=vSql & Var_usuario & "','"
vSql=vSql & Var_Matricula & "','"
vSql=vSql & Var_Departamento &"')"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
VAR_STATUS = ("ATI")
vSql="UPDATE TAB_QUADRO_BRASFELS SET USUARIO= '"&VAR_USUARIO&"', MATRICULA = '"&VAR_MATRICULA&"', Windows = '"&VAR_windows&"', Office = '"&VAR_Office&"', DEPARTAMENTO = '"&VAR_DEPARTAMENTO&"',STATUS = '"&VAR_STATUS&"', DATA='"&VAR_DATA&"', OBS= '"&VAR_OBS&"' WHERE CT='"&var_ct&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Atualizar_bf.html';")
response.Write("alert('Item Atualizado com sucesso!');")
response.write("</script>")
case "HD"
vSql="INSERT INTO TAB_ATUALIZAR_BRASFELS ("
vSql=vSql & "cpu, "
vSql=vSql & "DESCRICAO, "
vSql=vSql & "data, "
vSql=vSql & "acao, "
vSql=vSql & "obs, "
vSql=vSql & "usuario, "
vSql=vSql & "matricula, "
vSql=vSql & "departamento) values ('"
vSql=vSql & Var_ct & "','"
vSql=vSql & Var_DESCRICAO & "','"
vSql=vSql & Var_data & "','"
vSql=vSql & Var_acao & "','"
vSql=vSql & Var_obs & "','"
vSql=vSql & Var_usuario & "','"
vSql=vSql & Var_Matricula & "','"
vSql=vSql & Var_Departamento &"')"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
vSql="UPDATE TAB_QUADRO_BRASFELS SET HD = '"&VAR_HD&"', DATA='"&VAR_DATA&"', OBS = '"&VAR_OBS&"' WHERE CT='"&var_ct&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
conn.close
response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Atualizar_bf.html';")
response.Write("alert('Item Atualizado com sucesso!');")
response.write("</script>")
case "Memoria"
vSql="INSERT INTO TAB_ATUALIZAR_BRASFELS ("
vSql=vSql & "cpu, "
vSql=vSql & "DESCRICAO, "
vSql=vSql & "data, "
vSql=vSql & "acao, "
vSql=vSql & "obs, "
vSql=vSql & "usuario, "
vSql=vSql & "matricula, "
vSql=vSql & "departamento) values ('"
vSql=vSql & Var_ct & "','"
vSql=vSql & Var_DESCRICAO & "','"
vSql=vSql & Var_data & "','"
vSql=vSql & Var_acao & "','"
vSql=vSql & Var_obs & "','"
vSql=vSql & Var_usuario & "','"
vSql=vSql & Var_Matricula & "','"
vSql=vSql & Var_Departamento &"')"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
vSql="UPDATE TAB_QUADRO_BRASFELS SET MEM= '"&VAR_MEM&"', DATA='"&VAR_DATA&"', Obs='"&VAR_Obs&"' WHERE CT='"&var_ct&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Atualizar_bf.html';")
response.Write("alert('Item Atualizado com sucesso!');")
response.write("</script>")
case "Troca","Rede","Video"
vSql="INSERT INTO TAB_ATUALIZAR_BRASFELS ("
vSql=vSql & "cpu, "
vSql=vSql & "DESCRICAO, "
vSql=vSql & "data, "
vSql=vSql & "acao, "
vSql=vSql & "obs, "
vSql=vSql & "usuario, "
vSql=vSql & "matricula, "
vSql=vSql & "departamento) values ('"
vSql=vSql & Var_ct & "','"
vSql=vSql & Var_DESCRICAO & "','"
vSql=vSql & Var_data & "','"
vSql=vSql & Var_acao & "','"
vSql=vSql & Var_obs & "','"
vSql=vSql & Var_usuario & "','"
vSql=vSql & Var_Matricula & "','"
vSql=vSql & Var_Departamento &"')"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Atualizar_bf.html';")
response.Write("alert('Item Atualizado com sucesso!');")
response.write("</script>")
case "MONITOR_EXTRA"
VAR_STATUS = ("BKP")
vSql = "SELECT CT FROM TAB_QUADRO_BRASFELS WHERE CT='"&var_ct&"' AND STATUS='"&VAR_STATUS&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
if myRst.BOF and myRst.EOF then
Response.Write("<script language='JavaScript'>alert('Item não se encontra em Estoque!');location.href='Atualizar_bf.html';</script>")
else
vSql="INSERT INTO TAB_ATUALIZAR_BRASFELS ("
vSql=vSql & "cpu, "
vSql=vSql & "DESCRICAO, "
vSql=vSql & "data, "
vSql=vSql & "acao, "
vSql=vSql & "obs, "
vSql=vSql & "usuario, "
vSql=vSql & "matricula, "
vSql=vSql & "departamento) values ('"
vSql=vSql & Var_ct & "','"
vSql=vSql & Var_DESCRICAO & "','"
vSql=vSql & Var_data & "','"
vSql=vSql & Var_acao & "','"
vSql=vSql & Var_obs & "','"
vSql=vSql & Var_usuario & "','"
vSql=vSql & Var_Matricula & "','"
vSql=vSql & Var_Departamento &"')"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
VAR_MODO = ("ATI")
vSql="UPDATE TAB_QUADRO_BRASFELS SET USUARIO= '"&VAR_USUARIO&"', MATRICULA = '"&VAR_MATRICULA&"', DEPARTAMENTO = '"&VAR_DEPARTAMENTO&"',STATUS = '"&VAR_MODO&"', DATA='"&VAR_DATA&"', OBS= '"&VAR_OBS&"', DATA_INICIAL='"&VAR_DATA&"' WHERE CT='"&var_ct&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Atualizar_bf.html';")
response.Write("alert('Item Atualizado com sucesso!');")
response.write("</script>")
end if
case else
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 1, 3
response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Atualizar_bf.html';")
response.Write("alert('Item Atualizado com sucesso!');")
response.write("</script>")
end select
conn.close
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.