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

Access Discussion :

champ de formulaire de référence vide pour une requête


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 30
    Points : 24
    Points
    24
    Par défaut champ de formulaire de référence vide pour une requête
    Salut et bon dimanche,

    j'ai créer un formulaire qui reprend plusieurs champs indépendants. Ceux-ci sont destinés à déterminer les critères (requêtes) d'un état. Si je les remplis tous la requête fonctionne et l'état est correct mais si je ne remplis pas un des champs c'est foutu !

    Je cherche donc comment dire à la requête que si le champ n'est pas rempli elle n'en tienne pas compte. Dans la requête sous format de tableau je n'arrive pas à le faire, dans sql non plus. J'ai bouquiné et je pense pouvoir essayer en vba (avec si rien dans le champ goto critères suivant) mais je me dis qu'il doit y avoir une façon plus simple de le faire. Si vous avez une idée... merci

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    As tu consulté le tutoriel de recherche Multi critères ?

    http://access.developpez.com

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Voila moi j'ai nommé mes controles comme les champs de ma table...
    Et une liste de choix pour trier le résultat

    Voici la fonction qui crée l'instruction SQL pour l'envoyer a un formulaire ou a un état ou en source d'un listview...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Dim Ctl As Control
    Dim First As Boolean
    Dim BGTxt As String
    Dim SQL As String
     
    First = True
    For Each Ctl In Me.Controls
        If Ctl.ControlType = acTextBox Then
            If Not IsNull(Ctl) Then
                If First = True Then BGTxt = "": First = False Else BGTxt = "AND "
                'SQL = SQL & BGTxt & ctl.ControlName & " like '" & ctl.Value & "' "
                SQL = SQL & BGTxt & Ctl.ControlName & " Like """ & Ctl.Value & """ "
            End If
        End If
    Next Ctl
     
    If SQL = "" Then
        Build_SQL = "SELECT * FROM Tbl_Clients ORDER BY " & Me.OrderByChoice.Value & ";"
    Else
        Build_SQL = "SELECT * FROM Tbl_Clients WHERE " & SQL & "ORDER BY " & Me.OrderByChoice.Value & ";"
    End If
    Debug.Print Build_SQL

  4. #4
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonsoir,

    Si j'ai bien compris, tu as déjà réussi à écrire ta requête et les critères avec les paramètres définis dans ton formulaire, et cela fonctionne sauf dès qu'un paramètre est null.

    Dans ce cas pourquoi dans l'expression des critères ne pas remplacer chaque paramètre par NZ(Paramètre;Pn) oùu Pn est une valeur qui permet au critère d'être toujours satisafait?

    COrdialement,
    pgz

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 30
    Points : 24
    Points
    24
    Par défaut
    Salut,

    merci pour vos réponses. J'avais lu le tutoriel mais, bien que je progresse en compréhension, je rame encore à la lecture de code. De plus, je me disais qu'il devait y avoir moyen de faire simple.

    :trouve: C'est tout con !
    Au lieu de simplement faire
    [formulaires]![filtre_etat_cj]![in_annee]
    je fais
    Comme "*" & [formulaires]![filtre_etat_cj]![in_annee] & "*" ]
    Et ça marche tout seul !!!

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

Discussions similaires

  1. [XPATH] Résultat vide pour une requete xpath
    Par bitbis dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 20/06/2008, 14h41
  2. [X3] Description Vide pour une liaison
    Par Aitone dans le forum SAGE
    Réponses: 1
    Dernier message: 19/03/2007, 10h41
  3. [Requête] Avoir zéro pour une Requête vide
    Par nicou50 dans le forum Requêtes et SQL.
    Réponses: 23
    Dernier message: 10/01/2007, 03h35
  4. Réponses: 2
    Dernier message: 25/09/2006, 15h13
  5. [Tableaux] Tableau valeur vide pour une clé
    Par hisy dans le forum Langage
    Réponses: 3
    Dernier message: 17/01/2006, 11h49

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