USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Filtrar
Korn
Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 10/12/2004 17:31 hs            
Boa tarde a todos faço meu programam usando sql e gostaria de saber como posso fazer um filtro na minha pesquisa, tipo gostaria de filtrar todos os dados com o codigo 01 , e so retornasse na minha txt do form os codigos 01, e por nome tamen , obrigado gente ate breve

Jesus Cristo é O Senhor!!!
     
Sandro
não registrado
Postada em 10/12/2004 22:54 hs   
Olá Korn,
 
Não entendi bem o seu problema. poderia explicar melhor como você pretende fazer este pesquisa?
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 11/12/2004 01:15 hs            
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:
Ana
Antonio
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+
     
Korn
Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 11/12/2004 11:33 hs            
O problema é q eu estou usando um optiom button e esta dando erro de method or data menber not found , mas eu vo continua tentando obrigado por postarem

Jesus Cristo é O Senhor!!!
     
Korn
Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 11/12/2004 11:43 hs            
ae eu coloquei como se fosse somente uma txt normal e coloquei esse codigo num botao e nao fez a busca, nao foi buscar vou continuar tentando , falo
Dim rsApartamentos As ADODB.Recordset
Dim Bdimobiliaria As ADODB.Connection
Dim valor1 As Integer, valor2 As Integer
Dim texto As String
 
Set rsApartamentos = New ADODB.Recordset
Set Bdimobiliaria = New ADODB.Connection
Bdimobiliaria.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:WINDOWSDesktopCópia de ImobiliariaBdimobiliaria.mdb"
rsApartamentos.CursorLocation = adUseClient
rsApartamentos.Open "select * from Tbl_Apartamentos", Bdimobiliaria
valor1 = 1
valor2 = 2
'Para filtrar
If valor1 <= valor2 Then 'verificando se o primeiro dado é menor do q o segundo dado
rsApartamentos.Filter = "Codigo >= " & valor1 & " AND Codigo <= " & valor2
'Mostrando os dados filtrados, por exemplo o campo Campo_cod
With rsApartamentos
 .MoveMin
 Do While Not .EOF
   texto = !Codigo & ";" & texto
  .MoveNext
 Loop
End With
End If

Jesus Cristo é O Senhor!!!
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 11/12/2004 14:31 hs            
Korn eu enviei algumas respostas e perguntas ao seu e-mail mas gostaria de saber se vc está usando um ADOControl também.
TÓPICO EDITADO
   
Página(s): 1/4      PRÓXIMA »

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página