[Access]Un calcul égal à #Erreur au lieu de 0...!

Un calcul égal à #Erreur au lieu de 0...! [Access] - Logiciels - Windows & Software

Marsh Posté le 12-08-2006 à 10:53:30    

Bonjours à tous...
 
Toujours pour la même base (Bibliothéque Multimédia) : une base de données sous Access qui me permet de répertorier toutes sortes de médias (CD audio, CD-ROM, livres, DVD, ...).
 
 
Maintenant, je voudrais faire un calcul assez simple :
[:alhex]Explication : Un média est identifié par un code barre unique qui peut avoir plusieurs occurences c'est à dire plusieurs références. Chaques références, une fois enregistré dans la base, peut subir deux sortes d'opérations : des mouvements (virements ou emprunts) ou des inventaires.
 
[:alhex]Mon calcul : = [qté de départ]+[somme des inventaires]-[somme des mouvements]-[somme des emprunts en cours]

  • qté de départ : champ numérique enregistré lors de la saisie d'une nouvelle référence.
  • somme des inventaires : champ qui calcul la somme enregistré dans la table inventaire pour cette référence.
  • somme des mouvements : champ qui calcul la somme du champ qté de la table mouvement pour cette référence. Pour faire partie du calcul le mouvement doit être un virement au statut validé.
  • somme des emprunts en cours : champ qui calcul la somme du champ qté de la table mouvement pour cette référence. Pour faire partie du calcul le mouvement doit être un emprunt au statut emprunt en cours.


[:alhex]Mon probléme : Le résultat renvoyé est #Erreur car une référence n'a pas forcement un mouvement ou un inventaire à son effectif. Ainsi le résultat renvoyé est Erreur.
Comment faire pour qu'à la place de #Erreur, le champ affiche 0 ???
 
J'espere avoir été assez clair, si ce n'est pas le cas, n'hésitez pas. Je sais que c'est pas facile à comprendre, mais vous forcez pas, il me faut juste la réponse à la question rouge.
 
Merci à tous...


---------------
Adrien
Reply

Marsh Posté le 12-08-2006 à 10:53:30   

Reply

Marsh Posté le 12-08-2006 à 21:56:26    

Pour les champs ou tu as #Erreur as tu une qté de départ?

Reply

Marsh Posté le 12-08-2006 à 22:12:41    

salut
c'est simplement que l'un des elements doit etre null(case vide dans la table access) dans certains cas.
et NULL+x-Y-z = erreur
x+NULL-y-z = erreur
etc etc
donc il te faut verifier que chaque valeur utilisée n'est pas nulle
le plus simple est une fonction nulltozero(champs)
ca donne nulltozero(qtedepart)+nulltozero(sommeinventaire)-nulltozero(sommemvt)-nulltozero(sommeemprunts) = resultat
 
la fonction :

Code :
  1. function nulltozero(entree) as variant
  2. 'variant parce que ca peut etre un integer un long un double on sait pas
  3. if isnull(entree) then
  4. nulltozero=0
  5. else
  6. nulltozero=entree
  7. end function


Message édité par aknott31 le 12-08-2006 à 22:12:59
Reply

Sujets relatifs:

Leave a Replay

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