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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  pesquisa
andre
DIVINÓPOLIS
MG - BRASIL
ENUNCIADA !
Postada em 09/06/2006 12:50 hs            
usava pesquisa no modo recordset, mas estava com problema com a mensagem 'no current record'. Me indicaram outro tipo de pesquisa no modo dynaset:
 
Dim criterio As String
  criterio = InputBox$("Código a ser pesquisado: ", "Pesquisando por código")
           If criterio <> Empty Then
      Data1.RecordSource = "Select * from Produto where (COD)>='" & criterio & "'"
      Data1.Refresh
      If Data1.Recordset.RecordCount = 0 Then
            MsgBox "Código não localizado! ", vbExclamation, "Pesquisando por código"
    Else
            MsgBox "Localizado!"
    End If
    End If
 
O problema é que este tipo de pesquisa filtro o registro pesquisado. Neste caso por exemplo faço pesquisa com codigo 5. Ele acha todos de cinco pra maior. O problema é que ele deixa de exibir todos menores que cinco. Como resolvo meu problema? Obrigado
   
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 09/06/2006 13:06 hs            
Não entendi na sua consulta ele mostrar todos os registros maior e igual a cinco e for mostrar tambem os que são menores que cinco, ele não irá na realidade mostrar tudo

dsmn
   
Cardoso G
Pontos: 2843 Pontos: 2843
PATOS DE MINAS
MG - BRASIL
Postada em 09/06/2006 14:19 hs            
Andre faz assim:
Dim criterio As String
  criterio = InputBox$("Código a ser pesquisado: ", "Pesquisando por código")
           If criterio <> Empty Then
      Data1.RecordSource = "Select * from Produto where (COD)='" & criterio & "'"
      Data1.Refresh
      If Data1.Recordset.RecordCount = 0 Then
            MsgBox "Código não localizado! ", vbExclamation, "Pesquisando por código"
    Else
            MsgBox "Localizado!"
    End If
    End If
     
andre
DIVINÓPOLIS
MG - BRASIL
Postada em 09/06/2006 14:45 hs            
Acho que não me expliquei bem... a pesquisa ocorre tudo bem. Mas como é feita a pesquisa usando valor igual ou maior (>=), ele procura estes registros (até ai tudo bem). O problema, são os valores que não entram na pesquisa, ou seja os menores que o valor (<). A pesquisa acaba filtrando eles, eles deixam de aparecer na tabela... no modo recordset, eles não somem, apenas ficam atras dos valores da pesquisa.
Ex: pesquisa codigo 5. (tendo os codigos: 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 )
Método recordset:
  1
            2
  3
            4
>5
            6
  7
            8
* ele apenas ordena pelo valor pesquisado, e marca o registro principal da pesquisa.
Método dynaset:
>5
  6
            7
 8
*ele filtra os registros que não entram nos valores da pesquisa

Como resolvo este problema? Obs: se tiver geito de retirar a mensagem ‘no current record’ do metodo recordset tambem resolve meu problema.

TÓPICO EDITADO
   
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 09/06/2006 15:09 hs            
Se voce usa o DAO poderia fazer assim:
Dim criterio As String
Dim Rs as Recordset
  criterio = InputBox$("Código a ser pesquisado: ", "Pesquisando por código")
     If criterio <> Empty Then
       set rs=base.openrecordset("Select * from Produto where (COD)>='" & criterio & "'")
         if rs.recorcount<>0 then
            Data1.RecordSource = "Select * from Produto where (COD)>='" & criterio & "'"
            Data1.Refresh
           MsgBox "Localizado!"
      Else
            MsgBox "Código não localizado! ", vbExclamation, "Pesquisando por código"
      End If
    End If

dsmn
     
andre
DIVINÓPOLIS
MG - BRASIL
Postada em 09/06/2006 15:29 hs            
tive que fazer algumas modificaçoes para funcionar (tava gerando erro), mas continua gerando erro. Veja se as modificaçoes alterou no resultado:
Dim criterio As String
Dim Rs As Recordset
Dim base As Recordset
  criterio = InputBox$("Código a ser pesquisado: ", "Pesquisando por código")
     If criterio <> Empty Then
       Data1.RecordSource = ("Select * from Produto where (DESCR)>='" & criterio & "'")
         If Data1.Recordset.RecordCount <> 0 Then
            Data1.RecordSource = "Select * from Produto where (DESCR)>='" & criterio & "'"
            Data1.Refresh
           MsgBox "Localizado!"
      Else
            MsgBox "Código não localizado! ", vbExclamation, "Pesquisando por código"
      End If
    End If
     
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



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