Ajuda com código SQL

Delphi

13/10/2004

Pessoal fiz este código meio maluco que até esta funcionando, vejam só:
procedure TFrmPrincipal.OSemAberto1Click(Sender: TObject);
begin
      IF Dmbasedados.IBTab_AberturaOsFECHAR_OS.AsString = ´N´ Then
      With Dmbasedados.IBQ_OrdenAberto do
         Begin
           Close;
           sql.Clear;
           Sql.Add(´select * from Tab_Abertura_Os Where Fechar_Os=:ParamOrdemAberto´);
           ParamByName(´ParamOrdemAberto´).AsString:=´N´;
           open;
         End;
Application.CreateForm(Tfrm_OrdenAberto,Frm_OrdenAberto);
Frm_OrdenAberto.QuickRep1.Preview;
Frm_OrdenAberto.Free;

end;

quando gero o formulário ele só me apresenta qual registro o campo Fechar_Os estiver marcado com um ´N´, e gostaria que ele também me mostrasse os campos que estão vazio. Aí eu pergunto como posso fazer isto funcionar/
Peninha.


Peninha

Peninha

Curtidas 0

Respostas

Fórum Vini

Fórum Vini

13/10/2004

Olá,
tente usar esse sql:
select * from Tab_Abertura_Os Where ( Fechar_Os = :ParamOrdemAberto ) or ( Fechar_Os = NULL )

Se não der certo, tente assim:
select * from Tab_Abertura_Os Where ( Fechar_Os = :ParamOrdemAberto ) or ( IsNull(Fechar_Os) )



Espero ter ajudado,
Vinicius;


GOSTEI 0
Paulo_amorim

Paulo_amorim

13/10/2004

Olá

Para se testar campo nulo, normalmente se usa a sintaxe

WHERE campo IS NULL


Até+


GOSTEI 0
Fórum Vini

Fórum Vini

13/10/2004

WHERE campo IS NULL

Era isso que eu tava tentando lembrar mesmo Paulo.. ja estou começando a misturar os SQL tudo.. :oops:
( O IsNull é do SQL server, num é? Ou não? :roll: )


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

13/10/2004

o IsNull existe, sim, no SQL Server. Mas não para verficar se é nulo, mas sim para atribuir um valor caso seja nulo.


Por exemplo

select nome, IsNull(telefone,´NAO TEM TELEFONE´), IsNull(celular,´NAO TEM CELULAR´)
from cliente

ou seja: se o campo tiver algum conteúdo, será utilizado esse conteúdo. caso contrário será utilizado o valor colocado como segundo parâmetro.


GOSTEI 0
POSTAR