PROXIMO E ANTERIOR

NEREU1301 17/08/2009 09:28:53
#320014
Bom dia
nao estou entendendo
se abro a conexao ele vai pro primeiro registro mas nao vai pro proximo por que esta aberto se nao abro ele retorna erro que nao está aberto (erro 3704
Private Sub ProximoRegistro()
rsSelecao.Open [Ô]Select * From Oficina1[Ô], cnnOleopl, adOpenForwardOnly, adLockReadOnly
If Not rsSelecao.EOF = True Then
rsSelecao.MoveFirst
If Not rsSelecao.EOF = True Then
Mostrar
End If
End If

[ô]Habilita o botao excluir
Toolbar1.Buttons(3).Enabled = True
End Sub
Uso essa sub no primeiro formulario e nao me da problema.
fico no aguardo.
nereu
ROBIU 17/08/2009 09:41:51
#320018
Não está faltando um rsselecao.MoveNext aí?

Private Sub ProximoRegistro()
rsSelecao.Open [Ô]Select * From Oficina1[Ô], cnnOleopl, adOpenForwardOnly, adLockReadOnly
If Not rsSelecao.EOF = True Then
rsSelecao.MoveFirst
If Not rsSelecao.EOF = True Then
RsSelecao.MoveNext
Mostrar
End If
End If
TECLA 17/08/2009 09:43:28
#320019
Tem um pequeno problema na sua rotina. No seu caso, abertura da tabela só deve ocorrer uma vez, e depois é que você pode clicar no botão ProximoRegistro para mudar de posição na tabela. Exemplo:

Procedimento para abrir Tabela
Public Sub AbrirTabela()
rsSelecao.Open [Ô]Select * From Oficina1[Ô], cnnOleopl, adOpenForwardOnly, adLockReadOnly
If Not rsSelecao.EOF = True Then
Call Mostrar
End If
End Sub


Próximo registro
Private Sub ProximoRegistro()
rsSelecao.MoveNext
If rsSelecao.Eof Then rsSelecao.MovePrevious
Call Mostrar
End Sub


Teste e retorne o resultado.
NEREU1301 17/08/2009 10:22:41
#320029
Robio, voce tá certo mas infelizmente como na ideia do tecla me retorna que a operacao nao é permetida com o objeto aberto.
nao sei se fui claro
a sub abre o primeiro registro corretamente
o erro aparece quando voce pede para ele ir para o proximo desse ja aberto
nereu
MARCELO.TREZE 17/08/2009 11:03:39
#320035
Nereu então testou o código do tecla, pois é a forma correta de se fazer
NEREU1301 17/08/2009 11:16:55
#320036
marcelo
desculpa, mas, como disse na mesn anterior
a ideia do tecla me retorna a mesma mensagem
[Ô]operacao nao permitida com objeto aberto[Ô]
nereu
TECLA 17/08/2009 11:22:15
#320038
Citação:

NEREU1301 escreveu:
marcelo
desculpa, mas, como disse na mesn anterior
a ideia do tecla me retorna a mesma mensagem
[Ô]operacao nao permitida com objeto aberto[Ô]
nereu



Eu que momento você [Ô]chama[Ô] a Sub AbrirTabela?
Poste o código completo pós-alteração.
ROBIU 17/08/2009 11:24:53
#320039
Como Você estava abrindo o RS a cada click, todas informações estavam sendo zeradas. Então primeiro vamos verificar se o Rs já está aberto. Se estiver vai para o proximo registro.

Private Sub ProximoRegistro()
If RsSelecao = 0 Then RsSelecao.Open [Ô]Select * From Oficina1[Ô], cnnOleopl, adOpenForwardOnly, adLockReadOnly
Rsselecao.MoveNext
If RsSelecao.EOF Then
RsSelecao.MoveFirst
End If
Mostrar
End Sub
NEREU1301 17/08/2009 11:28:23
#320040
fiz assim
Public Sub AbrirTabela()
rsSelecao.Open [Ô]Select * From Oficina1[Ô], cnnOleopl, adOpenForwardOnly, adLockReadOnly
If Not rsSelecao.EOF = True Then
Call Mostrar
End If
End Sub

Private Sub ProximoRegistro()
AbrirTabela
rsSelecao.MoveNext
If rsSelecao.EOF Then rsSelecao.MovePrevious
Call Mostrar


[ô]Habilita o botao excluir
Toolbar1.Buttons(3).Enabled = True
End Sub

nereu
NEREU1301 17/08/2009 11:33:56
#320042
rubio
retorna type mismatch
e sinaliza no primeiro rsSelecao
nereu
TECLA 17/08/2009 11:34:51
#320043
Está incorreto.

A sub-rotina ABRIRTABELA só pode ser chamada UMA VEZ, de preferência no evento LOAD do FORM.

Procedimento para Abrir a Tabela
Private Sub AbrirTabela()
rsSelecao.Open [Ô]Select * From Oficina1[Ô], cnnOleopl, adOpenForwardOnly, adLockReadOnly
If Not rsSelecao.EOF = True Then
Call Mostrar
End If
End Sub


No load do Form
Call AbrirTabela


Ir para o Próximo registro
Private Sub ProximoRegistro()
rsSelecao.MoveNext
If rsSelecao.Eof Then rsSelecao.MovePrevious
Call Mostrar
End Sub
Página 1 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas