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

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #18715091
Salut,


"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"


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)
If
Le #18718021
Un grand merci à toi.



3stone a écrit :
Salut,


"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"


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



If
Le #18718011
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" | 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



3stone
Le #18721431
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)
If
Le #18722611
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
| >



Publicité
Poster une réponse
Anonyme