BOTAO DE COMANDO

USUARIO.EXCLUIDOS 28/04/2007 00:28:50
#214155
Eae Galera do forum !

sou iniciante em vb...

estou com um problema no botão de do cadastro de clientes...

quando eu pesso para ele mostrar o proximo cliente ele ate vai..mas quando chega no ultimo ou primeiro da um erro !
alguem sab o q pode ser ?
USUARIO.EXCLUIDOS 28/04/2007 00:32:49
#214156
este eh un dos erros !
USUARIO.EXCLUIDOS 28/04/2007 08:45:35
#214162
Bom dia amigo!
pra resolver isso, faça o seguinte:

No botão Proximo
  
with TabelaClientes
.MoveNext
if .EOF = True then
.MoveLast
End If
end With
Carregar 'Aqui seria o seu código pra carregar os dados para o form


e no anterior
 
with TabelaClientes
.MovePrevious
if .BOF = True then
.MoveFirst
End If
end With
Carregar 'Aqui seria o seu código pra carregar os dados para o form




esse erro acontece pq ñ existe valores antes do primeiro registro (BOF) e após o último registro (EOF) pra jogar no form...
USUARIO.EXCLUIDOS 28/04/2007 12:16:10
#214191
opa guto, então agora foi...

mas quando coloko para ele ir ao anterior ele dar um erro "object required"

não sei o que eh issu ... seria pq ele não axa o proximo registro do bd ?
USUARIO.EXCLUIDOS 28/04/2007 15:54:14
#214205
Resposta escolhida
Amigo NT12 tambem sou novanto no vb mais vou te explicar como funciona isso

Quando vc pressiona no botao proximo registro ele navega para o proximo registro logicamente, mais se nao existe o proximo registo acontece o erro a mesma coisa para anterior se vc tiver no primeiro e clicar para ir para o anterio acontece o erro, entao o quer fazer

o amigo guto te deu a resposta lógica, vou explicar a logica

with TabelaClientes
.MoveNext
if .EOF = True then
.MoveLast
End If
end With


primeiro ele informa o recordeset e depois ele move para o proximo registo e depois ele impoe uma condicao se eof = true then
moveLast e finaliza a condicao

entao o que significa eof e Bof
eof é = true quando o ponteiro estiver localizado depois do último resgistro
entao se estiver localizado depois do ultimo ele volta para anterio

entao o que vc dever fazer; coloca a mesma instrucao so que vc vai usar BOF no lugar de EOF e colocar que quando BOF for = Tru ele move para o próximo
ou seja, MoveNext


entao agora é so usar um pouco de criatividade para os comandos EOF e BOF
para quando chegar no primeiro e no ultimo


ERINALDO 28/04/2007 16:04:02
#214208
coloca no inicio do seu codigo

on Error resume next
Tópico encerrado , respostas não são mais permitidas