La difficulté avec InputBoxes

Je suis actuellement en train de travailler avec InputBoxes dans MS Access VBA. Je suis l'examen de la validation et de la manipulation de la façon dont l'utilisateur interagit avec l'InputBox à travers appuyant sur le bouton OK ou Annuler.

Corrigez-moi si je me trompe, mais InputBoxes pouvez retourner n'importe quel type de données et, par défaut, retourner une chaîne de caractères? Par exemple:

Dim userInputValue As String

'Text to display, Title, Default Value
userInputValue = InputBox("Please enter a #", "Determine Limit", 10000)

If userInputValue = "" Then
    MsgBox ("You pressed the cancel button...")
End If

Si l'utilisateur appuie sur le bouton Annuler cette fonctionnera correctement.

Mais quand j'échange ce pour une valeur entière comme suit:

Dim userInputValue As Integer
'Text to display, Title, Default Value
userInputValue = InputBox("Please enter a #", "Determine Limit", 10000)

If userInputValue = 0 Then
    MsgBox ("You pressed the cancel button...")
End If

Je reçois un Type Mismatch: Runtime Error '13' Pourquoi est-ce? Quand je déboguer le code et regardez ce qu'il est retourné, je trouve que la userInputValue est en fait 0, qui est ce que je vais vérifier. Donc, le problème est que la méthode InputBox est en fait de retourner une chaîne de caractères?

OriginalL'auteur Katana24 | 2013-04-17