Recherche
Recherche
Les mémos
Je débute...
Visites

 996166 visiteurs

 6 visiteurs en ligne

Roulette ou pas roulette ?

Dans un formulaire en mode unique ou continu, la roulette de la souris permet de visionner rapidement les enregistrements.

Le problème survient lorsqu'un enregistrement se trouve en saisie ou en édition. Tout mouvement de la roulette fait passer sur un enregistrement voisin en sauvant celui en saisie. Ce dernier n'est peut être pas complet ou pire, perturbe dangereusement l'utilisateur non averti.

On se souhaiterai une simple commande pour inhiber l'effet de cette roulette, mais elle n'existe pas.

On aura donc recours à quelques lignes de code pour retrouver un fonctionnement plus sain.

- au dessus de la première Sub, on déclare une variable publique

Option Compare Database
Option Explicit
'/ controle pour défilement

Public MouseWheelCancel As Boolean

- dans l'événement "Sur roulement de la souris" on met cette variable à Vrai

Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)

MouseWheelCancel = True

End Sub

 - dans l'événement "Avant MAJ", on annule et l'on remet la variable à Faux

Private Sub Form_BeforeUpdate(Cancel As Integer)

    Cancel = MouseWheelCancel

   MouseWheelCancel = False

End Sub


Catégorie : Les mémos - Formulaires
Page lue 3553 fois