Fórum Erro no Query na hora de usar o Filter #369293

23/03/2009

0

Boa tarde,

Estou tentando usar o filter de uma query para filtrar o campo data = nulo, da seguinte maneira:

Executo a consulta SQL e abro a query.

No click do botão coloco:

Query1.Filtered := false;
Query1.Filter := ´DATA is NULL´;
Query1.Filtered := true;

Porém quando clico no botão aparece um raised exception com a mensagem: ´capability not supported´.

Isso ocorre somente quando uso o ´is null´, com qualquer outra condição funciona normalmente.

Será que alguém pode me ajudar a filtrar os campos em branco?

Fico muito agradecido pela ajuda.


Ricklorente

Ricklorente

Responder

Posts

26/03/2009

Acacio

Primeiro tem que saber qual o tipo de componente que tais utilizando, pois alguns tem o problema para filtrar campos nulos.

Bom tenta também fazer ao invés de:

Query1.Filter := ´DATA is NULL´;
colocar :
Query1.Filter := ´DATA = NULL´;


Responder

Gostei + 0

30/03/2009

Ricklorente

Obrigado amigo,

Eu já havia tentado, porém o erro continuava da mesma maneira.

Eu estou usando a Query da paleta BDE e a situação é o seguinte:

Tenho q executar 2 operações usando o filter, uma com o maior (>) e outra com o nulo (is null).

Eu só consigo usar o maior (>) qnd a propriedade Request Live da query está setada como True. E o ´is null´ qnd o Request Live = False;

Ai fica aquela pog no programa, pois qnd uso o ´>´ tenho que fechar a query, setar o request live = true e abrir a query e qnd uso o ´is null´ tenho novamente que fechar a query, setar o request live = false e abrir a query.

Alguém já passou por isso? Tem solução esse problema?

Obrigado


Responder

Gostei + 0

30/03/2009

Rudá

Vc poderia setar no query para retornar a dta sem ser nulo.

Ex SQL Server:
SELECT Campo, ISNULL(Data,0) AS Data FROM Tabela


E no filter vc coloca o Data = 0

Isso deve resolver.

Se não tente assim

Ex SQL Server:
SELECT Campo, Data, CASE WHEN Data IS NULL THEN 0 ELSE 1 END As DataNull FROM Tabela


E no filter vc coloca o DataNull = 0


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar