MOVER PARA PROXIMO REGISTRO NA TABELA NO BD
Preciso de uma ajuda!
Olhando na figura, ao clicar na seta do lado direito, quero que mostra no campo Num. Pagamento o próximo número que estar na tabela no banco de dados (que seria númeor dois)? Assim por diante, Para poder popular as informações do pagamento no formulário.
Desenvolvi esse código à baixo, o problema é que não vai para os próximos registro.
Quem me poder ajudar eu agradeço.
Private Sub btnproximo_Click()
sSQL = [Ô]SELECT num_pagamentoitem [Ô]
sSQL = sSQL & [Ô]FROM itemspago [Ô]
rsItemsPago.Open sSQL, con, adOpenKeyset, adLockOptimistic
rsItemsPago.MoveNext
If rsItemsPago.BOF = False Then
txtnumpaganento = rsItemsPago.Fields([Ô]num_pagamentoitem[Ô])
rsItemsPago.MovePrevious
Call PopularPagamento
End If
End Sub
Olhando na figura, ao clicar na seta do lado direito, quero que mostra no campo Num. Pagamento o próximo número que estar na tabela no banco de dados (que seria númeor dois)? Assim por diante, Para poder popular as informações do pagamento no formulário.
Desenvolvi esse código à baixo, o problema é que não vai para os próximos registro.
Quem me poder ajudar eu agradeço.
Private Sub btnproximo_Click()
sSQL = [Ô]SELECT num_pagamentoitem [Ô]
sSQL = sSQL & [Ô]FROM itemspago [Ô]
rsItemsPago.Open sSQL, con, adOpenKeyset, adLockOptimistic
rsItemsPago.MoveNext
If rsItemsPago.BOF = False Then
txtnumpaganento = rsItemsPago.Fields([Ô]num_pagamentoitem[Ô])
rsItemsPago.MovePrevious
Call PopularPagamento
End If
End Sub
O problema e que vc faz a consulta nomente se alterar o registro use apenas rsItemsPago.MoveNext ao invez de consultar novamente a base
Já tentei assim não deu Certo. Mesmo assim valeu.
Private Sub btnproximo_Click()
sSQL = [Ô]SELECT num_pagamentoitem [Ô]
sSQL = sSQL & [Ô]FROM itemspago [Ô]
If txtnumpaganento.Text <> [Ô][Ô] Then
sSQL = sSQL & [Ô]WHERE num_pagamentoitem > [Ô] & txtnumpaganento.Text & [Ô] [Ô]
End If
sSQL = sSQL & [Ô]ORDER BY num_pagamentoitem[Ô]
rsItemsPago.Open sSQL, con, adOpenKeyset, adLockOptimistic
If rsItemsPago.EOF = False Then
txtnumpaganento = rsItemsPago.Fields([Ô]num_pagamentoitem[Ô])
Call PopularPagamento
End If
End Sub
sSQL = [Ô]SELECT num_pagamentoitem [Ô]
sSQL = sSQL & [Ô]FROM itemspago [Ô]
If txtnumpaganento.Text <> [Ô][Ô] Then
sSQL = sSQL & [Ô]WHERE num_pagamentoitem > [Ô] & txtnumpaganento.Text & [Ô] [Ô]
End If
sSQL = sSQL & [Ô]ORDER BY num_pagamentoitem[Ô]
rsItemsPago.Open sSQL, con, adOpenKeyset, adLockOptimistic
If rsItemsPago.EOF = False Then
txtnumpaganento = rsItemsPago.Fields([Ô]num_pagamentoitem[Ô])
Call PopularPagamento
End If
End Sub
Obrigado Federhen Pela ajuda. Assim não funcionou porque eu preciso popular no campo Num.Pagamento do formulário, exatamente com o número que estar no campo num_pagamentoitem do banco, para fazer a consulta. Dessa maneira que voce fez irá obedecer uma ordem numerica, apartir do numero um. Caso eu excluo um numero da sequencia, não conseguirei fazer uma consulta com esse número excluido.
Quem poder me Ajudar eu agradeço.
Quem poder me Ajudar eu agradeço.
O problema é o seguinte:
A rotina...
[txt-color=#e80000]sSQL = [Ô]SELECT num_pagamentoitem [Ô]
sSQL = sSQL & [Ô]FROM itemspago [Ô]
rsItemsPago.Open sSQL, con, adOpenKeyset, adLockOptimistic[/txt-color]
[txt-color=#007100][ô]Esta linha serve para corrigir o problema do -1[/txt-color]
[txt-color=#e80000]rsItemsPago.CursorLocation = adUseClient[/txt-color]
...está no escopo errado.
Ela deve estar em uma outra parte da fonte, mas que seja [Ô]visÃvel[Ô] do evento CLICK do botão.
No botão, deve ficar somente a rotina que muda a posição do cursor do RECORDSET.
[txt-color=#0000f0]Private Sub btnproximo_Click()
If Not rsItemsPago.Eof Then
rsItemsPago.MoveNext
Else
rsItemsPago.MovePrevious
End If
Call PopularPagamento
End Sub[/txt-color]
A rotina...
[txt-color=#e80000]sSQL = [Ô]SELECT num_pagamentoitem [Ô]
sSQL = sSQL & [Ô]FROM itemspago [Ô]
rsItemsPago.Open sSQL, con, adOpenKeyset, adLockOptimistic[/txt-color]
[txt-color=#007100][ô]Esta linha serve para corrigir o problema do -1[/txt-color]
[txt-color=#e80000]rsItemsPago.CursorLocation = adUseClient[/txt-color]
...está no escopo errado.
Ela deve estar em uma outra parte da fonte, mas que seja [Ô]visÃvel[Ô] do evento CLICK do botão.
No botão, deve ficar somente a rotina que muda a posição do cursor do RECORDSET.
[txt-color=#0000f0]Private Sub btnproximo_Click()
If Not rsItemsPago.Eof Then
rsItemsPago.MoveNext
Else
rsItemsPago.MovePrevious
End If
Call PopularPagamento
End Sub[/txt-color]
Tópico encerrado , respostas não são mais permitidas