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

Monter/descendre

3 réponses
Avatar
JPG
Bonjour,

Je cherche une manière simple de monter et descendre des enregistrements
dans un form. Un peu de la même manière que l'option "Ordre de tabulation"
dans les propriétés d'un formaire.

Cela vous paraît-il possible ?

Merci beaucoup pour votre aide.

3 réponses

Avatar
Argyronet
Bonjour,

Simple ??? Je ne sais pas mais cela fonctionne :

Vous pouvez aussi solliciter les touches PgUp / PgDown en + des <- et ->
avec un pas de 10 enregistrements (Offset)

Code :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Select Case KeyCode
Case 34: DoCmd.GoToRecord , , acNext, 10 'PGDOWN
Case 40: DoCmd.GoToRecord , , acNext, 1'DOWN
Case 33: DoCmd.GoToRecord , , acPrevious, 10 'PGUP
Case 38: DoCmd.GoToRecord , , acPrevious, 1 'UP
End Select
End Sub


P.S. Il faut ne pas omettre de définir la propriété Aperçu des touches à
True, sans quoi ton code ne marchera pas.

--
Argy
http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Bonjour,

Je cherche une manière simple de monter et descendre des enregistrements
dans un form. Un peu de la même manière que l'option "Ordre de tabulation"
dans les propriétés d'un formaire.

Cela vous paraît-il possible ?

Merci beaucoup pour votre aide.


Avatar
JPG
Merci pour votre réponse...

... mais, peut-être me suis-je mal exprimer.

J'entendais par "monter/descendre" faire passer l'enregistrement du dessus
en dessous et vice et versa.

J'aurais aimé profité du selecteur pour faire passer le 4ème enreg vers le
5ème et que le 5ème passe en position 4 (et vice et versa aussi).

Est-ce possible ?

Merci encore !


Bonjour,

Simple ??? Je ne sais pas mais cela fonctionne :

Vous pouvez aussi solliciter les touches PgUp / PgDown en + des <- et ->
avec un pas de 10 enregistrements (Offset)

Code :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Select Case KeyCode
Case 34: DoCmd.GoToRecord , , acNext, 10 'PGDOWN
Case 40: DoCmd.GoToRecord , , acNext, 1'DOWN
Case 33: DoCmd.GoToRecord , , acPrevious, 10 'PGUP
Case 38: DoCmd.GoToRecord , , acPrevious, 1 'UP
End Select
End Sub


P.S. Il faut ne pas omettre de définir la propriété Aperçu des touches à
True, sans quoi ton code ne marchera pas.

--
Argy
http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Bonjour,

Je cherche une manière simple de monter et descendre des enregistrements
dans un form. Un peu de la même manière que l'option "Ordre de tabulation"
dans les propriétés d'un formaire.

Cela vous paraît-il possible ?

Merci beaucoup pour votre aide.




Avatar
Argyronet
Oui, la clareté de la demande m'a fait dériver ;o)

Possible... hummm ?
Tout est toujours possible, tout dépend comment est structurée votre base
car cela peut poser un problème avec les enregistrements connexes.

Imaginez un enregistrement N°5 qui devient N°4 sous entend que vous changez
son ID qui est en général la clé primaire qui elle-même peut avoir une ou
plusieurs relations avec d'autre tables, vous voyez le topo ???
Donc vivement déconseillé !

Je vous suggère une manière simple :
Vous pouvez rajouter un champ dans la table qui se nommerait Ordre.
De là, vous entrez les valeurs souhaitées de 1 à n de façon incrémentielle
et dans votre formulaire, faire en sorte que la source soit une requête triée
sur ce champ...
Là, vous aurez les enregistrements dans l'ordre voulu.
Je sais ce n'est pas top mais c'est une manière simple.

Il y a d'autres solutions mais plus complexes...
--
Argy
http://argyronet.developpez.com/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Merci pour votre réponse...

... mais, peut-être me suis-je mal exprimer.

J'entendais par "monter/descendre" faire passer l'enregistrement du dessus
en dessous et vice et versa.

J'aurais aimé profité du selecteur pour faire passer le 4ème enreg vers le
5ème et que le 5ème passe en position 4 (et vice et versa aussi).

Est-ce possible ?

Merci encore !


Bonjour,

Simple ??? Je ne sais pas mais cela fonctionne :

Vous pouvez aussi solliciter les touches PgUp / PgDown en + des <- et ->
avec un pas de 10 enregistrements (Offset)

Code :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Select Case KeyCode
Case 34: DoCmd.GoToRecord , , acNext, 10 'PGDOWN
Case 40: DoCmd.GoToRecord , , acNext, 1'DOWN
Case 33: DoCmd.GoToRecord , , acPrevious, 10 'PGUP
Case 38: DoCmd.GoToRecord , , acPrevious, 1 'UP
End Select
End Sub


P.S. Il faut ne pas omettre de définir la propriété Aperçu des touches à
True, sans quoi ton code ne marchera pas.

--
Argy
http://argyronet.developpez.com/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Bonjour,

Je cherche une manière simple de monter et descendre des enregistrements
dans un form. Un peu de la même manière que l'option "Ordre de tabulation"
dans les propriétés d'un formaire.

Cela vous paraît-il possible ?

Merci beaucoup pour votre aide.