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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Problema com o recordCount
TiagoAlgodas
ITABUNA
BA - BRASIL
ENUNCIADA !
Postada em 05/07/2005 15:18 hs            
olá amigos,
O Intuito deste codigo abaixo seria fazer uma verificaçao se a busca teve ou nao resultado, mas acontece que mesmo quando naum tem nenhum resultado ou seja o recordcount = 0 ele fica não valida a condição do IF . Quando vou debugar observo que o valor do recordCount está '-1' , Vejam o código abaixo, espero que possam me ajudar
 
Private Sub cmdBuscar_Click()
  
    Dim Sql4 As String
    Dim vcodi As String
    vcodi = txtCod.Text
    Sql4 = "SELECT * FROM pesagem where cod='" & vcodi & "'"
    rsBusca.Open Sql4
    If rsBusca.RecordCount = 0 Then
       MsgBox "NENHUMA PESAGEM COM ESTE CODIGO FOI ENCONTRADA"
       rsBusca.Close
       Exit Sub
       Call limpaControles
     Else
    txtCod.Enabled = False
    txtId.Text = rsBusca!id
    txtPeso.Text = rsBusca!peso
    txtQtde.Text = rsBusca!qtde
    lblMedia.Caption = Format(rsBusca!media, "####,##0.00")
    lblAvaliacao.Caption = rsBusca!avaliacao
    rsBusca.Close
    End If
End Sub

       Tiago Gomes Pereira 
------------------------------------
 MSN: algodasirs@hotmail.com
E-mail: algodas@gmail.com

   
Susana
ANGRA DOS REIS
RJ - BRASIL
ENUNCIADA !
Postada em 05/07/2005 16:06 hs            
Experimente fazer o teste da busca, se encontrou ou não o registro, verificando .EOF ao invés do .RECORDCOUNT.
 
Susana
   
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 05/07/2005 23:56 hs            
Pelo q vi do código vc deve ter "setado" outros valores anteriormente por exemplo sua conexão ativa... (cnn as ADODB.connection -->rs.ActiveConnection ... etc)
bom ANTES de abrir o recordset vc tem q "dizer" qual lado o cursor vai ficar...faça assim:
 
rs.CursorLocation = adUseClient
rs.Open "Select * from Tabela"
 
vai voltar o recordset com o nº correto... caso volte 0 então não há registros.
 
Só pra aproveitar o DAO tem um bug semelhante com a contagem de registros...
para ter certeza do nº de registros em seu BD faça assim (nesta ordem):
 
rs.moveL ast: rs.MoveF irst
 
blz????!
 
qq problema é só postar
 
t+
   
Psicose
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 06/07/2005 01:14 hs            
rsBusca.Open Sql, Conexao, adOpenStatic, adLockOptimistic
 
Tenta assim!!! Acho q da certo
   
MARCONE
Pontos: 2843
BRASÍLIA
DF - BRASIL
ENUNCIADA !
Postada em 06/07/2005 09:16 hs            
Private Sub cmdBuscar_Click()
  
    Dim Sql4 As String
    Dim vcodi As String
    vcodi = txtCod.Text
    Sql4 = "SELECT * FROM pesagem where cod='" & vcodi & "'"
    rsBusca.Open Sql4
    If rsBusca.EOF AND rsBusca.BOF Then
       MsgBox "NENHUMA PESAGEM COM ESTE CODIGO FOI ENCONTRADA"
       rsBusca.Close
       Exit Sub
       Call limpaControles
     Else
    txtCod.Enabled = False
    txtId.Text = rsBusca!id
    txtPeso.Text = rsBusca!peso
    txtQtde.Text = rsBusca!qtde
    lblMedia.Caption = Format(rsBusca!media, "####,##0.00")
    lblAvaliacao.Caption = rsBusca!avaliacao
    rsBusca.Close
    End If
End Sub

MarconeEmoções

 

   
Rochª
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 06/07/2005 12:33 hs            
Existe um bug do VB que ele nao devolve o RECORDCOUT corretamente. Voce tem que mover o ponteiro para o ultimo registro para resolver assim.
 
   Sql4 = "SELECT * FROM pesagem where cod='" & vcodi & "'"
   rsBusca.Open Sql4
   rsbusca.moveMax
   If rsBusca.RecordCount = 0 Then
Depois mova para o primeiro novamente para ler corretamente.  
Veja se nao é isso.

__________________________________________________________________________
Qualquer coisa post
 
Emoções
Rochª
   
Página(s): 1/2      PRÓXIMA »

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