InfoMan Posted March 24, 2012 at 02:55 PM Report #445461 Posted March 24, 2012 at 02:55 PM 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.
bsccara Posted March 24, 2012 at 07:37 PM Report #445488 Posted March 24, 2012 at 07:37 PM 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").
InfoMan Posted March 24, 2012 at 08:13 PM Author Report #445502 Posted March 24, 2012 at 08:13 PM 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.
bsccara Posted March 24, 2012 at 09:25 PM Report #445519 Posted March 24, 2012 at 09:25 PM 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'.
InfoMan Posted March 25, 2012 at 12:35 AM Author Report #445544 Posted March 25, 2012 at 12:35 AM 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.
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