Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fontes

Ado - RS.Filter (Como manter os dados filtrados?)

Recommended Posts

Como manter os dados filtrados em um Recordset???(...)rs.open "Select nome From tb1"'Filtro 1rs.filter = "ativo = true"'Filtro 2 - preciso manter o filtro 1rs.filter = "novo = true"(...)'O filtro 2 ficaria assim: "where ativo = true and novo = true"Pesquisei algumas coisas sobre a constante "adFilterFetchedRecords", mas não resolvi meu problema.se alguém tiver uma solução, desde já agradeçoAndré

Compartilhar este post


Link para o post
Compartilhar em outros sites

Evita fazer consultas desnecessárias à base de dados.Por exemplo, você pode carregar toda a sua tabela de usuários em um recordset:sql = "select * from usuarios"Set rs = server.CreateObject("ADODB.RecordSet")rs.open sql, objConn, 3, 1'digamos que esse recordset retornou 100 registros, desses, vamos filtrar apenas os usuários ativosrs.filter = " ativo = true "'digamos que esse filtro retornou 50 registros dos 100 iniciais, mas vamos filtrar novamenters.filter = " admin= true "'digamos que esse filtro retornou 10 registros dos 50------------------------------------------------sacou a facilidade... se você tivesse que fazer uma consulta para cada filtro, sua aplicação iria ficar uma carroça... como você já tem todos os dados da primeira consulta, a manipulação desses dados fica mais fácil...O meu problema é que estou perdendo os meus filtros anteriores, exemplo:quando usei (rs.filter = " ativo = true ") ele filtrou em relação aos 100...quando usei (rs.filter = " admin= true ") ele também filtrou em relação aos 100..., eu quero que filtre em relação aos 50 que eu tinha filtrado, sacou.se eu descobrir isso, vai ser um adianto fenomenal....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não pode usar o AND nessa consulta?

Compartilhar este post


Link para o post
Compartilhar em outros sites

poderia filtrar assim:

 

rs.filter = " ativo = true and admin = true "

'primeiro filtro

 

rs.filter = " idempresa = 2 "

'Quando eu usar esse segundo filtro, vou perder o primeiro (ativo = true and admin = true)

 

 

Esse segundo filtro traria todos com "idempresa = 2", mas desconsideraria (ativo = true and admin = true), como esté desconsiderando, estou refazendo os filtros :

rs.filter = " ativo = true and admin = true and idempresa = 2 "

 

 

não quero ficar refazendo os filtros assim:

rs.filter = " ativo = true and admin = true and idempresa = 2 and nome = 'João' "

 

rs.filter = " ativo = true and admin = true and idempresa = 2 and nome = 'João' and uf = 'DF' "

 

se conseguisse armazená-los usaria apenas:

rs.filter = " uf = 'DF' "

 

deve ter algum tipo de propriedade onde eu seto para preservar o filtro, algo do tipo rs.preserve....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentou usar RS.Filter = " And idempresa = 2"?

 

Só chutando, no momento não tenho como pesquisar a fundo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou armazena ois outros filtros numa variavel

 

vFilter1 = "ativo = true and admin = true "vFilter2 = " idempresa = 2 "rs.filter = vFilter1rs.filter = vFilter1 & " and " & vFilter2

Estou danod uma ideia, nunca usei este filtro portanto nao sei se assim vai funcionar mas nao custa tentar!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.