ERRO COM BANCO DE DADOS

USUARIO.EXCLUIDOS 06/12/2006 23:45:19
#188444
gente to fazendo um programa tipo uma agenda, ai eu conectei tdo certinho e tal só que se for apertando anterior até chegar no primeiro e der mais um clique aparece o ero 3021 -nenhum registro .A linha em que o erro aparece eh essa : If tabela("Nome").Value > 0 Then. é como se ele falasse que num tem nada no nome do registro, e ao invés de não aparecer nada dá esse erro.
Já tentei arrumar mas num to conseguindo...tem como dar um help? vo mostra essa parte do código pra ver se da pra ter uma ideia melhor do sistema :
Function atualizar()
If tabela("Nome").Value > 0 Then
txtnome.Text = tabela("Nome")
Else
txtnome.Text = Empty
End If
If tabela("Endereço").Value > 0 Then
txtendereco.Text = tabela("Endereço")
Else
txtendereco.Text = Empty
End If
If tabela("Telefone1").Value > 0 Then
txttel1.Text = tabela("Telefone1")
Else
txttel1.Text = Empty
End If
If tabela("Telefone2").Value > 0 Then
txttel2.Text = tabela("Telefone2")
Else
txttel2.Text = Empty
End If
If tabela("Estado").Value > 0 Then
txtestado.Text = tabela("Estado")
Else
txtestado.Text = Empty
End If
If tabela("CEP").Value > 0 Then
txtcep.Text = tabela("CEP")
Else
txtcep.Text = Empty
End If
End Function


Private Sub cmdanterior_Click()
tabela.MovePrevious
atualizar
If tabela.BOF Then
MsgBox "Você está no primeiro registro."
tabela.MoveFirst
atualizar
End If
End Sub


Private Sub cmdprimeiro_Click()
tabela.MoveFirst
atualizar
End Sub


Private Sub cmdproximo_Click()
tabela.MoveNext
atualizar
If tabela.EOF Then
MsgBox "Você está no último registro."
tabela.MoveNext
atualizar
End If

End Sub



Brigada
WEBER 06/12/2006 23:58:15
#188446
Eu nao sei pq muitos programadores insistem nesse lance de value < ou > 0
tenta tratar o campo simplesmente verificando se é ou nao nulo ou seja
ao inves de usar
If tabela("Nome").Value > 0 Then 
txtnome.Text = tabela("Nome")
Else
txtnome.Text = Empty
End if


faça assim
primeiro antes de chamar os campos unitarios verifique se o registro nao atingiu o seu limite

exemplo
If Tabela.BOF = False Then
If Not IsNull(Tabela!Nome) Then
txtnome.Text = Tabela!Nome
Else
txtnome.Text = ""
End if

'>> e ai por diante todos os campos

End if

WEBER 06/12/2006 23:59:18
#188448
Outra saída é tratar o erro
On error goto er

er:
if err.number = 3021 ............
USUARIO.EXCLUIDOS 07/12/2006 00:02:06
#188449
vlw vo tentar
CLEVERTON 07/12/2006 00:05:47
#188450
Resposta escolhida
Faça assim

Function atualizar()
If tabela.BOF or Tabela.EOF Then exit sub

'restante da rotina
USUARIO.EXCLUIDOS 07/12/2006 00:13:12
#188451
gente mtooo obrigada!!funcionou ;)
Tópico encerrado , respostas não são mais permitidas