sql >> Databáze >  >> RDS >> Access

Jak zkontrolovat, zda uživatel kliknul na [Storno] na InputBox ve VBA

Věděli jste, že je možné rozlišit mezi kliknutím uživatele na „OK“ na InputBox a na „Zrušit“, i když nezadal žádný text?

Zvažte následující ukázkový kód:

Sub InputBoxTest()
    Dim Result As String
    
    Result = InputBox("Leave this box blank")
    If StrPtr(Result) = 0 Then
        Debug.Print "User clicked [Cancel]"
    ElseIf Len(Result) = 0 Then
        Debug.Print "User clicked [OK]"
    Else
        Debug.Print "User can't follow instructions"
    End If
    
End Sub

Zde je testovací kód v akci:

Pokud vás zajímá, proč to funguje, doporučuji následující otázku na stackoverflow:Jaké jsou výhody a rizika používání StrPtr ve VBA? Obě odpovědi s nejvyšším hlasováním (od uživatelů Cominterna a GSerg) stojí za přečtení pro základní znalosti.

Externí reference

Funkce InputBox (Visual Basic for Applications)Microsoft Docso365devx Jaké jsou výhody a rizika používání funkce StrPtr ve VBA? Při hledání způsobu, jak otestovat, když uživatel zruší InputBox, jsem narazil na funkci StrPtr. Věřím, že zkontroluje, zda byla proměnné někdy přiřazena hodnota, a vrátí nulu, pokud nikdy nebyla Stack OverflowChrisB


  1. Co je to porovnávací operátor?

  2. podporuje adaptér rails postgres ssl?

  3. PostgreSQL agent opět ve výboru SQL Standard

  4. MySQL odstraňuje duplicitní záznamy