Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur d'exécution 94 - Utilisation incorrecte de Null

5 réponses
Avatar
If
Bonjour,

J'ai la procédure ci-dessous qui me permet de faire un check sur le
contenu de mon textbox NumeroClient.

Si le numéro client commence par 047, 048 ou 049, la zone texte doit
comporter 10 chiffres.
Par contre si le numéro du client débute par d'autres chiffres, le
nombre de chiffre doit être 9.

Cette procédure fonctionne mais, lorsque le textbox est corrigé en le
vidant, j'obtiens le message "Erreur d'exécution 94 - Utilisation
incorrecte de Null"


Déjà merci pour votre lumière.

If

------------------------------------------------------------------
Private Sub NumeroClient_AfterUpdate()
If Val(Left(Me!NumeroClient, 3)) >= 47 And Val(Left(Me!NumeroClient, 3))
<= 49 Then
If Len(Me.NumeroClient) < 10 Then
MsgBox "Le Numéro est TROP COURT!" _
& vbNewLine & "Vérifiez l'introduction.", vbInformation,
"Vérification"
End If
If Len(Me.NumeroClient) > 10 Then
MsgBox "Le Numéro est TROP LONG!" _
& vbNewLine & "Vérifiez l'introduction.", vbInformation,
"Vérification"
End If
End If

If Not Val(Left(Me!NumeroClient, 3)) >= 47 And Val(Left(Me!NumeroClient,
3)) <= 49 Then
If Len(Me.NumeroClient) < 9 Then
MsgBox "Le Numéro est TROP COURT!" _
& vbNewLine & "Vérifiez l'introduction.", vbInformation,
"Vérification"
End If
If Len(Me.NumeroClient) > 9 Then
MsgBox "Le Numéro est TROP LONG!" _
& vbNewLine & "Vérifiez l'introduction.", vbInformation,
"Vérification"
End If
End If
End Sub
------------------------------------------------------------------

5 réponses

Avatar
3stone
Salut,


"If" a écrit dans le message de news: 499dddf2$0$2865$
| Bonjour,
|
| J'ai la procédure ci-dessous qui me permet de faire un check sur le
| contenu de mon textbox NumeroClient.
|
| Si le numéro client commence par 047, 048 ou 049, la zone texte doit
| comporter 10 chiffres.
| Par contre si le numéro du client débute par d'autres chiffres, le
| nombre de chiffre doit être 9.
|
| Cette procédure fonctionne mais, lorsque le textbox est corrigé en le
| vidant, j'obtiens le message "Erreur d'exécution 94 - Utilisation
| incorrecte de Null"


Il faut placer le code sur "avant mise à jour" pour que tu puisse annuller
lorsque la saisie est incorrecte...


Dim sNumClient As String
sNumClient = NumeroClient

If Not IsNumeric(sNumClient) Then
'non numérique
Cancel = True
Else
Select Case Left(sNumClient, 3)
Case "047", "048", "049"
If Len(sNumClient) <> 10 Then
MsgBox "10 chiffres obligatoirement"
Cancel = True
End If
Case Else
If Len(sNumClient) <> 9 Then
MsgBox "9 chiffres obligatoirement"
End If
End Select

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
If
Un grand merci à toi.



3stone a écrit :
Salut,


"If" a écrit dans le message de news: 499dddf2$0$2865$
| Bonjour,
|
| J'ai la procédure ci-dessous qui me permet de faire un check sur le
| contenu de mon textbox NumeroClient.
|
| Si le numéro client commence par 047, 048 ou 049, la zone texte doit
| comporter 10 chiffres.
| Par contre si le numéro du client débute par d'autres chiffres, le
| nombre de chiffre doit être 9.
|
| Cette procédure fonctionne mais, lorsque le textbox est corrigé en le
| vidant, j'obtiens le message "Erreur d'exécution 94 - Utilisation
| incorrecte de Null"


Il faut placer le code sur "avant mise à jour" pour que tu puisse annuller
lorsque la saisie est incorrecte...


Dim sNumClient As String
sNumClient = NumeroClient

