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 :

Macro Union de requêtes selon conditions [AC-2010]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2016
    Messages : 2
    Par défaut Macro Union de requêtes selon conditions
    Salut,

    Je voudrais faire l'union de plusieurs requêtes mais seulement avec les requêtes pour lesquelles la case est cochée dans le formulaire.

    J'arrive à :
    - créer une macro qui va ouvrir la requête1 seulement si la CaseRequete1 est cochée dans le formulaire.
    - créer une macro qui va ouvrir la requête2 seulement si la CaseRequete2 est cochée dans le formulaire.

    Mais je voudrais une macro qui ouvre:
    - l'union de la requête1 et requête2 si requête1 et requête2 sont cochés dans mon formulaire
    - seulement la requête1 si requête1 est coché
    - seulement le requête2 si requête2 est coché
    - rien si aucune case n'est cochée.

    Il y aura au final 5 requêtes différentes qui pourront être cochées ou non et donc assemblées ou non.

    Les requêtes ont bien toutes les mêmes champs.

    Je connais peu le SQL et encore moins le VBA.

    Merci pour votre aide précieuse!

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    Je connais peu le SQL et encore moins le VBA.
    Une bonne occasion pour découvrir cet outil, le VBA, qui permet bien des choses.

    À mettre "dans" le formulaire :

    Je vais supposer qu'il existe déjà une requete [requeteUnion] dans ta BD et que tes requêtes s'appellent requête1 à requête5.

    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
    23
    24
    25
    26
    27
    28
    29
    public function GererRequetteUnion
        dim cac as checkbox
        dim SQL as string
     
        dim i as long: for i=1 to 5
            set cac=me.controls("CaseRequete" & i)
     
            if cac then
               if sql <>"" then
                  sql=sql & vbNewLine & " union all "
               end if
     
               sql=sql & "select [requête" & i & "].* from [requête" & i & "]"                 
           end if
     
        next i
     
        if sql<>"" then
               dim db as dao.database:set db=currentdb
               dim r as dao.querydef: set r=db.querydefs("requeteUnion")
               r.sql=sql
               set r=nothing
               set db=nothing
               call docmd.openquery("requeteUnion")
           else
               msgbox "Vous n'avez cocher aucune case.", vbinformation
        end if
     
    end function
    Dans l'événement de l'objet qui déclenche l'ouverture des requêtes mettre :

    =GererRequetteUnion()

    Désolé je manque de temps pour des explications détaillées mais si tu as des question n'hésite pas.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2016
    Messages : 2
    Par défaut Mission Accomplie!!!
    Je comprends rien à tous ces codes mais j'ai réussi grâce à ce que tu m'as donné!

    Merci beaucoup

    (va falloir que je me mette au VBA!)

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

Discussions similaires

  1. Requête selon condition
    Par Romanops dans le forum Requêtes
    Réponses: 4
    Dernier message: 16/03/2015, 12h08
  2. Macro pour envoi de mail auto selon conditions
    Par soadadrinker dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 11/06/2013, 00h16
  3. [Toutes versions] Macro suppression de lignes selon conditions via userform
    Par mattmata dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/10/2012, 13h08
  4. Requête paramétrée, variable selon conditions
    Par GoustiFruit dans le forum Bases de données
    Réponses: 11
    Dernier message: 22/01/2012, 14h09
  5. Resultat de requête dans condition de macro
    Par The_Royal_Dave dans le forum Access
    Réponses: 3
    Dernier message: 02/06/2008, 08h04

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