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 :

[ac 2003 et 2007] utiliser une requête enregistrée dans une requête


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 38
    Points : 44
    Points
    44
    Par défaut [ac 2003 et 2007] utiliser une requête enregistrée dans une requête
    Bonjour,
    j'aimerais utiliser une requête enregistrée dans une autre requête, sachant que le nom de la requête enregistrée contient des espaces. j'ai pensé à entourer son nom de crochets mais ça l'interprète comme un paramètre.
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 263
    Points : 19 428
    Points
    19 428
    Billets dans le blog
    63
    Par défaut
    Slt,

    On peut avoir le sql et le nom de la requête enregistrée ?
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 38
    Points : 44
    Points
    44
    Par défaut
    oups pardon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Tiers.Nom1, Tiers.Nom2, Dossier.Lib, Tiers.Mail FROM Tiers, Dossier
    WHERE Tiers.Nom1 + ' ' + Tiers.Nom2 = Dossier.Lib
     AND Tiers.Nom1 IN ([RS_Clients avec mail].Nom1);
    où la requête enregistrée est 'RS_Clients avec mail'.
    d'ailleurs je doit préciser le champ ([RS_Clients avec mail].Nom1) ou pas ([RS_Clients avec mail]) ?

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 263
    Points : 19 428
    Points
    19 428
    Billets dans le blog
    63
    Par défaut
    Re,

    Il faut indiquer le nom de ta requête dans la clause From.

    Ta requête est un peu bizarre, mais essaie quelque chose comme ça :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Tiers.Nom1, Tiers.Nom2, Dossier.Lib, Tiers.Mail 
    FROM Tiers, Dossier, [RS_Clients avec mail]
    WHERE Tiers.Nom1 + ' ' + Tiers.Nom2 = Dossier.Lib
     AND Tiers.Nom1 = [RS_Clients avec mail].Nom1;

    D'autre part:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tiers.Nom1 In ([RS_Clients avec mail].Nom1)
    tu entends La chaine Tiers.Nom1 est dans la chaine [RS_Clients avec mail].Nom1 ???

    Si oui regarde du côté de la fonction InStr (touche F1)

    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 38
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par User Voir le message
    tu entends La chaine Tiers.Nom1 est dans la chaine [RS_Clients avec mail].Nom1 ???
    non en fait j'ai essayé cette syntaxe bizarre parce qu'à la base je voulais faire une intersection mais apparemment ça n'existe pas sous Access.
    je ne savais pas qu'on devait inclure la requête comme une table, merci

  6. #6
    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 : 40
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Tiers.Nom1, Tiers.Nom2, Dossier.Lib, Tiers.Mail FROM Tiers, Dossier
    WHERE Tiers.Nom1 + ' ' + Tiers.Nom2 = Dossier.Lib
     ...
    Avec des requêtes comme celle-ci vous tuez les performances. Les SGBD intègrent des mécanismes de jointures puissant permettant de mettre en relation plusieurs tables (JOIN). Lib est un champ dont la donnée est composée de deux autres attributs, il y a un problème de modélisation de la base.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 38
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Tofalu Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Tiers.Nom1, Tiers.Nom2, Dossier.Lib, Tiers.Mail FROM Tiers, Dossier
    WHERE Tiers.Nom1 + ' ' + Tiers.Nom2 = Dossier.Lib
     ...
    Avec des requêtes comme celle-ci vous tuez les performances. Les SGBD intègrent des mécanismes de jointures puissant permettant de mettre en relation plusieurs tables (JOIN). Lib est un champ dont la donnée est composée de deux autres attributs, il y a un problème de modélisation de la base.
    je me suis dit la même chose surtout que je suis encore étudiant (la tête pleine de règles et de modèles...), mais je n'ai pas fait le schéma et je ne dois pas le modifier, juste faire des requêtes.

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

Discussions similaires

  1. Exécution d'une requête enregistrée dans une table
    Par Angelik dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/03/2015, 09h41
  2. Réponses: 6
    Dernier message: 08/09/2010, 15h06
  3. Réponses: 2
    Dernier message: 02/06/2010, 11h55
  4. Réponses: 6
    Dernier message: 13/11/2009, 16h06
  5. Réponses: 2
    Dernier message: 29/10/2008, 15h31

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