vms Postado Agosto 27, 2007 Denunciar Share Postado Agosto 27, 2007 ola pessoalstou tentando fazer um sistema de estoque (pra mercadinho)tenho as seguintes tabelas (paradox)1_ Estoque:Cod AMercadoria AQTD Ipreço $2_ VendaCod_Mercadoria AMercadoria AQTD Ipreço $Total $queria fazer algo que de acordo com QTD da saida da vendafosse diminuindo a QTD do estoque Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --felipe -- Postado Agosto 29, 2007 Denunciar Share Postado Agosto 29, 2007 ola pessoalstou tentando fazer um sistema de estoque (pra mercadinho)tenho as seguintes tabelas (paradox)1_ Estoque:Cod AMercadoria AQTD Ipreço $2_ VendaCod_Mercadoria AMercadoria AQTD Ipreço $Total $queria fazer algo que de acordo com QTD da saida da vendafosse diminuindo a QTD do estoquepra isso você pode usar TRIGGERS, ou alterar em tempo real no próprio delphi..trigger eu não sei fazer em paradox..em tempo real, você pode criar uma query auxiliar que faça só isso,por exemplo: quando o usuário do soft. apertar o botão "Confirmar Venda".supondo que sua query para a venda é VendaQuery e o módulo é dme que os campos de relacionamento entre elas são cod_mercadoria - Cods:='update estoque set qtd=qtd-'+dm.VendaQuery.fields[1].asstring+' where cod_mercadoria='+dm.VendaQuery.fields[0].asstring; dm.auxquery.sql.clear; dm.auxquery.sql.add(s); dm.auxquery.open; dm.auxquery.close;mas eu acho que o canal mesmo é com trigger... no próprio paradoxabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Agosto 29, 2007 Denunciar Share Postado Agosto 29, 2007 pra isso você pode usar TRIGGERS, ou alterar em tempo real no próprio delphi..trigger eu não sei fazer em paradox..exatamente felipe, paradox não sá suporte a TRIGGERS - tem que ser no código mesmo.s:='update estoque set qtd=qtd-'+dm.VendaQuery.fields[1].asstring+' where cod_mercadoria='+dm.VendaQuery.fields[0].asstring; dm.auxquery.sql.clear; dm.auxquery.sql.add(s); dm.auxquery.open; dm.auxquery.close;apenas um adendo: para instruções como INSERT, UPDATE e DELETE no SQL (ou seja, instruções que não tenham resultado - como um SELECT) você deve utilizar o método ExecSQL e não Open. Assim, a linha:dm.auxquery.Open;deve ser substituida por dm.auxquery.ExecSQL;Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vms Postado Agosto 31, 2007 Autor Denunciar Share Postado Agosto 31, 2007 (editado) qual o comando que eu usaria na propriedade SQL dessa query auxiliar? Editado Agosto 31, 2007 por vms Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Agosto 31, 2007 Denunciar Share Postado Agosto 31, 2007 qual o comando que eu usaria na propriedade SQL dessa query auxiliar?vms, está lá na primeira linha do exemplo: um UPDATE.Mas, como sempre, gosto de sugerir que não seja utilizado concatenação dos valores. Trabalhe com parametrização (parâmetros) - isto pode evitar muita dor de cabeça em alguns casos. Então, cultivar este hábito pode ser salutar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vms Postado Agosto 31, 2007 Autor Denunciar Share Postado Agosto 31, 2007 Micheus, perdoe a ignorancia, mas você poderia ser mais clarocoloco apenas UPDATE? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Setembro 1, 2007 Denunciar Share Postado Setembro 1, 2007 Micheus, perdoe a ignorancia, mas você poderia ser mais clarocoloco apenas UPDATE?Veja o exemplo que o felipe citou:s:='update estoque set qtd=qtd-'+dm.VendaQuery.fields[1].asstring+' where cod_mercadoria='+dm.VendaQuery.fields[0].asstring;dm.auxquery.sql.clear;dm.auxquery.sql.add(s);Percebeu? Uma instrução UPDATE atribuida a propriedade SQL da sua query.sintax da instrução UPDATE:UPDATE nome_table // ** esta indica em que tabela ocorre o update (atualização)SET nome_campo1 = novo_valor1[, nome_campoN = novo_valorN] // ** esta faz a atribuição. WHERE nome_campo = algum_valor //** esta linha limita a ação do update Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
vms
ola pessoal
stou tentando fazer um sistema de estoque (pra mercadinho)
tenho as seguintes tabelas (paradox)
1_ Estoque:
Cod A
Mercadoria A
QTD I
preço $
2_ Venda
Cod_Mercadoria A
Mercadoria A
QTD I
preço $
Total $
queria fazer algo que de acordo com QTD da saida da venda
fosse diminuindo a QTD do estoque
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.