Rafa M. 0 Denunciar post Postado Março 6, 2007 boa noite pessoal.... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif é o seguinte... eu tô com uns problemas no SQL dentro do DELPHI.. tô tentando decrementar o valor atual do campo da seguinte forma: tabela.close; tabela.CommandText:=('SELECT * FROM caixa WHERE dia LIKE "'+hoje+'" '); tabela.open; if tabela.RecordCount=1 then conexao.Execute('UPDATE caixa SET total = total - DEVO WHERE dia LIKE "'+hoje+'" '); tabela.Parameters.ParamByName('DEVO').Value:=StrToFloat(Edit1.text) * StrToFloat(Edit4.text); não sei porque ele diz que: "nenhum valor foi fornecido para um ou mais parâmentros".... detalhe: só tem esse parâmetro! aii eu tentei colocar a linha que indica o valor do parâmetro antes do .Execute... só que ai ele dá um outro erro... diz que o parâmetro DEVO não foi encontrado... =/ tentei até fazer essa mesma operação usando uma variável do tipo real.. e não consigui.. parace que se não for STRING o SQL não aceita.. e não tem como eu SOMAR ou SUBTRAIR um campo (tipo numérico) com STRING.. ou tem?? porque eu tava testando aqui.. e eu coloco pra SUBTRAIR e vou ver no bd ele somou =/ usei esse código: DEVO:=FloatToStr(StrToFloat(Edit1.text) * StrToFloat(Edit4.text)); conexao.Execute('UPDATE caixa SET total = total - "'+DEVO+'" WHERE dia LIKE "'+hoje+'" '); muito obrigado pessoal!! se alguém consiguir responder uma perguintinha ae.. já tô feliz =] Compartilhar este post Link para o post Compartilhar em outros sites
Paulo do Brasil 0 Denunciar post Postado Março 7, 2007 Olá Raf. O que você está querendo, mais exatamente? pode exemplificar, detalhando alguns registros na tabela e o resultado que você queria? Seria algo parecido com isso? dbContasAPagarduplicata vencimento fornecedor valor000484A 01/03/2007 rhodia s/a 100.00000338B 21/03/2007 fharmaco 200.00039882A 01/03/2007 ache lab 300.00989388C 02/03/2007 rhodia s/a 400.00Resultado esperadodata duplicata fornecedor valor acumulado---------- ---------- ----------- -------- ---------01/03/2007 000484A rhodia s/a 100.00 100.0001/03/2007 039882A ache lab 300.00 400.0002/03/2007 989388C rhodia s/a 400.00 800,0021/03/2007 000338B fharmaco 200.00 1.000.00---------- ---------- ----------- -------- --------- O que você quer é um campo como esse da coluna "acumulado"? Compartilhar este post Link para o post Compartilhar em outros sites
Rafa M. 0 Denunciar post Postado Março 7, 2007 O que você quer é um campo como esse da coluna "acumulado"?mais ou menos.. eu queria saber como que eu faço pra somar ou subtrair os valores no meio da instrução em SQL...coisa simples.. eu fiz aqui.. e consigui dar baixa de produto no estoque ... mas quando eu fui criar uma tabela pro CAIXA.. a fórmula no SQL só dá pau... eu tenho um campo que é o TOTAL (é tipo esse acumulado mesmo) .. que é o total de dinheiro (lucro) do dia.. ele é do tipo numero (Access).. mas até ai tudo bem.. porque eu fiz igualzinhu na rotina de baixa de estoque..o problema é na hora em que eu quero usar um parâmetro igual mostrei acima... ele dá erro não sei porque...e ai o único jeito que consigui fazer dar certo aqui foi (gambiarra) : total = total - - "'+tot+'" uhaoihaiuhaiuh bizarro.. sendo que tot é uma variável tipo texto (e eu to fazendo conta com ela sem transformar)..e mais bizarro ainda.. é que se eu não coloco os 2 menos.. ele soma.. http://forum.imasters.com.br/public/style_emoticons/default/upset.gif dá pra entender?? Compartilhar este post Link para o post Compartilhar em outros sites