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

Inspecter la fin d'une valeur de variable longue dans VBA

Vous savez probablement que vous pouvez survoler une variable pendant que VBA est en mode pause pour inspecter son contenu. La valeur de la variable apparaîtra dans une info-bulle sous la variable.

J'utiliserai le code suivant dans mes exemples ci-dessous :

Sub TestVariableInspection()
    Dim s As String
    s = "Short string"
    Stop
    
    Dim x As String
    x = "12345678 1" & _
        "12345678 2" & _
        "12345678 3" & _
        "12345678 4" & _
        "12345678 5" & _
        "12345678 6" & _
        "12345678 7" & _
        "12345678 8" & _
        "12345678 9" & _
        "12345678 0"
    Stop
End Sub

Le cas simple :une chaîne courte

Si j'exécute cette routine au premier Stop instruction, la longueur de la chaîne dans la variable s est suffisamment petit pour que tout son contenu soit affiché :

Chaîne longue :le côté droit de la valeur est tronqué

Avec une longue chaîne, le côté droit de la valeur est tronqué. VBA affiche des points de suspension (... ) pour indiquer qu'il y a des caractères supplémentaires. Dans la capture d'écran ci-dessous, seuls les 71 premiers caractères sont affichés.

[Ctrl] + {Hover} :le côté gauche de la valeur est tronqué

Parfois, la partie importante de la variable est ce qui apparaît à droite de la valeur. C'est souvent le cas, par exemple, lorsqu'il s'agit de chemins de fichiers complets. Généralement, vous serez plus intéressé par le nom du fichier que par la lettre du lecteur et les dossiers racine.

Pour afficher le côté droit d'une valeur de variable longue, maintenez la touche [Ctrl] enfoncée avant de survoler la variable avec le pointeur de la souris :

Dans cette capture d'écran, seuls les 70 derniers caractères sont affichés dans l'info-bulle.

En passant, la différence dans le nombre de caractères affichés (71 contre 70) me fait penser que la restriction est basée sur la largeur de l'info-bulle plutôt que sur le nombre de caractères dans la valeur.