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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Consulta usando ADO
Ivanenko
BELO HORIZONTE
MG - BRASIL
Postada em 02/05/2004 01:21 hs            
Para efetuar uma consulta, com o form em que será mostrado os registros aberto, eu chamo um outro form onde seleciono informo os parâmetros da consulta.
Quando não há registros para os parâmetros informados, estou fechando ambos os formulários, porque o conjunto de registros anteriormente mostrados foi mudado pela consulta atual, ou seja, se eu tentar mover entre registro, aparece a mensagem que é fim de arquivo.
Como manter os registros anteriores, quando uma nova consulta não for satisfatória, ou seja, sem a necessidade de fechar o form principal?
 
 
Private Sub cmdLocalizar_Click()
   rsNS.Find "CodCidade = " & txtConsulta, , , 1  '1 - indica a procura a partir do primeiro registro
   If Not rsNS.EOF Then   'se encontrou
       rsNS.Filter = " CodCidade = " & txtConsulta
    Else
        If MsgBox("Não há NSs para a consulta solicitada!" & Chr(13) & "Deseja efetuar nova Consulta?", vbYesNo + vbQuestion, "Atenção") = vbYes Then
            Exit Sub
        Else
            Unload frmNS
            Unload frm_Localizar
            End
        End If
   End If
   
    Unload frm_Localizar
   
End Sub
 
     
Roßerto
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 02/05/2004 01:37 hs            
em vez de vc usar o find, pq vc não abre um novo recordset, exemplo
 
Private Sub cmdLocalizar_Click()
   Dim rsProcura as Recordset
   Dim mVar as String
 
   mVar = "Select * from clientes where cidade like '" & txtConsulta & "'"
   Set rsProcura = db.OpenRecordset(mVar,dbOpenSnapShot)
 
   If Not rsProcura.EOF Then   'se encontrou
      'seu codigo para o registro encontrado       
    Else
        If MsgBox("Não há NSs para a consulta solicitada!" & Chr(13) & "Deseja efetuar nova Consulta?", vbYesNo + vbQuestion, "Atenção") = vbNo Then
            Unload frmNS
            End
        End If
   End If
   rsProcura.Close
   Unload frm_Localizar
End Sub
 
Roberto
     
Ivanenko
BELO HORIZONTE
MG - BRASIL
Postada em 02/05/2004 01:49 hs            
Roberto
 
Estou usando para abrir o formulário principal:
    Set rsNS = CreateObject("ADODB.Recordset")
    rsNS.Open "SELECT * FROM T_NS", BD, adOpenDynamic, adLockOptimistic
Com a sua sugestão gera o seguinte erro:
     "Os argumentos estão incorretos, estão fora do intervalo aceitável ou estão em conflito"  
     
 
     
Roßerto
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 02/05/2004 01:57 hs            
hmmm, vc está usando ADO, o exemplo q te passei está DAO
 
   Set rsProcura = CreateObject("ADODB.Recordset")
   rsProcura.Open mVar, BD, adOpenDynamic, adLockOptimistic
 
mude a abertura do recordset para o que está acima
 
Roberto
     
Ivanenko
BELO HORIZONTE
MG - BRASIL
Postada em 02/05/2004 02:20 hs            
Ok! Roberto
Fiz uma pequena alteração
 
    Set rsProcura = CreateObject("ADODB.Recordset")
    mVar = "Select * from T_NS where Codcidade like " & txtEquipamento
    rsProcura.Open mVar, BD, adOpenDynamic, adLockOptimistic
 
 
   If Not rsProcura.EOF Then   'se encontrou
      'seu codigo para o registro encontrado
      rsNS.Filter = " CodCidade = " & txtEquipamento
    Else
        If MsgBox("Não há NSs para a consulta solicitada!" & Chr(13) & "Deseja efetuar nova Consulta?", vbYesNo + vbQuestion, "Atenção") = vbNo Then
            Unload frmNS
            End
        End If
   End If
   rsProcura.Close
   Unload frm_Localizar
     
Roßerto
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 02/05/2004 02:53 hs            
não, tá errado isso, pelo menos até onde eu vi
 
se vc achou o registro, para que setar o outro recordset ?
não é mais facil, utilizar o recordset atual ?
 
Roberto
     
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-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página