InfoMan Posted March 24, 2012 Report Share Posted March 24, 2012 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. Link to comment Share on other sites More sharing options...
bsccara Posted March 24, 2012 Report Share Posted March 24, 2012 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"). Link to comment Share on other sites More sharing options...
InfoMan Posted March 24, 2012 Author Report Share Posted March 24, 2012 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. Link to comment Share on other sites More sharing options...
bsccara Posted March 24, 2012 Report Share Posted March 24, 2012 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'. Link to comment Share on other sites More sharing options...
InfoMan Posted March 25, 2012 Author Report Share Posted March 25, 2012 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. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now