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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Interrompendo uma consulta
Josefh Hennyere
Pontos: 2843
SALVADOR
BA - BRASIL
Postada em 11/03/2005 01:14 hs         
Como fazer para interromper uma consulta num DB?
 
    Set Rs = db.OpenRecordset(strSQl)
    Rs.Close
 
Não funcionou"
     
kerplunk
Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 11/03/2005 08:08 hs         
Vc quer dizer, parar o comando enviado? Bom, vc pode usar um time-out, ou ainda declarar as variáveis do Recordset com a cláusula WithEvents, isso vai te dar um pouco mais de controle sobre o objeto.
     
Snake
Pontos: 2843
ITAJUBÁ
MG - BRASIL
Postada em 11/03/2005 08:59 hs         
Josefh, só por curiosidade...pq motivos vc...gostaria de parar uma consulta ?
 
sem mais,
     
Rochª
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
Postada em 11/03/2005 09:48 hs            
Snake,
isso pode ser util em precessos muito longo que o usuario queira interromper.
A ideia basica é criar um evento para o processo semelhante ao .NET.
Mais nunca usei.
 
De uma olhada aqui.
 
ele explica o withevent. Emoções

__________________________________________________________________________
Qualquer coisa post
 
Emoções
Rochª
     
Josefh Hennyere
Pontos: 2843
SALVADOR
BA - BRASIL
Postada em 20/03/2005 05:03 hs         
Respondendo ao questionamento do amigo Snake
 
Estou fazendo um sistema para busca de ceps e como você sabe, o banco de dados de ceps é muito grande. À medida que o usuário faz a consulta, os resultados são exibidos no FlexGrid, então imagina que não optando por uma consulta específica e visualizando os resultados, por algum motivo alguèm queira interromper a consulta. Depois do código pronto senti falta desta função.
 
Set Rs = db.OpenRecordset(strSQl)
    If Not (Rs.BOF And Rs.EOF) Then
        While Not Rs.EOF
            If CStr(Rs.RecordCount) > 1 Then
                Me.Caption = "Meu aplicativo " & Chr(32) & "(" & CStr(Rs.RecordCount) & " valores encontrados" & ")"
            Else
                Me.Caption = "Meu aplicativo " & Chr(32) & "(" & CStr(Rs.RecordCount) & " valor encontrado" & ")"
            End If
           
                    MSFlexGrid.TextMatrix(MSFlexGrid.Rows - 1, 1) = Rs.Fields(0).Value
                    MSFlexGrid.TextMatrix(MSFlexGrid.Rows - 1, 2) = Rs.Fields(1).Value
                    MSFlexGrid.TextMatrix(MSFlexGrid.Rows - 1, 3) = Rs.Fields(2).Value
                    MSFlexGrid.TextMatrix(MSFlexGrid.Rows - 1, 4) = Rs.Fields(3).Value
                    MSFlexGrid.TextMatrix(MSFlexGrid.Rows - 1, 5) = Rs.Fields(4).Value
                    MSFlexGrid.TextMatrix(MSFlexGrid.Rows - 1, 6) = Rs.Fields(5).Value
                    MSFlexGrid.TextMatrix(MSFlexGrid.Rows - 1, 7) = Rs.Fields(6).Value
                MSFlexGrid.Refresh
                MSFlexGrid.Rows = MSFlexGrid.Rows + 1
                Rs.MoveNext
            End If
        Wend
    End If
   
    If CStr(Rs.RecordCount) = 0 Then
        Me.Caption = "Meu aplicativo " & Chr(32) & "(" & " nenhum valor encontrado" & ")"
    End If
    lbl = "Pesquisa concluída ..."
    Rs.Close

Observe que a função uqe estou precisando é para interromper o comando WHILE
     
Josefh Hennyere
Pontos: 2843
SALVADOR
BA - BRASIL
Postada em 20/03/2005 05:27 hs         
Outra questão, é qundo dou início à consulta, o formulário fica parecendo que está desabilitado. Acho que é a prioridade da consulta que é automaticamente é definida como ALTA. Como resolver isto ?
     
Página(s): 1/1    

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