Jump to content

Recommended Posts

Posted

Bom Dia para Todos!

Tenho uma tabela chamada NINDNET.dbf onde existe um campo chamado ID_AGRAVO que contém os códigos dos casos registrados no banco de dados.

Estou tentando filtrar o campo para que no relatório exibido conste apenas ID_AGRAVO='B019'. Uso um componente TDBF para acessar as tabelas DBF do meu sistema. Este TDBF chama-se DADOS.

Já tentei várias formas, tais como:

dados.filter := 'ID_AGRAVO=B019';
dados.filtered := true;

Só que não funciona. O relatório está exibindo todos os casos do banco de dados e não apenas os que contém ID_AGRAVO = B019.

Por favor, me ajudem. Muito obrigado a todos.

Posted

Bem, quando fazes um filtro com uma string constante tens de usar aspas. Ou seja:

dados.filter := 'ID_AGRAVO=[b]"[/b]B019[b]"[/b]';
dados.filtered := true;

caso contrário queres comparar o campo ID_AGRAVO com o campo B019 da tabela.

Se o campo tiver espaços à esquerda tens de contar com isso ("  B019" <> "B019").

Posted

Obrigado pela resposta.

Tentei assim:

dados.Filter := 'ID_AGRAVO="B019"';

Também não funcionou. O que está errado? O relatório continua exibindo todos os registros e não apenas os que são B019.

Posted

Bem se não faz a bem... Porque é que não fazes como te disse com as datas nulas ? Se te resolveu o problema das datas também terá de funcionar com isso. Para quem não viu os últimos episódios :

TForm1.Tabela1OnFilterEvent(Sender : TObject; var Accept : Boolean)
begin
     Accept := Copy(Trim(Tabela1ID_AGRAVO.AsString),1,4) = 'B019';
end;

Este código só deixa aceder a registos cujo campo ID_AGRAVO tenha o conteúdo com os primeiros quatro caracteres, excluindo espaços, iguais a 'B019'.

Posted

Mais uma vez, muito obrigado pela sua ajuda. Graças a sua valiosíssima colaboração consegui resolver mais estre problema.

Tinha tentado adaptar o comando que me mostrou antes (data em branco) para este caso mas não tinha dado certo.

Curiosamente, a primeira forma de filtro...

dados.Filter := 'ID_AGRAVO="B019"';

...funciona corretamente com o dbgrid mas não com o LazReport.

Só tenho que agradecer a este fórum e a você pelo que tem feito por mim. Muito obrigado.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.