Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème enregistrement suivant

1 réponse
Avatar
Alain92110
Bonjour,

Je me tourne vers vous car j'ai un petit souci avec un formulaire.

Voila le problème.

J'ai un formulaire qui contient un sous-formulaire. Ils sont liés chacun à
des tables différentes.

Je souhaite mettre sur le formulaire "père" un bouton pour passer à
l'enregistrement suivant mais rien ne fonctionne.

Essai code 1:
Dans cet essai, le formulaire affiche quelques enregistrements, au hasard
(ou selon une logique qui m'échappe).


Code :
Private Sub Btn1_Click()
Me.FilterOn = False 'le formulaire était filtré
On Error GoTo Err_Btn1_Click
DoCmd.GoToRecord , , acNext

Exit_Btn1_Click:
Exit Sub

Err_Btn1_Click:
MsgBox err.Description
Resume Exit_Btn1_Click
End Sub



Essai code 2:
Dans cet essai, le formulaire passe à l'avant-dernier enregistrement (hasard
ou logique qui m'échappe ?).


Code :
Private Sub Btn2_Click()
Dim oDb As DAO.Database
Dim oRst As DAO.Recordset
Dim NbEnregistrement As Long

Me.FilterOn = False
Set oDb = CurrentDb
Set oRst = oDb.OpenRecordset("MaTable", dbOpenTable)

'Compte les enregistrements
NbEnregistrement = oRst.RecordCount
MsgBox "Nombre d'enregistrements " & NbEnregistrement 'Me renvoit bien
le nombre d'enregistrements

'Avance d'un enregistrement
oRst.MoveNext

oRst.Close
oDb.Close
Set oRst = Nothing
Set oDb = Nothing

End Sub

Merci de m'aider à trouver une solution.
Cdt
Alain

1 réponse

Avatar
C. ERNST
Pour passer à l'enregistrement suivant.

1. se positionner sur l'enregistrement en cours du clone
me.recordsetclone.bookmark=me.bookmark
2. Vérifier que l'on n'est pas en fin de Table
if me.recordsetClone.eof = true then exit sub
3. Aller à l'enregistrment suivant du clone
me.recordsetClone.Movenext
4. Positionner l'enregistrement du formulaire sur celui du clone
me.bookmark=me.recordsetclone.bookmark



"Alain92110" a écrit dans le message
de news:
Bonjour,

Je me tourne vers vous car j'ai un petit souci avec un formulaire.

Voila le problème.

J'ai un formulaire qui contient un sous-formulaire. Ils sont liés chacun à
des tables différentes.

Je souhaite mettre sur le formulaire "père" un bouton pour passer à
l'enregistrement suivant mais rien ne fonctionne.

Essai code 1:
Dans cet essai, le formulaire affiche quelques enregistrements, au hasard
(ou selon une logique qui m'échappe).


Code :
Private Sub Btn1_Click()
Me.FilterOn = False 'le formulaire était filtré
On Error GoTo Err_Btn1_Click
DoCmd.GoToRecord , , acNext

Exit_Btn1_Click:
Exit Sub

Err_Btn1_Click:
MsgBox err.Description
Resume Exit_Btn1_Click
End Sub



Essai code 2:
Dans cet essai, le formulaire passe à l'avant-dernier enregistrement
(hasard
ou logique qui m'échappe ?).


Code :
Private Sub Btn2_Click()
Dim oDb As DAO.Database
Dim oRst As DAO.Recordset
Dim NbEnregistrement As Long

Me.FilterOn = False
Set oDb = CurrentDb
Set oRst = oDb.OpenRecordset("MaTable", dbOpenTable)

'Compte les enregistrements
NbEnregistrement = oRst.RecordCount
MsgBox "Nombre d'enregistrements " & NbEnregistrement 'Me renvoit
bien
le nombre d'enregistrements

'Avance d'un enregistrement
oRst.MoveNext

oRst.Close
oDb.Close
Set oRst = Nothing
Set oDb = Nothing

End Sub

Merci de m'aider à trouver une solution.
Cdt
Alain