Guest - Thaise - Postado Abril 14, 2005 Denunciar Share Postado Abril 14, 2005 Putz galera eu to com um problemão.Não consigo fazer cálculo (soma) com os campos da tabela ligada ao BD.Melhor dizendo...como eu faço o if verificando se o campo da tabela está vazio ?ex:if dmbanco.qryTestecampo = null then campo x :=0é assim??como eu faço?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kikonanet Postado Abril 14, 2005 Denunciar Share Postado Abril 14, 2005 Olá,Veja se é issoNeste código corre a tabela1 e da uma mensagem para os campos null with Query1 do begin Close; SQL.Clear; SQL.Add('Select * From tabela1'); Open; while not(EOF) do begin if FieldByName('CAMPO').AsString = '' then ShowMessage(FieldByName('ID').AsString + ' CAMPO NULL'); next; end; end; Para somar siga a mesa idéia, no Loop While coloque uma variável ex: SOMA var Soma: integer; begin Soma:=0; with Query1 do begin Close; SQL.Clear; SQL.Add('Select * From tabela1'); Open; while not(EOF) do begin Soma:=Soma+FieldByName('CAMPO').AsInteger; next; end; end; end; Abs.Kiko Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Abril 14, 2005 Denunciar Share Postado Abril 14, 2005 Qual a base de dados você tá usando ???depedendo você fazer um campo agregate... e o delphi se encarregar do trabalho... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Thaise - Postado Abril 15, 2005 Denunciar Share Postado Abril 15, 2005 eu estou usando IBConsole Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Abril 15, 2005 Denunciar Share Postado Abril 15, 2005 Olá,é como o Kikonanet falou realmente, mas você teria que substituir os campos NULL por zero dentro da Select pra evitar erro, verifique se eu banco suporta a função NVL, tipo:SQL.Add('Select Nvl(CAMPO,0) CAMPO From tabela1');usando o mesmo código que o Kikonanet passou, ficaria assim:var Soma: integer;begin Soma:=0; with Query1 do begin Close; SQL.Clear; SQL.Add('Select Nvl(CAMPO,0) CAMPO From tabela1'); Open; while not(EOF) do begin Soma:=Soma+FieldByName('CAMPO').Value; next; end; end;end;E se num aceitar essa função NVL faz assim:var Soma: integer;begin Soma:=0; with Query1 do begin Close; SQL.Clear; SQL.Add('Select * From tabela1'); Open; while not(EOF) do begin if FieldByName('CAMPO').Value <> Null Then Soma:=Soma+FieldByName('CAMPO').Value; next; end; end;end;Abs. Progr'amador. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Thaise -
Putz galera eu to com um problemão.
Não consigo fazer cálculo (soma) com os campos da tabela ligada ao BD.
Melhor dizendo...
como eu faço o if verificando se o campo da tabela está vazio ?
ex:
if dmbanco.qryTestecampo = null then
campo x :=0
é assim??
como eu faço??
Link para o comentário
Compartilhar em outros sites
4 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.