Salut à tous
je souhaiterai savoir s'il est possible de déplacer une ligne d'informations (donc un enregistrement) dans un formulaire?
Merci de votre aide
Salut à tous
je souhaiterai savoir s'il est possible de déplacer une ligne d'informations (donc un enregistrement) dans un formulaire?
Merci de votre aide
bonjour,
le déplacer selon quel critère ? La solution est fonction du problème...
Philippe
je souhaiterai prendre deux enregistrement et les inverser
est-ce possible?
Merci de votre aide
s'il y a 2 enregistrements au maximum, c'est facile en inversant l'ordre d'affichage.
s'il y a plus de 2 enregistrements affichés, il faut modifier individuellement leur ordre d'apparition, par exemple en ajoutant une colonne MonOrdre dans votre table et l'incrémenter de 1 en 1 pour chaque enregistrement et trier les enregistrement par ce champ.
Ensuite, dans votre formulaire, ajouter 2 boutons par enregistrement (flèche haut et flèche bas), et l'utilisateur en cliquant sur le bouton fait monter ou descendre l'enr. concerné via un petit code VBA qui swappe le n° de 2 enregistrements (en cours et suivant ou en cours et précédent) suivi d'un requery pour afficher la modification.
voilà, si quelqu'un a plus simple...
Philippe
Comment faire pour inverser l'ordre d'affichage de 2 enregistrements
Merci de ton aide
bonjour,
a première vue je ferai comme ceci :
a) dans l'en-tête de mon formulaire continu j'ajouterai une case à cocher que je nomme InvTri;
b) sur l'évènement <Sur Chargement> de mon formulaire je charge le tri initial par VBA;
c) sur l'évènement <Sur Click> de la case à cocher créée je mets un code VBA pour inverser le tri en cours.
L'utilisateur en cliquant sur la case à cocher va ainsi inverser l'ordre des 2 enregistrements.
voici le code du formulaire :
Voilà en gros le principe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Option Compare Database Option Explicit ' déclare une constante globale au formulaire Private Const gcsChampTri As String = "[MON_CHAMP_QUI_TRI]" ' Evènement de chargement du formulaire Private Sub Form_Load() ' Charge le nom du champ pour appliquer le tri sur le formulaire Me.OrderBy = gcsChampTri ' Active le tri Me.OrderByOn = True End Sub ' Evènement suite au clique sur la case à cocher Private Sub InvTri_Click() ' Déclare une constante pour tri DESCendant Const csDesc As String = " DESC" si le tri en cours n'est pas descendant (puisque orderby ne contient que le nom du champ) If Me.OrderBy = gcsChampTri Then ' on charge le tri inversé Me.OrderBy = gcsChampTri & csDesc Else ' si le tri inversé est actif, on charge un tri ASCendant Me.OrderBy = gcsChampTri End If ' on demande enfin de réanalyser la requête du formulaire avec le tri Me.Requery End Sub
Philippe
Partager