Access
 sql >> Base de données >  >> RDS >> Access

Beaux blocs de passe-partout

Dans mon article, The ArrowKeyNav Routine, j'ai présenté un Sub que vous pouvez utiliser pour remplacer la gestion par défaut des touches fléchées haut et bas sur un formulaire continu. Le problème avec la routine telle que je l'ai présentée est que vous devez l'appeler à partir de chaque contrôle où vous souhaitez remplacer la fonctionnalité des touches fléchées.

Voici à quoi cela pourrait ressembler dans un module de formulaire :

Private Sub cbSupplierID_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift
End Sub

Private Sub chkDiscontinued_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift 
End Sub

Private Sub tbID_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift
End Sub

Private Sub tbListPrice_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift
End Sub

Private Sub tbProductCode_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav vbKeyDown, Shift
End Sub

Private Sub tbProductName_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift
End Sub

Il existe plusieurs façons de réduire la quantité de code passe-partout dont nous avons besoin dans cette situation, mais nous allons mettre cela de côté pour les besoins de cet article. Donc, pour les besoins de la discussion, supposons simplement qu'il n'y a aucun moyen de réduire la quantité de code. Compte tenu de cette contrainte, comment pouvons-nous augmenter la lisibilité du code ci-dessus ?

Joindre des lignes de code avec le caractère deux-points

Nous pouvons joindre plusieurs lignes de code en utilisant le caractère deux-points (: ).

est utilisé comme élément terminal de la grammaire syntaxique pour nommer le token qui agit comme un marqueur de "fin d'instruction". En général, la fin de l'instruction est marquée soit par un soit par un caractère deux-points .

Améliorer la lisibilité en joignant les lignes

Cette technique est quelque chose que vous devez utiliser avec précaution. Mais, s'il est utilisé judicieusement, il peut augmenter la lisibilité de votre code.

Dans l'exemple de code ci-dessus, chaque Sub appelle exactement le même code :

ArrowKeyNav KeyCode, Shift

En fait, ce n'est pas vrai. Si vous regardez attentivement, vous verrez que le tbProductCode_KeyDown() la routine passe vbKeyDown au lieu de KeyCode comme premier argument.

Cependant, cette différence est facile à manquer en utilisant le formatage VBA standard :

Faire en sorte que le mauvais code semble faux

Si nous joignons les lignes à l'aide de deux-points et ajustons les espaces afin que tous nos appels à ArrowKeyNav sont alignés à gauche – alors l'incohérence qui se fond au-dessus ressort comme un pouce endolori dans le code ci-dessous :

Vu dans le contexte des fonctions normales et des sous-programmes, notre bloc de code passe-partout se démarque clairement. Cette distinction permet d'augmenter le rapport signal sur bruit de notre code :