Access
 sql >> база данни >  >> RDS >> Access

Как да проверите дали потребител е щракнал върху [Отказ] на InputBox във VBA

Знаете ли, че е възможно да се направи разлика между потребител, който щракне върху „OK“ на InputBox от „Отказ“, дори ако не е въвел никакъв текст?

Помислете за следния примерен код:

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

Ето тестовия код в действие:

Ако се интересувате защо това работи, препоръчвам следния въпрос относно stackoverflow:Какви са ползите и рисковете от използването на StrPtr във VBA? И двата отговора с най-високо гласуване (от потребителите Comintern и GSerg) си струва да прочетете за основни познания.

Външни препратки

Функция InputBox (Visual Basic за приложения)Microsoft Docso365devxКакви са ползите и рисковете от използването на функцията StrPtr във VBA? Докато търсех начин да тествам кога потребител отменя InputBox, попаднах на функцията StrPtr. Вярвам, че проверява дали на дадена променлива някога е била присвоена стойност и връща нула, ако никога не е била Stack OverflowChrisB


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изберете удобна за потребителя база данни за вашия бизнес

  2. 25 преки пътища на Microsoft Access за спестяване на време в таблици в изглед на лист с данни

  3. Как да покажете или разкриете лентата с инструменти за бърз достъп в Word, Excel и PowerPoint

  4. Кога е време за надстройка до SQL?

  5. 5 съвета и трика за Microsoft Access