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 :

Variable d'une table dans une requete non basée sur cette table


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 16
    Points : 18
    Points
    18
    Par défaut Variable d'une table dans une requete non basée sur cette table
    Bonjour à tous,

    voici mon problème :

    j'ai une table avec un numéro d'insee commune, une autre avec les communes ayant subit des modification, et une troisième non liée qui contient tout un tas d'information sur des biens (dont une des infos est le code insee de la commune supportant le bien).

    je souhaite faire une requete création de table qui me creera une date de validité des insee (fonction des mofifications qu'elles ont subit ou non).
    donc dans ma requete j'ai mis mes 2 premières table avec un lien externe pour ne récupérer que les commune qui n'ont pas subit de modification (champs [MOD] est null) ou qui ont subit des modifications mineures n'influencant pas le code insee et le nom de la communde (champ [MOD] <> de certaines valeurs comme '20';'30' ...
    Du coup pour ces insees non modifié, j'aimerais affecter un début de validité et une fin de validité spécifique : fin de validité = Date() puisque toujours valable et début de validité = date de saisi du premier enregistrement disponible dans la troisième table (que j'avais dans un premier temps mis dans une table avec une seule ligne mais ca change pas mon problème).

    Comment affecter cette date à tous mes enregistrement ???

    voici la version sql actuel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Com_Insee, Com_Nm, #1/1/1965# AS DateDeb, Date() AS DateFin INTO InseeValide
    FROM Com_Insee_tb LEFT JOIN ModifInsee ON Com_Insee_tb.Com_Insee = ModifInsee.Commune
    WHERE (((ModifInsee.[MOD]) Not In ('10','11','12','13','14','15','20','21','30','31','33','41')) AND ((ModifInsee.DTR)>=(select DateFirstNotif from InfoBase;))) OR (((ModifInsee.[MOD]) Is Null) AND ((ModifInsee.DTR) Is Null))
    GROUP BY Com_Insee_tb.Com_Insee, Com_Insee_tb.Com_Art, Com_Insee_tb.Com_Nm, #1/1/1965#, Date();
    il faut que je remplace le texte en rouge par ma variable tirée d'une table (qui aura la même valeur pour tous les enregistrements de ma nouvelle table).
    Est-ce possible par simple requête ou faut il passer par vba avec des manipulation de recordset ???
    Ou alors créer une variable dans un module que je pourrais récupérer dans ma requête ? comment ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 548
    Points
    24 548
    Par défaut
    Bonjour,

    Pour une valeur ponctuelle tu peux utiliser un Dlookup() à la place de #...# pour retrouver la valeur.

    Tu peux également utiliser la saisie utilisateur en remplaçant la date #...# par [Entrez la date]

    Ou encore une boucle en VBA, parcours de la table et lancement de la requete à chaque nouvelle valeur. La requête doit être inclus dans VBA (voir le tuto correspondant.)

    Comme tu le vois plusieurs solutions, avec des avantages et des inconvénients.

    Cordialement,

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 16
    Points : 18
    Points
    18
    Par défaut merciiii
    Sublimissime.

    Je maitrise pas trop access et savais pas qu'on pouvait utiliser directement les dlookup au milieu des requetes
    du coup vu que je veux la valeur min, j'ai mis un Dmin et le tour est joué
    thanks a lot !

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 548
    Points
    24 548
    Par défaut
    Attention les fonctions de domaines sont très gourmandes en ressources (à utiliser avec précaution sur des applications à forte charge)

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

Discussions similaires

  1. [AC-2003] Lier les tables d'une Base1 dans une Base3 via une Base2
    Par ted the Ors dans le forum VBA Access
    Réponses: 0
    Dernier message: 30/12/2009, 11h58
  2. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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