Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro BOF e EOF


gabrieldb

Pergunta

Bom dia pessoal estou com erros no meu sistema quando eu não tenho nenhum registro na tabela e clico em Pesquisar, Próximo e Anterior ou Excluir ele dá esse erro BOF e EOF e diz que não foi encontrado nenhum registro como faço pra quando o usuário clicar em um desses botões (Pesquisar, Próximo e Anterior e Excluir) não aparecer esse erro quando estiver sem registros na tabela ?

Editado por gabrieldb
Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

coloque um if depois do seu recordSet

if rs.eof then
     messageBox "Não há registros"
else
 ' TAREFA
end if

mas o mais elegante para o seu sistema seriam que se não houvesse nenhum registro, não fosse permitido pesquisar, avançar, retornar, etc...

é a minha opinão

Link para o comentário
Compartilhar em outros sites

  • 0

Ai vai o código do botão pesquisar, que ficou assim

Private Sub cmdPesquisa_Click()
Dim rs As New ADODB.Recordset

Call conexao
Conex.CursorLocation = adUseClient

rs.Open "select * from clientes", Conex, adOpenDynamic, adLockOptimistic
If rs.EOF Then
     MsgBox "Não há registros"
End If

txtFantasia.Text = rs("nome")
txtEstab.Text = rs("estab")
txtRazao.Text = rs("razao")
txtEndereco.Text = rs("endereco")
txtBairro.Text = rs("bairro")
txtCidade.Text = rs("cidade")
txtEstado.Text = rs("estado")
txtCep.Text = rs("cep")
txtCnpj.Text = rs("cnpj")
txtInscricao.Text = rs("inscricao")
txtCcm.Text = rs("ccm")
txtFone1.Text = rs("fone1")
txtFone2.Text = rs("fone2")
txtFone3.Text = rs("fone3")
txtFax.Text = rs("fax")
txtResp.Text = rs("resp")
txtCargo.Text = rs("cargo")
txtEmail.Text = rs("email")
txtSite.Text = rs("site")
rs.Update
preenche_grid
End Sub

Link para o comentário
Compartilhar em outros sites

  • 0

o que está errado é que mesmo com o IF você tenta preencher, o certo seria colocar a parte de preencher no Else...

If rs.EOF Then
     MsgBox "Não há registros"
End If

txtFantasia.Text = rs("nome")
txtEstab.Text = rs("estab")
txtRazao.Text = rs("razao")
txtEndereco.Text = rs("endereco")
txtBairro.Text = rs("bairro")
txtCidade.Text = rs("cidade")
txtEstado.Text = rs("estado")
txtCep.Text = rs("cep")
txtCnpj.Text = rs("cnpj")
txtInscricao.Text = rs("inscricao")
txtCcm.Text = rs("ccm")
txtFone1.Text = rs("fone1")
txtFone2.Text = rs("fone2")
txtFone3.Text = rs("fone3")
txtFax.Text = rs("fax")
txtResp.Text = rs("resp")
txtCargo.Text = rs("cargo")
txtEmail.Text = rs("email")
txtSite.Text = rs("site")
rs.Update  ' Para quê um UPDATE se você só está consultando?
preenche_grid

Link para o comentário
Compartilhar em outros sites

  • 0
o que está errado é que mesmo com o IF você tenta preencher, o certo seria colocar a parte de preencher no Else...

If rs.EOF Then
     MsgBox "Não há registros"
End If

txtFantasia.Text = rs("nome")
txtEstab.Text = rs("estab")
txtRazao.Text = rs("razao")
txtEndereco.Text = rs("endereco")
txtBairro.Text = rs("bairro")
txtCidade.Text = rs("cidade")
txtEstado.Text = rs("estado")
txtCep.Text = rs("cep")
txtCnpj.Text = rs("cnpj")
txtInscricao.Text = rs("inscricao")
txtCcm.Text = rs("ccm")
txtFone1.Text = rs("fone1")
txtFone2.Text = rs("fone2")
txtFone3.Text = rs("fone3")
txtFax.Text = rs("fax")
txtResp.Text = rs("resp")
txtCargo.Text = rs("cargo")
txtEmail.Text = rs("email")
txtSite.Text = rs("site")
rs.Update  ' Para quê um UPDATE se você só está consultando?
preenche_grid
rsrs viajei no UPDATE ficou assim e deu certo
Private Sub cmdEditar_Click()
Dim rs As New ADODB.Recordset

Call conexao
Conex.CursorLocation = adUseClient

rs.Open "select * from clientes", Conex, adOpenDynamic, adLockOptimistic
If rs.EOF Then
     MsgBox "Não há registros"
Else

txtFantasia.Text = rs("nome")
txtEstab.Text = rs("estab")
txtRazao.Text = rs("razao")
txtEndereco.Text = rs("endereco")
txtBairro.Text = rs("bairro")
txtCidade.Text = rs("cidade")
txtEstado.Text = rs("estado")
txtCep.Text = rs("cep")
txtCnpj.Text = rs("cnpj")
txtInscricao.Text = rs("inscricao")
txtCcm.Text = rs("ccm")
txtFone1.Text = rs("fone1")
txtFone2.Text = rs("fone2")
txtFone3.Text = rs("fone3")
txtFax.Text = rs("fax")
txtResp.Text = rs("resp")
txtCargo.Text = rs("cargo")
txtEmail.Text = rs("email")
txtSite.Text = rs("site")
'rs.Update
preenche_grid
End If
End Sub

Só falta agora o PROXIMO, ANTERIOR e EXCLUIR vou tentar

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...