Fonction NZ non définie [Résolu]

cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 13 mars 2010 à 11:45 - Dernière réponse : cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention
- 15 mars 2010 à 21:45
bonjour
dans ma base ACCESS j'ai une requète,dans un des champs j'ai mis une fonction NZ pour ne pas avoir de nulle dans une données.Car ses données je les récupère dans mon prog (vb6) pour un graph.
voila le code de mon champ
 Nz([graphique11]![Fille],0

Au début sans la fonction pas de probleme,mon graph s'afficher mais à la place de la valeur nulle,il me mettait une valeur mais jamais la meme.
Mainteneant avec la fonction NZ,je n'est plus de valeur nulle dans mon champ,mais quand je lance le prog ,j'ai un message Box:
Fonction NZ non définie dans l'expression Adodc1

et ensuite j'ai une erreur:
La méthode refresf de l'objet 'IAdodc' a échoué

voila le code
Private Sub Form_Load()

    Dim MaBD As String
    
    MaBD = App.Path & "\BD\centre_aéré.mdb"
    With Adodc1
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MaBD & ";Persist Security Info=False"
        .RecordSource = "SELECT * FROM graph"
    End With
    Adodc1.Refresh
    Adodc1.Recordset.MoveFirst

End Sub

faut il déclaré la fonction NZ dans vb6,si oui,ou
merci
petchy
Afficher la suite 

10 réponses

Répondre au sujet
LIBRE_MAX 1403 Messages postés mardi 1 mai 2007Date d'inscription 7 octobre 2012 Dernière intervention - 15 mars 2010 à 12:21
+3
Utile
F: VraiFaux(EstNull([Fille]);0;[Fille])

Si tu regardes bieb la définition de la fonction,
il y' a une partie si l' expression est vraie et une autre si elle est fausse.
En d' autre terme, si Fille est nulle elle remplace par 0, sinon elle renvoie Fille.
Tout comme If..Else
[] Ce qui va sans dire. va mieux en le disant.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de LIBRE_MAX
LIBRE_MAX 1403 Messages postés mardi 1 mai 2007Date d'inscription 7 octobre 2012 Dernière intervention - 13 mars 2010 à 12:40
0
Utile
Salut,
Je crois qu' il faudrait la définir dans un module Access.
Et lors de la génération de ton champ, tu la retrouvera dans l' onglet Foctions/NomDeTaBase (au dessous de Fonctions integrées).
Ceci dit, pour éviter les valeurs nulles,commences plutot par créer
un champ qui te retourne 0 si c' est null (fonction VraiFaux).
Ensuite tu fais tes calculs en se basant sur ce champ nouvellement crée.
[] Ce qui va sans dire. va mieux en le disant.
Commenter la réponse de LIBRE_MAX
cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 13 mars 2010 à 13:11
0
Utile
re
Je crois qu' il faudrait la définir dans un module Access.
Et lors de la génération de ton champ, tu la retrouvera dans l' onglet Foctions/NomDeTaBase (au dessous de Fonctions integrées).

je ne sais pas comment créer la fonction dans un module,et ensuite l'initialiser,si tu as un exemple
Ceci dit, pour éviter les valeurs nulles,commences plutot par créer
un champ qui te retourne 0 si c' est null (fonction VraiFaux).

j'ai créer une requete analyse croisée et donc je ne peut mettre 0 par défaut.
merci
petchy
Commenter la réponse de cs_petchy
LIBRE_MAX 1403 Messages postés mardi 1 mai 2007Date d'inscription 7 octobre 2012 Dernière intervention - 13 mars 2010 à 13:45
0
Utile
<<je ne sais pas comment créer la fonction
dans un module,et ensuite l'initialiser,
si tu as un exemple ...

Ouvres ta base dans Access.
Onglet Module puis Nouveu.
Ecris ta fonction.

Ensuite ouvre ta requete en mode création,
Clic droit sur une colonne, puis Générer (créer),
puis ouvre le noeud Fonctions tu auras:
-Fonctions intégrées
-NomDeTabase

clic sur ce dernier,et ta fonction apparaitera
dans la liste de droite.

<< j'ai créer une requete analyse croisée et donc
je ne peut mettre 0 par défaut.

Supposons que ta requete se nomme RQ et se
base sur une table TL.
Tu crées une requete R1 qui se base sur ta table TL
et dans laqyete tu crées une colonne CL dont la définition est:

VraiFaus(EstNull(champ),0,champ).
Ton champ CL retournera 0 si champ est null.

Tu crées ensuite ta table croisées RQ en se basant sur la requete R1





[] Ce qui va sans dire. va mieux en le disant.
Commenter la réponse de LIBRE_MAX
cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 13 mars 2010 à 16:12
0
Utile
re
je dois etre vraiment nul ,je n'arrive pas à creer une requete pour mettre la formule
Supposons que ta requete se nomme RQ et se
base sur une table TL.
Tu crées une requete R1 qui se base sur ta table TL
et dans laqyete tu crées une colonne CL dont la définition est:

VraiFaus(EstNull(champ),0,champ).
Ton champ CL retournera 0 si champ est null.

petchy
Commenter la réponse de cs_petchy
Claiyah 580 Messages postés mercredi 20 août 2008Date d'inscription 20 avril 2010 Dernière intervention - 13 mars 2010 à 16:50
0
Utile
je dois etre vraiment nul

crée toi une fonction NZ

Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
Commenter la réponse de Claiyah
cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 14 mars 2010 à 09:59
0
Utile
re

on peut dans vb6
Commenter la réponse de cs_petchy
LIBRE_MAX 1403 Messages postés mardi 1 mai 2007Date d'inscription 7 octobre 2012 Dernière intervention - 15 mars 2010 à 00:36
0
Utile
Allons-y PAS A PAS..

-Ouvres ta base dans Acces
-Requetes/Nouveau
-Selectionne ta Table source.
-A partir de cette table,selectionnes les champs
que tu veux.
-Sur la dernière colonne vide,Clic drit, puis
sur le menu contextuel, choisis Créer(ou génèrer,
c' est selon )
-L' assistant t'ouvre une fenêtre dans laquelle tu va
donner la définition de ton nouveau champ.
-Pour cela, Ouvres le noeud Fonctions (liste en bas à gauche)
-Clic sur Fonctions intègrées.
-Apparaitera une liste qui répertorie toutes lrd fonctions disponibles.
-Vers le bas de cette liste tu trouveras la fonction VraiFaux.
-Double - Clic dessus et ta fonction s" écrira dans la zone de texte d' au dessus.

VraiFaux(<Expr>;SiVrai,SiFaux)
Rempmaces :
- <Expr> par EstNull(LeNomDeTonChamp)
- SiVrai par 0
- SiFaux par LeNomDeTonChamp

-Valides
-Ton nouveau est ainsi crée,se nommes Expr1 et fais partie deta requete.
-Il se présente sous la forme:
Expr1:VraiFaux(EstNull(LeNomDeTonChamp);0,LeNomDeTonChamp)

-Tu peux lui donner le nom que tu veux en remplaçant
Expr1 par le NouveauNom.

Pour ta tableau croisé tu te baseras sur le champ NouveauNom





[] Ce qui va sans dire. va mieux en le disant.
Commenter la réponse de LIBRE_MAX
cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 15 mars 2010 à 09:01
0
Utile
bonjour
merci pour tes conseils,donc j'ai bien suivi
et j'ai cette formule dans mon nouveau champ
F: VraiFaux(EstNull([Fille]);0)

voila ,j'ai bien un 0 dans la case ou il y a rien dans le champ Fille,mais je n'est que le 0 et rien d'autre dans les lignes,j'ai 13 lignes.
pourquoi les autres données ne sont pas la
merci
@ plus
petchy
Commenter la réponse de cs_petchy
cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 15 mars 2010 à 21:45
0
Utile
bonsoir
autant pour moi,
c'est nickel,merci beaucoup pour ton aide
bonne fin de soirée
petchy
Commenter la réponse de cs_petchy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.