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

Requêtes et SQL. Discussion :

Recherche dans plusieurs tables à la fois..


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    syndicat
    Inscrit en
    Février 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : syndicat

    Informations forums :
    Inscription : Février 2017
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Recherche dans plusieurs tables à la fois..
    Bonjour,
    C'est mon premier jour où je travaille en ACCESS (2007-2010) et je bloque sur un problème qui me paraît tout bête.

    J'ai une 40ène de tables qui ont toutes la même structure (mêmes colonnes mais pas même nombre de lignes)
    Ces lignes représentent des contrats qui pourraient être à renégocier s'ils sont arrivés à échéance, je cherche à récupérer tous les contrats dont l'échéance est dans 30 jours.

    Voici la requête que j’exécute sur une table.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [GroupeA].NOM, [GroupeA].SERVICE, [GroupeA].Echeance
    FROM GroupeA
    WHERE GroupeA.Echeance Between date() And date()+30
    J'y arrive aussi avec 2 tables :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT [GroupeA].NOM, [GroupeA].SERVICE, [GroupeA].Echeance
    FROM GroupeA
    WHERE GroupeA.Echeance Between date() And date()+30
    UNION SELECT [GroupeB].NOM, [GroupeB].SERVICE, [GroupeB].Echeance
    FROM GroupeB
    WHERE GroupeB.Echeance Between date() And date()+30;
    J'aimerais adapter cette requête à n tables..

    Serait ce possible de jouer avec des arrays et des boucle for? Ou il y aurait-il un autre moyen ?

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    La réponse la meilleur serait : fusionner toutes les tables et n'en faire qu'une seule.

    Si elles ont toutes la même structure, il ne semble pas y avoir de raison de les séparer. Après l'interrogation serait BEAUCOUP plus simple.

    Sinon, je ferai une table temporaire qui stockerai une succession de requête d'ajout.
    Je ne pense pas que une requête union sur 40 tables fonctionnerai car il semblerai qu'Access dans son traitement des union accole les champs de chacune des tables donc 3 tables avec 10 champs donnent 30 champs.

    Ici une idée de code :

    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
    dim db as dao.database:set db=currentdb
    dim SQL as string
     
    call db.execute("delete * from tblResultat", dbFailOnError) 'Vide la  table de destination
     
    dim t as dao.tabledef: for each t in db.tabledefs
     
       if t.name like "TonNomTable*" then
          sql="Ici le SQL de l'insert adapté à la table en cours de traitement"
          call db.execute(sql, dbFaiOnError)
       end if
     
    next t
     
    db.close:set db=nothing
    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.

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/07/2010, 12h03
  2. Recherche dans plusieurs tables
    Par vero3030 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 18/10/2007, 13h21
  3. [MySQL] recherche dans plusieurs tables
    Par minimoof dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/08/2007, 07h58
  4. est ce possible d'inserer dans plusieurs tables à la fois
    Par Smix007 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/05/2007, 15h38
  5. recherche dans plusieurs tables
    Par rostomides dans le forum Bases de données
    Réponses: 7
    Dernier message: 16/03/2007, 08h34

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