Access
 sql >> Datenbank >  >> RDS >> Access

Untersuchen des Endes eines Long-Variablenwerts in VBA

Sie wissen wahrscheinlich, dass Sie den Mauszeiger über eine Variable bewegen können, während sich VBA im Unterbrechungsmodus befindet, um ihren Inhalt zu überprüfen. Der Wert der Variablen wird in einem Tooltip unterhalb der Variablen angezeigt.

Ich werde den folgenden Code in meinen Beispielen unten verwenden:

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

Der einfache Fall:Ein kurzer String

Wenn ich diese Routine bis zum ersten Stop laufen lasse -Anweisung, die Länge des Strings in der Variablen s klein genug ist, dass der gesamte Inhalt angezeigt wird:

Lange Zeichenfolge:Rechte Seite des Werts wird abgeschnitten

Bei einer langen Zeichenfolge wird die rechte Seite des Werts abgeschnitten. VBA zeigt Auslassungspunkte an (... ) um anzuzeigen, dass zusätzliche Zeichen vorhanden sind. Im Screenshot unten werden nur die ersten 71 Zeichen angezeigt.

[Strg] + {Hover}:Linke Seite des Werts wird abgeschnitten

Manchmal ist der wichtige Teil der Variablen das, was auf der rechten Seite des Werts erscheint. Dies ist beispielsweise häufig der Fall, wenn es um vollständige Dateipfade geht. Im Allgemeinen interessiert Sie eher der Dateiname als der Laufwerksbuchstabe und die Stammordner.

Um die rechte Seite eines langen Variablenwerts anzuzeigen, halten Sie die [Strg]-Taste gedrückt, bevor Sie den Mauszeiger über die Variable bewegen:

In diesem Screenshot werden nur die letzten 70 Zeichen im Tooltip angezeigt.

Nebenbei bemerkt, der Unterschied in der Anzahl der angezeigten Zeichen (71 vs. 70) lässt mich vermuten, dass die Beschränkung auf der Breite des Tooltips und nicht auf der Anzahl der Zeichen im Wert basiert.