If Not IsNumeric(sNumClient) Then
'non numérique
Cancel = True
Else
Select Case Left(sNumClient, 3)
Case "047", "048", "049"
If Len(sNumClient) <> 10 Then
MsgBox "10 chiffres obligatoirement"
Cancel = True
End If
Case Else
If Len(sNumClient) <> 9 Then
MsgBox "9 chiffres obligatoirement"
End If
End Select



Avatar
If
Re

j'ai encore le message d'erreur 94
Le procédcure s'arrête ici: sNumClient = NumeroClient

Et ce uniquement lorsque je corrige le textbox en le vidant (Backspace
ou Delete)



3stone a écrit :
Salut,


"If" a écrit dans le message de news: 499dddf2$0$2865$
| Bonjour,
|
| J'ai la procédure ci-dessous qui me permet de faire un check sur le
| contenu de mon textbox NumeroClient.
|
| Si le numéro client commence par 047, 048 ou 049, la zone texte doit
| comporter 10 chiffres.
| Par contre si le numéro du client débute par d'autres chiffres, le
| nombre de chiffre doit être 9.
|
| Cette procédure fonctionne mais, lorsque le textbox est corrigé en le
| vidant, j'obtiens le message "Erreur d'exécution 94 - Utilisation
| incorrecte de Null"


Il faut placer le code sur "avant mise à jour" pour que tu puisse annuller
lorsque la saisie est incorrecte...


Dim sNumClient As String
sNumClient = NumeroClient

If Not IsNumeric(sNumClient) Then
'non numérique
Cancel = True
Else
Select Case Left(sNumClient, 3)
Case "047", "048", "049"
If Len(sNumClient) <> 10 Then
MsgBox "10 chiffres obligatoirement"
Cancel = True
End If
Case Else
If Len(sNumClient) <> 9 Then
MsgBox "9 chiffres obligatoirement"
End If
End Select



Avatar
3stone
Salut,

"If"
| j'ai encore le message d'erreur 94
| Le procédcure s'arrête ici: sNumClient = NumeroClient
|
| Et ce uniquement lorsque je corrige le textbox en le vidant (Backspace
| ou Delete)


Et tu le laisses vide ou tu es sensé le renseigner ?


Si non, tu teste le Null...


if IsNull(NumeroClient) Then
Cancel = True '/ => s'il doit être renseigné
Exit sub
end if


puis la suite...


| > Dim sNumClient As String
| > sNumClient = NumeroClient
| >
| > If Not IsNumeric(sNumClient) Then
| > 'non numérique
| > Cancel = True
| > Else
| > Select Case Left(sNumClient, 3)
| > Case "047", "048", "049"
| > If Len(sNumClient) <> 10 Then
| > MsgBox "10 chiffres obligatoirement"
| > Cancel = True
| > End If
| > Case Else
| > If Len(sNumClient) <> 9 Then
| > MsgBox "9 chiffres obligatoirement"
| > End If
| > End Select
| >

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
If
Bonsoir,

C'est tout bon maintenant.
Merci à toi.

If



3stone a écrit :
Salut,

"If"
| j'ai encore le message d'erreur 94
| Le procédcure s'arrête ici: sNumClient = NumeroClient
|
| Et ce uniquement lorsque je corrige le textbox en le vidant (Backspace
| ou Delete)


Et tu le laisses vide ou tu es sensé le renseigner ?


Si non, tu teste le Null...


if IsNull(NumeroClient) Then
Cancel = True '/ => s'il doit être renseigné
Exit sub
end if


puis la suite...


| > Dim sNumClient As String
| > sNumClient = NumeroClient
| >
| > If Not IsNumeric(sNumClient) Then
| > 'non numérique
| > Cancel = True
| > Else
| > Select Case Left(sNumClient, 3)
| > Case "047", "048", "049"
| > If Len(sNumClient) <> 10 Then
| > MsgBox "10 chiffres obligatoirement"
| > Cancel = True
| > End If
| > Case Else
| > If Len(sNumClient) <> 9 Then
| > MsgBox "9 chiffres obligatoirement"
| > End If
| > End Select
| >