[VBA Access] Gérer valeur null d'une requête

Gérer valeur null d'une requête [VBA Access] - VB/VBA/VBS - Programmation

Marsh Posté le 10-01-2011 à 14:51:46    

Bonjour, j'ai encore un soucis avec access...
 

Citation :

Set rq_dernier_enregistrement = CurrentDb.OpenRecordset("SELECT * FROM tb_messages_degrade WHERE sequence ='" & num_sequence & "'" )
 
                If (rq_dernier_enregistrement!enlignement = enlignement And rq_dernier_enregistrement!Date = date_fax) Then
                          ................................


 
 
Le problème c'est que ma requête retourne une valeur vide.
Du coup, dans le If les conditions n'arrive pas à être vérifier et access plante...
 
Que puis-faire pour gérer le retour d'une valeur null dans la requête

Reply

Marsh Posté le 10-01-2011 à 14:51:46   

Reply

Marsh Posté le 10-01-2011 à 15:11:03    

Reply

Marsh Posté le 10-01-2011 à 15:20:58    

J'avais déjà essayé le Nz.
 
If (Nz(rq_dernier_enregistrement!enlignement, 0) = enlignement And Nz(rq_dernier_enregistrement!Date, 0) = date_fax) Then
 
Si j'ai bien compris la syntaxe doit ressembler à ça...
Par contre me met une erreur différente:
 

Citation :

erreur d'execution '-2147352567 (8002009)':
Aucun enregistrement en cours


 
Quelqu'un aurait une autre solution ?
 
J'ai également essayé avec la fonction Isnull() mais là non plus cela ne fonctionne pas...


Message édité par alexbigfoug le 11-01-2011 à 08:43:36
Reply

Marsh Posté le 11-01-2011 à 08:36:44    

Désolé pour le double post...
 
Mais quelqu'un aurait une autre solution ?
 
EDIT: Pour parer la valeur null que retourne le SELECT
 
Faire une requête avec un COUNT au lieu dun SELECT
Si le résultat du COUNT est supérieur ou égale à 1 (autrement dit si le résultat n'est pas NULL) exécuter la requête avec le SELECT sinon alors aucun résultat n'a été trouvé.
Voilà, la solution pour laquelle j'ai optée, le point faible c'est qu'il faut faire 2 requêtes.


Message édité par alexbigfoug le 20-01-2011 à 15:57:18
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed