Access
 sql >> Baza danych >  >> RDS >> Access

Jak sprawdzić, czy użytkownik kliknął [Anuluj] w InputBox w VBA?

Czy wiesz, że można odróżnić użytkownika klikającego „OK” w polu wprowadzania od „Anuluj”, nawet jeśli nie wprowadził żadnego tekstu?

Rozważ następujący przykładowy kod:

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

Oto kod testowy w akcji:

Jeśli interesuje Cię, dlaczego to działa, polecam następujące pytanie dotyczące stackoverflow:Jakie są korzyści i zagrożenia związane z używaniem StrPtr w VBA? Obie odpowiedzi, które otrzymały najwięcej głosów (od użytkowników Cominternu i GSerg) są warte przeczytania, aby uzyskać podstawową wiedzę.

Odniesienia zewnętrzne

Funkcja InputBox (Visual Basic for Applications)Microsoft Docso365devxJakie są korzyści i zagrożenia związane z używaniem funkcji StrPtr w VBA? Szukając sposobu na przetestowanie, gdy użytkownik anuluje InputBox, natknąłem się na funkcję StrPtr. Uważam, że sprawdza, czy zmienna kiedykolwiek miała przypisaną wartość i zwraca zero, jeśli nigdy jej nie było Przepełnienie stosuChrisB


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instrukcje DefType w języku VBA:ciemna strona kompatybilności wstecznej

  2. STUDIUM PRZYPADKU:ARKWARE MS ACCESS CRM

  3. Jak zarządcy nieruchomości mogą poprawić wydajność dzięki bazie danych

  4. Co to znaczy „normalizować” bazę danych?

  5. Jak zmienić kolor tła nagłówków formularza w programie Access 2016