Query... RecordCount sempre com resultado 1

06/07/2004

0

Estou fazendo conforme abaixo discriminado, era pra qdo não tiver nada na Qry não visualizar certo, mas mesmo qdo não tem, o RecordCount da o resultado de 1 q teria q ser 0 e está sempre visualizando sem tem nenhum dado, por q mesmo não tendo nada na Query da o resultado de 1? Tem como resolver isso?

Qry.Prepare;
Qry.Open;
if (Qry.RecordCount <>0) then
Quickrep1.Preview;

:?:


Janete

Janete

Responder

Posts

06/07/2004

Lucas Silva

Tente isso....
Qry.Prepare;
Qry.Open;
Qry.FetchAll;
if (Qry.RecordCount <>0) then
Quickrep1.Preview;



Responder

06/07/2004

Macario

Ola programador, bom dia.


ou tente isso


Qry.Prepare; Qry.Open; [b:77ae983e16]if not Qry.isEmpty then [/b:77ae983e16]// se a query nao estiver vazia Quickrep1.Preview;



espero ter ajudado


Responder

07/07/2004

Janete

Não adiantou, contiua aparecendo recondcount = 1 mesmo qdo não tem itens na query, daria pra fazer + alguma coisa pra resolver isso :?:


Responder

07/07/2004

Paulo_amorim

Não adiantou, contiua aparecendo recondcount = 1 mesmo qdo não tem itens na query, daria pra fazer + alguma coisa pra resolver isso :?:


Olá

Põe um ShowMessage nesse recordcount pra ver qq ele traz!
Dai posta pra gente tentar ajudar :idea:

Até+


Responder

07/07/2004

Janete

[quote:00f0fc1075=´Janete´]Não adiantou, contiua aparecendo recondcount = 1 mesmo qdo não tem itens na query, daria pra fazer + alguma coisa pra resolver isso :?:


Olá

Põe um ShowMessage nesse recordcount pra ver qq ele traz!
Dai posta pra gente tentar ajudar :idea:

Até+[/quote:00f0fc1075]

Coloquei a mensagem e aparece 1 qdo a tabela está vazia, e agora depois q coloquei o ShowMessage fica dando aqueles erros de Access Violation.


Responder

07/07/2004

Lucas Silva

Coloquei a mensagem e aparece 1 qdo a tabela está vazia, e agora depois q coloquei o ShowMessage fica dando aqueles erros de Access Violation.

A query está criada??
Dê uma conferida ai, pois deve ser isso!


Responder

07/07/2004

Vinicius2k

Janete,

Qual a instrução SQL da Query?

T+


Responder

07/07/2004

Janete

Janete, Qual a instrução SQL da Query? T+


está conforme abaixo:

Select Vasilhame.Tipo, Sum(Itens.Quantidade) as Qtde
From Vasilhame,Pedidos,Itens
Where Itens.CodVas = Vasilhame.Codigo and
Itens.NroPed = Pedidos.Numero and
Pedidos.Numero =:VarCod
Group By Vasilhame.Tipo
Order By Vasilhame.Tipo


Responder

07/07/2004

Vinicius2k

Janete,

Creio que sua query sempre vai ter um registro... a coluna Qtde (resultado do Sum) com o valor 0...
Experimente retirar o [b:ced98ed6db]Sum(Itens.Quantidade) as Qtde[/b:ced98ed6db] e faça o teste...

Espero ter ajudado...
T+


Responder

08/07/2004

Janete

Janete, Creio que sua query sempre vai ter um registro... a coluna Qtde (resultado do Sum) com o valor 0... Experimente retirar o [b:044f07b135]Sum(Itens.Quantidade) as Qtde[/b:044f07b135] e faça o teste... Espero ter ajudado... T+


Só q dessa forma eu não vou ter a soma das quantidades itens de cada vasilhame e eu preciso saber, então não posso tirar este sum(itens.Quantidade) as Qtde, bom na realidade isso está me trazendo o seguinte, a tabela vasilhame possui um campo chamado Tipo q vai conter vários tipos de valilhames por exemplo: vasilhame 600ml e outros mais, e nos itens são vinculados qual o tipo de vasilhame q ele possui por exemplo: Cerveja 600ML, o vasilhame dela é (vasilhame 600 ML) então nessa query eu pego por tipo de vasilhame e agrupo todos os itens q estão vinculados com ele e somo uma qtde somente exemplo do resultado:
Tipo Qtde
Vasilhame 600ML 12
Vasilhame 1000ML 6

//essa é a soma de todos os itens daquele pedido selecionado por tipo de vasilhame, então não posso tirar essa qtde, e mesmo não tendo nenhum itens q possua vasilhame, quer dizer não contém vinculo com a tabela de vasilhames fica aparecendo no recordcount da qry o resultado 1. :roll:


Responder

08/07/2004

Vinicius2k

Janete,

Na verdade, pedi que vc fizesse o teste pois não tenho certeza se este é o problema... mas se vc retirar o sum e resolver encontramos o defeito e podemos buscar outras soluções como, por exemplo, ao invés de testar se a query está vazia, testar se o ´Qtde´ é igual a Zero ( se isso puder ser feito no contexto do que vc necessita)

T+


Responder

08/07/2004

Janete

Janete, Na verdade, pedi que vc fizesse o teste pois não tenho certeza se este é o problema... mas se vc retirar o sum e resolver encontramos o defeito e podemos buscar outras soluções como, por exemplo, ao invés de testar se a query está vazia, testar se o ´Qtde´ é igual a Zero ( se isso puder ser feito no contexto do que vc necessita) T+


Beleza, deu certinho agora estou verificando a qtde:
if (QryVasQtde.Value<>0) then //não usando o recordcount

Obrigado


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar