Developpez.com

Club des développeurs et IT pro
Plus de 4 millions de visiteurs uniques par mois

FAQ MS-AccessConsultez toutes les FAQ

Nombre d'auteurs : 140, nombre de questions : 926, dernière mise à jour : 30 mars 2017 

 
OuvrirSommaireFormulairesDonnéesPosition dans le formulaire

Il suffit de régler la propriété Cycle du formulaire (onglet Autres) et mettez-la à "Enregistrement en cours".

Créé le 10 mai 2005  par Petogaz

Il faut vérifier la propriété NewRecord du formulaire.

Créé le 25 octobre 2004  par FRED.G

Se positionner ...

... sur le premier enregistrement :

 
Sélectionnez
DoCmd.GoToRecord , , acFirst

... sur le dernier enregistrement :

 
Sélectionnez
DoCmd.GoToRecord , , acLast

... sur le précédent enregistrement :

 
Sélectionnez
DoCmd.GoToRecord , , acPrevious

... sur l'enregistrement suivant :

 
Sélectionnez
DoCmd.GoToRecord , , acNext

... sur un nouvel enregistrement :

 
Sélectionnez
DoCmd.GoToRecord , , acNewRec
Créé le 1er avril 2004  par Demco

Lien : Comment se positionner sur le premier/dernier/précédent/suivant/nouvel enregistrement d'un sous-formulaire ?
Lien : Comment se déplacer de X enregistrements dans un formulaire ?

Pour cela il faut utiliser le Recordset du sous-formulaire.

Se positionner ...

... sur le premier enregistrement :

 
Sélectionnez

Me.CadreSousFormulaire.Form.Recordset.MoveFirst

... sur le dernier enregistrement :

 
Sélectionnez

Me.CadreSousFormulaire.Form.Recordset.MoveLast

... sur le précédent enregistrement :

 
Sélectionnez

Me.CadreSousFormulaire.Form.Recordset.MovePrevious

... sur l'enregistrement suivant :

 
Sélectionnez

Me.CadreSousFormulaire.Form.Recordset.MoveNext

... sur un nouvel enregistrement :

 
Sélectionnez

Me.CadreSousFormulaire.Form.Recordset.AddNew

... se déplacer de X enregistrements :

 
Sélectionnez

Me.CadreSousFormulaire.Form.Recordset.Move X

où X est un entier positif ou négatif.

Créé le 25 octobre 2004  par Tofalu

Lien : Comment se positionner sur le premier/dernier/précédent/suivant/nouvel enregistrement d'un formulaire dépendant ?

Utilisez la propriété CurrentRecord (voir aide Access).

Créé le 12 mai 2004  par Drosera

Il faut utiliser la propriété SelTop du formulaire dans la procédure Form_Open. Dans cet exemple nous nous placerons sur le dernier enregistrement si le formulaire contient moins de six enregistrements, et sur le cinquième en partant de la fin dans le cas contraire. Ceci sera par exemple utilisé dans un formulaire en mode feuille de données. En effet, si nous nous positionnons sur le dernier enregistrement, seul celui-ci apparaîtra sur le formulaire. Ainsi, se positionner sur le cinquième en partant de la fin nous assure de voir à l'écran au moins les cinq derniers enregistrements.

 
Sélectionnez

Private Sub Form_Open(Cancel As Integer)

Dim lng As Long

' Obtient le nombre d'enregistrements
   lng = Me.RecordsetClone.RecordCount
' Atteint le dernier
   Me.SelTop = lng
' Remonte de 6 enregistrements si cela est possible
   If lng > 5 Then
       Me.SelTop = lng - 5
       End If
End Sub
Créé le 20 novembre 2005  par Drosera

Il suffit dans un premier temps de donner le focus au sous-formulaire, puis dans un second temps de se positionner sur le nouvel enregistrement :

 
Sélectionnez

Me.MonSsFormulaire.SetFocus
DoCmd.RunCommand acCmdRecordsGoToNew
Créé le 20 novembre 2005  par Didier L, Faw

Il faut définir les champs Pères et Fils dans votre contrôle contenant le sous-formulaire :

Champs pères : txtPere
Champs fils : txtFils

Où txtPere est le nom du contrôle du formulaire contenant la valeur qui nous intéresse et où txtFils est le nom du contrôle du sous-formulaire qui doit correspondre à la valeur du formulaire principal.
Par exemple si txtPere contient "1", seuls les enregistrements du sous-formulaire dont txtFils est égal à "1" seront affichés.

Créé le 20 novembre 2005  par FRED.G

Pour cela, il faut utiliser la propriété PercentPosition du Recordset DAO du formulaire :

 
Sélectionnez

Msgbox Me.Recordset.PercentPosition
Créé le 20 novembre 2005  par Tofalu

Pour cela il faut utiliser la propriété Move du Recordset du formulaire.

Exemple pour reculer de dix enregistrements :

 
Sélectionnez

Me.Recordset.Move -10
Créé le 20 novembre 2005  par Tofalu

Lien : Comment se positionner sur le premier/dernier/précédent/suivant/nouvel enregistrement d'un formulaire dépendant ?
Lien : Comment se positionner sur le premier/dernier/précédent/suivant/nouvel enregistrement d'un sous-formulaire ?

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2013 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.