Bonjour tous le monde !
J'aimerais savoir s'il existe un moyen technique en VBA=20
pour effectuer le traitement suivant :
Soit un formulaire de type continu pour lequel les=20
enregistrements sont affich=E9es selon un champ "ordre=20
affichage". Des boutons de commandes "d=E9plac=E9s haut et=20
bas" permettent de changer non pas la position du curseur=20
courant du recordset associ=E9 au formulaire mais effectue=20
le d=E9placement graphique de la ligne s=E9lectionn=E9.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
Salut,
"Henri" J'aimerais savoir s'il existe un moyen technique en VBA pour effectuer le traitement suivant :
Soit un formulaire de type continu pour lequel les enregistrements sont affichées selon un champ "ordre affichage". Des boutons de commandes "déplacés haut et bas" permettent de changer non pas la position du curseur courant du recordset associé au formulaire mais effectue le déplacement graphique de la ligne sélectionné.
Par "déplacement graphique", - tu veux dire que c'est l'orde qui doit se modifier, ou bien - les enregistrements "vu à l'écran" qui doivent se mouvoir dans le sens demandé ?
"Henri"
J'aimerais savoir s'il existe un moyen technique en VBA
pour effectuer le traitement suivant :
Soit un formulaire de type continu pour lequel les
enregistrements sont affichées selon un champ "ordre
affichage". Des boutons de commandes "déplacés haut et
bas" permettent de changer non pas la position du curseur
courant du recordset associé au formulaire mais effectue
le déplacement graphique de la ligne sélectionné.
Par "déplacement graphique",
- tu veux dire que c'est l'orde qui doit se modifier,
ou bien
- les enregistrements "vu à l'écran" qui doivent se mouvoir dans le sens demandé ?
"Henri" J'aimerais savoir s'il existe un moyen technique en VBA pour effectuer le traitement suivant :
Soit un formulaire de type continu pour lequel les enregistrements sont affichées selon un champ "ordre affichage". Des boutons de commandes "déplacés haut et bas" permettent de changer non pas la position du curseur courant du recordset associé au formulaire mais effectue le déplacement graphique de la ligne sélectionné.
Par "déplacement graphique", - tu veux dire que c'est l'orde qui doit se modifier, ou bien - les enregistrements "vu à l'écran" qui doivent se mouvoir dans le sens demandé ?
An fait , il s'agirait de voir les enregistrements qui se déplace au niveau de l'affichage !
3stone
Salut,
a écrit An fait , il s'agirait de voir les enregistrements qui se déplace au niveau de l'affichage !
Si la manip qui consiste à placer le curseur dans un champ et de "jouer" avec les touches "curseur haut" et "curseur bas" ne te convient pas, il faut bricoler sois-même avec du code VBA. Car rien n'existe "de base" pour faire cela.
Le principe:
-Mettre l'apercu des touches à oui dans le formulaire -Dans l'événement "Sur touche appuyée" vérifier si le KeyCode est vbKeyPgUp ou vbKeyPgDown dans le cas du PageDown : -placer le focus sur le premier enregistrement visible -déplacer le bookmark du recordsetclone du nombre d'enregistrements visible à l'écran (ce qui fait "remonter" de un) -synchroniser avec le bookmark du formulaire -annuler le keycode vbKeyPgDown dans le cas du PageUp : -placer focus -déplacer le bookmark de -1 -synchroniser avec le bookmark du formulaire -annuler le keycode vbKeyPgUp
A cela, il faut ajouter les vérifications pour les bornes hautes et basses et les adaptations lorsqu'il s'agit d'un sous-formulaire...
Il faut que cela soit un réel "plus" pour l'application, sinon... ;-)
<anonymous@discussions.microsoft.com> a écrit
An fait , il s'agirait de voir les enregistrements qui se
déplace au niveau de l'affichage !
Si la manip qui consiste à placer le curseur dans un champ
et de "jouer" avec les touches "curseur haut" et "curseur bas"
ne te convient pas, il faut bricoler sois-même avec du code
VBA. Car rien n'existe "de base" pour faire cela.
Le principe:
-Mettre l'apercu des touches à oui dans le formulaire
-Dans l'événement "Sur touche appuyée" vérifier si le KeyCode
est vbKeyPgUp ou vbKeyPgDown
dans le cas du PageDown :
-placer le focus sur le premier enregistrement visible
-déplacer le bookmark du recordsetclone du nombre d'enregistrements
visible à l'écran (ce qui fait "remonter" de un)
-synchroniser avec le bookmark du formulaire
-annuler le keycode vbKeyPgDown
dans le cas du PageUp :
-placer focus
-déplacer le bookmark de -1
-synchroniser avec le bookmark du formulaire
-annuler le keycode vbKeyPgUp
A cela, il faut ajouter les vérifications pour les bornes hautes et basses
et les adaptations lorsqu'il s'agit d'un sous-formulaire...
Il faut que cela soit un réel "plus" pour l'application, sinon... ;-)
a écrit An fait , il s'agirait de voir les enregistrements qui se déplace au niveau de l'affichage !
Si la manip qui consiste à placer le curseur dans un champ et de "jouer" avec les touches "curseur haut" et "curseur bas" ne te convient pas, il faut bricoler sois-même avec du code VBA. Car rien n'existe "de base" pour faire cela.
Le principe:
-Mettre l'apercu des touches à oui dans le formulaire -Dans l'événement "Sur touche appuyée" vérifier si le KeyCode est vbKeyPgUp ou vbKeyPgDown dans le cas du PageDown : -placer le focus sur le premier enregistrement visible -déplacer le bookmark du recordsetclone du nombre d'enregistrements visible à l'écran (ce qui fait "remonter" de un) -synchroniser avec le bookmark du formulaire -annuler le keycode vbKeyPgDown dans le cas du PageUp : -placer focus -déplacer le bookmark de -1 -synchroniser avec le bookmark du formulaire -annuler le keycode vbKeyPgUp
A cela, il faut ajouter les vérifications pour les bornes hautes et basses et les adaptations lorsqu'il s'agit d'un sous-formulaire...
Il faut que cela soit un réel "plus" pour l'application, sinon... ;-)