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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Recordcount não esta funcionando....
Jorge Wilson
SÃO PAULO
SP - BRASIL
Postada em 24/10/2004 18:07 hs            
Pessoal, o problema é o seguinte, tenho código abaixo é ao verificar o rs.recordcount, o mesmo vem sempre com o valor  zero , mesmo quando o registro existe, permitindo desta forma a criação de registros duplicados, visto que o campo utilizado para consulta não é chave... Onde esta o erro afinal !!Emoções
 
' Abrir a conexão
  AbrirConexao = Comeco()
'Carrega o Registro da Tabela no Objeto Recordset se existir
  With rs
   .ActiveConnection = Con
   .CursorLocation = adUseClient
   .CursorType = adOpenStatic
   .LockType = adLockBatchOptimistic
       
   .Open ("select * from MINISTROS Where NOME_DO_MINISTRO =  ' " & TxtNomMin.Text & " '  ")
   .ActiveConnection = Nothing
      
 End With
     
'Se não for encontrado qualquer registro,
'Cria o registro na tabela
 If rs.RecordCount < 1 Then
    Inclui_Ministros = Incluir_Min(TxtNomMin, TxtDtInicio, DataSaida)
    If Inclui_Ministros = True Then
       LimpaCampos
       MsgBox COD_MINISTRO_PK & " Ministro Gravado sob nr.", vbOKOnly, "Cadastro de Ministros"
       rs.Close
    Else
       MsgBox "Ministro não Incluído", vbOKOnly, "Inclusão de Ministro"
       rs.Close
    End If
 Else
    MsgBox Nome_do_Ministro & " - Ministro Já Cadastrado", vbOKOnly, " Cadastro de Ministros "
    TxtNomMin.SetFocus
    Exit Sub
 End If
Agradeço a força moçada!!!
     
caco
Pontos: 2843

SP - BRASIL
Postada em 24/10/2004 18:43 hs            
Olá Jorge!
 
A propriedade RecordCount não é infalível. A melhor forma de verificar se a consulta retornou registros e utilizar a propriedade EOF.
 
Substitua a instrução "If rsRecordCount < 1 Then" por "If Not rs.EOF Then"
 
Abraço!

Messenger: vbdev@uol.com.br

TÓPICO EDITADO
   
Poca
SETE LAGOAS
MG - BRASIL
ENUNCIADA !
Postada em 25/10/2004 06:21 hs            
Coloque o código de conexão também...
 
Caso esteja usando ADO + arquivo DBF a propriedade recordcount não irá funcionar...
 
aí vc terá que usar DAO.
 
Coloque o código do COMECO() e a parte onde vc instância RS...
 
T+

Imagine um sistema (.exe) que vc pode programar códigos fontes dentro dele, mesmo com ele estando em execução no momento e ainda trabalhando em rede!

Ficou confuso ??? Não entendeu como isso é possível ???

Componente:    Macro pra VB6  / Desenvolvido por Kraysler.

O teu sistema fica com recursos parecido com o que a linguagem SAP oferece. OBS.: Linguagem SAP = R$ 80.000,00 , talvez seja por isso que vc não tenha ouvido falar nela.

Baixe um aplicativo Demo do componente: http://www.macrovb.cjb.net

   
Poca
SETE LAGOAS
MG - BRASIL
ENUNCIADA !
Postada em 25/10/2004 06:27 hs            
OPS....
 
Jorge Wilson, retire o comando ".ActiveConnection = Nothing", vc não pode detonar a conexão com o recorset aberto.
 
Se vc tirar isso é bem capaz de funcionar...
 
T+

Imagine um sistema (.exe) que vc pode programar códigos fontes dentro dele, mesmo com ele estando em execução no momento e ainda trabalhando em rede!

Ficou confuso ??? Não entendeu como isso é possível ???

Componente:    Macro pra VB6  / Desenvolvido por Kraysler.

O teu sistema fica com recursos parecido com o que a linguagem SAP oferece. OBS.: Linguagem SAP = R$ 80.000,00 , talvez seja por isso que vc não tenha ouvido falar nela.

Baixe um aplicativo Demo do componente: http://www.macrovb.cjb.net

   
snake
Pontos: 2843
ITAJUBÁ
MG - BRASIL
ENUNCIADA !
Postada em 25/10/2004 09:22 hs         
ja tive este problema usando DAO !!!
a solução foi fazer o que o amigo Caco escreveu em sua mensagem.
   
Claudio EngeSys
PARANAGUA
PR - BRASIL
ENUNCIADA !
Postada em 25/10/2004 09:28 hs            
Se for só para saber se tem algum registro o certo é tratar o EOF mesmo, agora, se você quiser saber realmente o número de registros da tabela é só dar um .moveMax antes para que o .recordcount seja atualizado.

Claudio Alves.
   
Página(s): 1/3      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