Isto é um equívoco. O método IsNull() existe apenas para descendentes da classe 
TField, e não existe para descendentes da classe TDataSet.

Para verificar se uma tabela está vazia, via SQL, melhor fazer um COUNT(*) dos 
registros. Se retornar zero, é pq não tem registro nenhum. Agora, se for usar 
um dataset de alguma camada de acesso, costumo fazer assim;

usando BDE => not (Boolean(Query1.RecordCount) and (not Query1.IsEmpty) and 
(not Query1.Eof))

usando dbExpress => not (Boolean(SQLQuery1.RecordCount) and (not 
SQLQuery1.IsEmpty) and (not Query1.Eof))

usando ADO/dbGo => not (Boolean(ADOQuery1.RecordCount) and (not 
ADOQuery1.IsEmpty) and (not ADOQuery1.Eof))

Ou seja, não checo somente uma propriedade, e sim todas as que indiquem que 
existem registros no dataset.

Sds.

________________________________
To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Wed, 1 Oct 2008 07:38:46 -0300
Subject: RES: [delphi-br] Verificar se a tabela encontra-se vazia antes de 
abrir form


Corrige o meu outro código, é IF tabela.isnull, e não IF not tabela.isnull

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Ricardo Mendes
Enviada em: quarta-feira, 1 de outubro de 2008 00:48
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Verificar se a tabela encontra-se vazia antes de abrir
form

Oi galera,
Gostaria de uma sugestão..
Eu preciso verificar se algumas tabelas tem registro antes de abrir um
determinado form...
Atualmente tenho todos os meus IBDataSet num data Modulo.....estou tentando
fazer o codigo abaixo...
Mas não está funcionando conforme eu quero...

if not(DM.IBVendedor.Eof) then
begin
MessageDlg('Nenhum vendedor foi cadastrada ainda.'+#13+
#10+'Favor cadastrar vendedor para para continuar.', mtInformation, [mbOK],
0);
Exit;
end;

fico no aguardo de uma ajuda...
Obrigado...

Ricardo Mendes

_________________________________________________________________
Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger!
http://www.amigosdomessenger.com.br/

Responder a