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

erreur d exécution 94

6 réponses
Avatar
MULLER
bonjour,

Dans une requête je demande d'entrer le numéro de dossier via le clavier.

Si l'opérateur tape un numéro invalide ( c a d que la requête ne trouve
aucun enregistrement ) j' ai le message d'erreur suivant:
Visual Basic
erreur d'exécution '94'
utilisation incorrecte de Null.

Comment récupérer cette erreur autrement que par le message de microsoft ?

merci

6 réponses

Avatar
MULLER
Le 6/12/2012 19:16, MULLER a écrit :
bonjour,

Dans une requête je demande d'entrer le numéro de dossier via le clavier.

Si l'opérateur tape un numéro invalide ( c a d que la requête ne trouve
aucun enregistrement ) j' ai le message d'erreur suivant:
Visual Basic
erreur d'exécution '94'
utilisation incorrecte de Null.

Comment récupérer cette erreur autrement que par le message de microsoft ?

merci



Cette erreur a lieu dans la routine Form_Open() dans laquelle je dois
récupérer une variable.
Avatar
db
Le 06/12/2012 20:50, MULLER a écrit :
Le 6/12/2012 19:16, MULLER a écrit :
bonjour,

Dans une requête je demande d'entrer le numéro de dossier via le clavier.

Si l'opérateur tape un numéro invalide ( c a d que la requête ne trouve
aucun enregistrement ) j' ai le message d'erreur suivant:
Visual Basic
erreur d'exécution '94'
utilisation incorrecte de Null.

Comment récupérer cette erreur autrement que par le message de
microsoft ?

merci



Cette erreur a lieu dans la routine Form_Open() dans laquelle je dois
récupérer une variable.




Peut-être qu'en donnant ici le contenu (même partiel) de la routine, ça
permettrait d'imaginer des éléments de réponse...

db
Avatar
MULLER
Le 6/12/2012 22:55, db a écrit :
Le 06/12/2012 20:50, MULLER a écrit :
Le 6/12/2012 19:16, MULLER a écrit :
bonjour,

Dans une requête je demande d'entrer le numéro de dossier via le
clavier.

Si l'opérateur tape un numéro invalide ( c a d que la requête ne trouve
aucun enregistrement ) j' ai le message d'erreur suivant:
Visual Basic
erreur d'exécution '94'
utilisation incorrecte de Null.

Comment récupérer cette erreur autrement que par le message de
microsoft ?

merci



Cette erreur a lieu dans la routine Form_Open() dans laquelle je dois
récupérer une variable.




Peut-être qu'en donnant ici le contenu (même partiel) de la routine, ça
permettrait d'imaginer des éléments de réponse...

db



Public DOSSIERNUMERO As Long

Private Sub Form_Open(Cancel As Integer)
'-------------------------------------


' garder ce numero en mémoire
'DOSSIERNUMERO = Me.NUMERO_DE_DOSSIER.Value

End Sub

comme la requête n a rien trouvé 'Me.NUMERO_DE_DOSSIER.Value' est Null
Avatar
Gloops
MULLER a écrit, le 07/12/2012 19:24 :
Public DOSSIERNUMERO As Long

Private Sub Form_Open(Cancel As Integer)
'-------------------------------------


' garder ce numero en mémoire
'DOSSIERNUMERO = Me.NUMERO_DE_DOSSIER.Value

End Sub

comme la requête n a rien trouvé 'Me.NUMERO_DE_DOSSIER.Value' est Null




If IsNull(NUMERO_DE_DOSSIER) Then
MsgBox "Attention, numéro de dossier non saisi"
DoCmd.Close acForm, Me.Name
Else
DOSSIERNUMERO = NUMERO_DE_DOSSIER
End IF


Je verrais bien faire la saisie du numéro de dossier dans un autre
formulaire.

Sur la zone de saisie, mettre une procédure événementielle sur
changement, où on rendra le bouton accessible si le numéro n'est pas
nul, et on le refera disparaître (ou on le désactivera) si le numér o
vient à être à nouveau nul. Bien sûr, il convient de se demander si
c'est le texte saisi, qui doit être non nul ou différent de chaîne vide,
ou sa conversion numérique qui doit être différente de zéro.

Et le bouton ouvrira le formulaire d'exploitation du dossier, avec en
OpenArgs le numéro de dossier.


Alors un texte non nul et différent de chaîne vide, ça donne :

Nz(strNumDossier, "") <> ""


Ce qui ne dispense pas, bien sûr, de placer une procédure de gestion
d'erreur sur chaque Sub et chaque Function.
Voir dans l'aide "On Error Goto".
Avatar
MULLER
Le 8/12/2012 00:47, Gloops a écrit :
MULLER a écrit, le 07/12/2012 19:24 :
Public DOSSIERNUMERO As Long

Private Sub Form_Open(Cancel As Integer)
'-------------------------------------


' garder ce numero en mémoire
'DOSSIERNUMERO = Me.NUMERO_DE_DOSSIER.Value

End Sub

comme la requête n a rien trouvé 'Me.NUMERO_DE_DOSSIER.Value' est Null




If IsNull(NUMERO_DE_DOSSIER) Then
MsgBox "Attention, numéro de dossier non saisi"
DoCmd.Close acForm, Me.Name
Else
DOSSIERNUMERO = NUMERO_DE_DOSSIER
End IF


Je verrais bien faire la saisie du numéro de dossier dans un autre
formulaire.

Sur la zone de saisie, mettre une procédure événementielle sur
changement, où on rendra le bouton accessible si le numéro n'est pas
nul, et on le refera disparaître (ou on le désactivera) si le numéro
vient à être à nouveau nul. Bien sûr, il convient de se demander si
c'est le texte saisi, qui doit être non nul ou différent de chaîne vide,
ou sa conversion numérique qui doit être différente de zéro.

Et le bouton ouvrira le formulaire d'exploitation du dossier, avec en
OpenArgs le numéro de dossier.


Alors un texte non nul et différent de chaîne vide, ça donne :

Nz(strNumDossier, "") <> ""


Ce qui ne dispense pas, bien sûr, de placer une procédure de gestion
d'erreur sur chaque Sub et chaque Function.
Voir dans l'aide "On Error Goto".


Avatar
Gloops
MULLER a écrit, le 08/12/2012 20:34 :
Le 8/12/2012 00:47, Gloops a écrit :






Bon, eh ben comme ça ... ça fait un accusé de réception :)