Se for por DAO
Dim BD as DAO.Database
Dim RS as DAO.Recordset
Dim RSFiltro as DAO.Recordset
Dim valor1 as Integer, valor2 as Integer
Dim texto as String
'Código de conexão
Set bd = OpenDatabase("Nome_Banco_De_Dados")
Set rs = bd.OpenRecordset("Select * from tabela")
valor1= 1
valor2= 2
'Para filtrar
if valor1 <= valor2 then 'verificando se o primeiro dado é menor do q o segundo dado
rs.filter = "Campo_cod >= " & valor1 & " AND Campo_cod <= " & valor2
Set RSFiltro = rs.OpenRecordset
'Mostrando os dados filtrados, por exemplo o campo Campo_cod
with RSFiltro
.MoveF irst
Do while not .EOF
texto = !Campo_Cod & ";" & texto
.MoveNext
Loop
End with
End If
Se for por ADO
Dim rs As ADODB.Recordset
Dim bd As ADODB.Connection
Dim valor1 as Integer, valor2 as Integer
Dim texto as String
Set rs = New ADODB.Recordset
Set bd = New ADODB.Connection
bd.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Caminho_do_banco_de_dados.mdb"
rs.CursorLocation = adUseClient
rs.Open "select * from tabela", bd
valor1= 1
valor2= 2
'Para filtrar
if valor1 <= valor2 then 'verificando se o primeiro dado é menor do q o segundo dado
rs.filter = "Campo_cod >= " & valor1 & " AND Campo_cod <= " & valor2
'Mostrando os dados filtrados, por exemplo o campo Campo_cod
with rs
.MoveF irst
Do while not .EOF
texto = !Campo_Cod & ";" & texto
.MoveNext
Loop
End with
End If
Para retirar o filtro no DAO
rs.Filter = ""
Set RSFiltro = rs.OpenRecordset
Para retirar o filtro no ADO
rs.Filter = 0
rs.Requery
Pode-se fazer filtro também usando o operador Like para filtrar por nome exemplo:
temos uma lista:
Ana
Antonio
Bruno
Carla
Denise
Joao
Vitor
tratamos RS como do tipo ADODB.recordset
então:
rs.filter = "Nome like 'a*'"
A lista ficará assim:
Se fizermos assim:
rs.filter = "Nome like 'a*' OR Nome Like 'c*'"
A lista ficará assim:
Ana
Antonio
Carla
Dica: se vc quiser pegar intervalos use <,>;
Exemplo:
rs.Filter = "Nome > 'a' and Nome <= 'd'"
resultado:
Ana
Antonio
Bruno
Carla
Neste último exemplo o certo seria vir o nome "Denise" mas não vem. Para isso coloque a letra seguinte ao "D" q seria "E".
rs.Filter = "Nome > 'a' and Nome <= 'e'"
resultado:
Antonio
Bruno
Carla
Denise
Se vc estiver com qq dúvida é só postar novamente
t+