Anderson... voc� n�o citou qual o banco de dados que vc est�
trabalhando, mas em alguns bancos (SQL Server e Oracle por exemplo) ao
utilizar fun��es de agrega��o (SUM,AVG,etc...) ou realizar opera��es
aritm�ticas (+ - * / ) com valores nulos o resultado � NULL.... ou seja,
voc� deve verificar se o campo cont�m NULL e converte-lo para o valor 0
porque qualquer opera��o realizada com um campo cujo valor armazenado �
NULL retornar� NULL...
Ex.:
campo1 campo2
10 (NULL)
select CAMPO1 * CAMPO2 --> RESULTADO = NULL ( 10 * NULL = NULL )
select CAMPO1 + CAMPO2 --> RESULTADO = NULL ( 10 + NULL = NULL )
Nos banco citados, existem func�es especificas para voc� testar se o
valor do campo � NULL e substituir este valor por 0 (zero).... no SQL
Server ficaria assim:
select COALESCE( CAMPO1, 0 ) * COALESCE( CAMPO2, 0 ) -->
RESULTADO = 0 (10 X 0 = 0 )
select COALESCE( CAMPO1, 0 ) + COALESCE( CAMPO2, 0 ) -->
RESULTADO = 10 (10 + 0 = 0 )
No Oracle eu sei que tem uma fun��o q faz a mesma coisa, mas n�o me
lebro o nome dela.... agora vc precisa ver se este recurso est�
dispon�vel no banco que voc� usa....
[]�s
Sandro Cassajuz
[EMAIL PROTECTED]
Anderson de Oliveira Furtilho wrote:
> Ol� amigos da Lista, Olha isto!!! procedure
> TForm1.Button1Click(Sender: TObject);
> var
> NomeCliente: String;
> ValorDaParcela: Extended;
> begin
> NomeCliente := Edit1.Text; Query1.Close;
> Query1.SQL.Clear;
> Query1.SQL.Add
> ('Select Sum(Valor1+Valor2+Valor3+Valor4) from '+
> ' BancoSoma where Nome = '+Chr(39)+NomeCliente+Chr(39));
> Query1.Open; ValorDaParcela :=
> Query1.Fields[0].AsFloat; ShowMessage(FloatToStr(ValorDaParcela));
> Problemas.... Se na Tabela estiver assim Valor1 (10,00) , Valor2
> (20,00), Valor3 (10,00), Valor4 (10,00) --- ent�o ele da o Resultado
> (50,00). Mas se a Tabela estiver assim Valor1(10,00), Valor2, Valor3,
> Valor4 --- O Resultado � zero (0), N�O DEVERIA APARECER(10,00)
> ? Select Sum(Valor1+Valor2+Valor3+Valor4) , ele deveria somar 10,00 +
> 0,00 + 0,00 + 0,00 = 10,00, mas n�o ele mostra ( 0 ) Qualquer dica
> eu agrade�o, Abra�osAnderson de Oliveira Furtilho
==============================================
Lista de Centura SQLWindows
Administrador : [EMAIL PROTECTED]
[ http://www.centuraexplorer.com ]
Para sair desta lista mande mensagem para:
[EMAIL PROTECTED] sem nada no Subject e
com o comando a seguir no corpo da msg:
"unsubscribe sqlwin" (sem as aspas)
==============================================