|
Postada em 10/09/2007 21:05 hs
Alguém sabe fazer isso com ado Public Sub Movimento(Tabela As Recordset, Botaonum As Integer) If Tabela.BOF = False And Tabela.EOF = False Then If Botaonum = 0 Then Tabela.MoveMin ElseIf Botaonum = 1 Then Tabela.MovePrevious If Tabela.BOF = True Then Tabela.MoveMin ElseIf Botaonum = 2 Then Tabela.MoveNext If Tabela.EOF = True Then Tabela.MoveMax ElseIf Botaonum = 3 Then Tabela.MoveMax End If End If End Sub
|
|
|
|
Donkey
|
PRESIDENTE PRUDENTE SP - BRASIL
|
|
Postada em 10/09/2007 22:53 hs
É dessa forma mesmo, embora o ideal seja usar on error resume next (meio forçado), ou testar antes, tipo if not tabela.bof then tabela.moveprevios if not tabela.eof then tabela.movenext Para ir pro primeiro e ultimo, geralmente eu uso um ID, dai eu faço uma sql pedindo para retornar o proximo menor que o atual, q esta em algum controle texto por exemplo. T+
|
|
|
kerplunk
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 11/09/2007 08:27 hs
Public Sub Movimento(Tabela As Recordset, Botaonum As Integer) If Botaonum = 0 Then if not tabela.bof then tabela.movefist elseIf Botaonum = 1 Then if not tabela.bof then Tabela.MovePrevious ElseIf Botaonum = 2 Then if not tabela.eof then Tabela.MoveNext ElseIf Botaonum = 3 Then if not tabela.eof then Tabela.MoveMax End If End Sub Assim deve ficar melhor
|
|
|
Donkey
|
PRESIDENTE PRUDENTE SP - BRASIL
|
|
Postada em 11/09/2007 08:59 hs
Apenas corrigindo, não existe MOVEMAX no ADO, nosso amigo deve estar se referindo ao MoveMax. + lembrando que por exemplo, se for um cadastro de clientes com 400 mil clientes, vc teria que ter tudo isso em mémoria, o que é extremamente prejudicial para performace do sistema. Faça como eu te falei, coloque na tela um objeto, onde vai ter o código atual do registro lido, e ao clicar nos botões faz uma sql para se locomover, tendo como base o registro atual, assim na memória terá sempre apenas 1 registro. Um abraço.
|
|
|
|
Postada em 11/09/2007 09:20 hs
Só para constar o site ainda está escrevendo MoveMax ao invés de MoveLAS_T (só tirar o underline) e MoveMin ao invés de MoveFIRS_T. Tomem cuidado :) at+
|
|
|