IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Function = null


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Décembre 2006
    Messages : 30
    Par défaut Function = null
    Bonjour à tous,
    J'ai une requète ou dans un champs j'ai un critère de sélection qui est basé sur une fonction

    -> Le problème est que lorsque cette fonction est égale à rien (champs vide) la requete me retourne aucune valeurs alors que mon souhait serais de récupérer toutes les valeurs de la table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Public FrmPx As Variant
     
    Function Frmx()
    Frmx = FrmPx
    End Function
     
     
     
    SELECT VFIC.PROJ_ID, etc......
    FROM OLVX 
    WHERE (((VFIC.PROJ_ID)=Frmx()))

    J'ai essayé avec la valeur
    mais cela ne marche pas

    Quelqu'un à une idée ?

    Merci d'avance
    SLH

  2. #2
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonjour,

    Essaie comme ça pour la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public FrmPx As Variant
     
    Function Frmx()
    If IsEmpty(FrmPx) Then
       Frmx = Null
    Else
       Frmx = FrmPx
    End If
    End Function
    Si la variable FrmPx de type Variant n'est pas initialisée, IsEmpty(FrmPx) est Vrai et la fonction Frmx() renvoie Null.
    Si la variable FrmPx contient Null, la fonction Frmx() renvoie Null.
    Dans les autres cas la fonction Frmx() renvoie la valeur de FrmPx.

    Et, pour la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT VFIC.PROJ_ID, etc......
    FROM OLVX 
    WHERE (((VFIC.PROJ_ID)=Frmx()) Or (Frmx() Is Null))
    • Frmx() renvoie Null
      La requête renvoie tous les enregistrements
    • Frmx() renvoie une valeur
      La requête renvoie tous les enregistrements pour lesquels VFIC.PROJ_ID=Frmx()

    En espérant avoir correctement compris.
    A+

  3. #3
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Par défaut
    Bonjour,

    Une solution pourrais consister a construire ta requête suivant la valeur de retour de ta fonction.

    Exemple de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim strSQL As String
    Dim ClauseWhere As String
     
    If Frmx() = "" Then
        ClauseWhere = ""
      Else
        ClauseWhere = "WHERE (((VFIC.PROJ_ID)=" & Frmx() & "))"
    End If
    strSQL = "SELECT VFIC.PROJ_ID, etc...... " & _
             "FROM OLVX " & _
             ClauseWhere & ";"
    Tu adaptes ainsi la clause Where de la requête en fonction de ton critère.
    A+

  4. #4
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Décembre 2006
    Messages : 30
    Par défaut
    Bonjour,

    Okay parfait, sa fonctionne très bien (j'ai utilisé le code de LedZeppII)

    Merci LedZeppII et Yvan49 pour vos réponses rapide et clair

    @ bientôt

    SLH

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 19/03/2013, 16h29
  2. [9.2] Window Functions -- Plus grande valeur précédente non nulle
    Par gorgonite dans le forum Requêtes
    Réponses: 5
    Dernier message: 01/03/2013, 21h01
  3. [postgreSQL] équivalent de la function 'instr'
    Par Dra_Gun dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/01/2003, 16h09
  4. [Dev c++ 4] implicite declaration of function "int kbhi
    Par Torpedox dans le forum Dev-C++
    Réponses: 5
    Dernier message: 01/01/2003, 13h37
  5. "ALTERER" une col. NULL en NOT NULL - Int
    Par Gandalf24 dans le forum SQL
    Réponses: 2
    Dernier message: 28/12/2002, 00h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo