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 :

Requête Union dans formulaire de recherche [AC-365]


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Régisseur lumière et intégrateur led
    Inscrit en
    Janvier 2020
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Régisseur lumière et intégrateur led
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2020
    Messages : 238
    Points : 62
    Points
    62
    Par défaut Requête Union dans formulaire de recherche
    Hello la communauté

    Sur un fichier qui a était le premier ou je me suis tenté sur access et dont un contributeur m'a énormément aidé (Que je remercie encore d'ailleur), j'ai un formulaire de recherche qui utilise cette requête :

    Nom : Capture.PNG
Affichages : 46
Taille : 46,2 Ko

    R_Comp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT * From R_CompConnecteurs
    UNION
    SELECT * From R_CompConnecteursCarte
    UNION
    SELECT * From R_CompCosses
    UNION SELECT * From R_CompContacts;
    Les requêtes qui composent celle-ci

    R_CompConnecteurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT T_Connecteurs.ID_Connecteur AS IDComp, T_Connecteurs.ID_Categorie, T_Categories.Categorie, T_Connecteurs.ID_Fabricant, T_Fabricants.Fabricant, T_Connecteurs.ID_Serie, T_Series.Serie, T_Connecteurs.Reference_Fabricant, T_Connecteurs.Reference_Client, T_Connecteurs.Photo, T_Connecteurs.NombreDeContacts, T_Connecteurs.ID_JaugeSection, T_JaugesSections.JaugeSection, T_Connecteurs.ID_Finition, T_Traitements.Finition, T_Connecteurs.ID_Genre, T_Genre.Genre
    FROM T_Series RIGHT JOIN (T_JaugesSections RIGHT JOIN (T_Genre RIGHT JOIN (T_Traitements RIGHT JOIN (T_Fabricants RIGHT JOIN (T_Categories RIGHT JOIN T_Connecteurs ON T_Categories.ID_Categorie = T_Connecteurs.ID_Categorie) ON T_Fabricants.ID_Fabricant = T_Connecteurs.ID_Fabricant) ON T_Traitements.ID_Finition = T_Connecteurs.ID_Finition) ON T_Genre.ID_Genre = T_Connecteurs.ID_Genre) ON T_JaugesSections.ID_JaugeSection = T_Connecteurs.ID_JaugeSection) ON T_Series.ID_Serie = T_Connecteurs.ID_Serie;
    R_CompConnecteursCarte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT T_Connecteurs_Cartes.ID_ConnecteurCarte AS IDComp, T_Connecteurs_Cartes.ID_Categorie, T_Categories.Categorie, T_Connecteurs_Cartes.ID_Fabricant, T_Fabricants.Fabricant, T_Connecteurs_Cartes.ID_Serie, T_Series.Serie, T_Connecteurs_Cartes.Reference_Fabricant, T_Connecteurs_Cartes.Reference_Client, T_Connecteurs_Cartes.Photo, T_Connecteurs_Cartes.NombreDeContacts, T_Connecteurs_Cartes.ID_JaugeSection, T_JaugesSections.JaugeSection, T_Connecteurs_Cartes.ID_Finition, T_Traitements.ID_Finition, T_Connecteurs_Cartes.ID_Genre, T_Genre.Genre
    FROM T_Series RIGHT JOIN (T_JaugesSections RIGHT JOIN (T_Genre RIGHT JOIN (T_Traitements RIGHT JOIN (T_Fabricants RIGHT JOIN (T_Categories RIGHT JOIN T_Connecteurs_Cartes ON T_Categories.ID_Categorie = T_Connecteurs_Cartes.ID_Categorie) ON T_Fabricants.ID_Fabricant = T_Connecteurs_Cartes.ID_Fabricant) ON T_Traitements.ID_Finition = T_Connecteurs_Cartes.ID_Finition) ON T_Genre.ID_Genre = T_Connecteurs_Cartes.ID_Genre) ON T_JaugesSections.ID_JaugeSection = T_Connecteurs_Cartes.ID_JaugeSection) ON T_Series.ID_Serie = T_Connecteurs_Cartes.ID_Serie;
    R_CompCosses

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT T_Cosses.ID_Cosse AS IDComp, T_Cosses.ID_Categorie, T_Categories.Categorie, T_Cosses.ID_Fabricant, T_Fabricants.Fabricant, T_Cosses.ID_Serie, T_Series.Serie, T_Cosses.Reference_Fabricant, T_Cosses.Reference_Client, T_Cosses.Photo, T_Cosses.NombreDeContacts, T_Cosses.ID_JaugeSection, T_JaugesSections.JaugeSection, T_Cosses.ID_Finition, T_Traitements.Finition, T_Cosses.ID_Genre, T_Genre.Genre
    FROM T_Series INNER JOIN (T_JaugesSections INNER JOIN (T_Genre INNER JOIN (T_Traitements INNER JOIN (T_Fabricants INNER JOIN (T_Categories INNER JOIN T_Cosses ON T_Categories.ID_Categorie = T_Cosses.ID_Categorie) ON T_Fabricants.ID_Fabricant = T_Cosses.ID_Fabricant) ON T_Traitements.ID_Finition = T_Cosses.ID_Finition) ON T_Genre.ID_Genre = T_Cosses.ID_Genre) ON T_JaugesSections.ID_JaugeSection = T_Cosses.ID_JaugeSection) ON T_Series.ID_Serie = T_Cosses.ID_Serie;
    R_CompContacts

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT T_Contacts.ID_Contact AS IDComp, T_Contacts.ID_Categorie, T_Categories.Categorie, T_Contacts.ID_Fabricant, T_Fabricants.Fabricant, T_Contacts.ID_Serie, T_Series.Serie, T_Contacts.Reference_Fabricant, T_Contacts.Reference_Client, T_Contacts.Photo, T_Contacts.NombreDeContacts, T_Contacts.ID_JaugeSection, T_JaugesSections.JaugeSection, T_Contacts.ID_Finition, T_Traitements.Finition, T_Contacts.ID_Genre, T_Genre.Genre
    FROM T_Series RIGHT JOIN (T_JaugesSections RIGHT JOIN (T_Genre RIGHT JOIN (T_Traitements RIGHT JOIN (T_Fabricants RIGHT JOIN (T_Categories RIGHT JOIN T_Contacts ON T_Categories.ID_Categorie = T_Contacts.ID_Categorie) ON T_Fabricants.ID_Fabricant = T_Contacts.ID_Fabricant) ON T_Traitements.ID_Finition = T_Contacts.ID_Finition) ON T_Genre.ID_Genre = T_Contacts.ID_Genre) ON T_JaugesSections.ID_JaugeSection = T_Contacts.ID_JaugeSection) ON T_Series.ID_Serie = T_Contacts.ID_Serie;
    Donc dans ce formulaire, je souhaiterai rajouté une donnée, le dénudage des fils, donc j'ai rajouté le champ dans les requêtes concernées "R_CompContacts" et "R_CompCosses", mais d'après ce que je comprend et c'est mon message d'erreur, il faut que pour la requête union fonction, il faut le même nombre de champ dans chaque requêtes, donc pour mon cas dans les 4 requêtes.

    Nom : Capture.PNG
Affichages : 44
Taille : 5,3 Ko

    Dans les autres requêtes je n'ai pas ce champ "Denudage" car dans les tables il n'y ai pas non plus car cela n'éxiste pas.

    Comment faut-il procéder dans ce cas de figure, je met n'importe quel champ, pour avoir le même nombre de colonne?

    Merci pour votre aide.

    Passez une bonne et belle journée.

    Cordialement, Le Lighteux26

  2. #2
    Membre du Club
    Homme Profil pro
    Régisseur lumière et intégrateur led
    Inscrit en
    Janvier 2020
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Régisseur lumière et intégrateur led
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2020
    Messages : 238
    Points : 62
    Points
    62
    Par défaut
    Re

    A peut-être trouvé.

    C'est de la bidouille, mais bon.

    Je vais créer un champ dans les autres table "Denudage", et par défaut il s'enregistera "N-C", pour Non Concerné.

    Quand pensez-vous?

    Merci

    Passe une bonne journée.

    Le Lighteux26

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    d'après ce que je comprend et c'est mon message d'erreur, il faut que pour la requête union fonction, il faut le même nombre de champ dans chaque requêtes, donc pour mon cas dans les 4 requêtes.
    et les champs doivent être dans le même ordre
    Je vais créer un champ dans les autres table "Denudage", et par défaut il s'enregistera "N-C", pour Non Concerné
    inutile de polluer ta table, tu peux utiliser un expression dan la requête concernée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ..., "N-C" As Denudage, ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  4. #4
    Membre du Club
    Homme Profil pro
    Régisseur lumière et intégrateur led
    Inscrit en
    Janvier 2020
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Régisseur lumière et intégrateur led
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2020
    Messages : 238
    Points : 62
    Points
    62
    Par défaut
    Hello la communauté, Tee_Grandbois

    Merci pour ta réponse

    Déjà, la modification fonctionne et j'avais crée une requête pour remplir ces deux tables avec NC si vide ou nul, histoire d'avoir quelque chose pour mes tests suivants.

    Citation Envoyé par tee_grandbois Voir le message
    bonjour,
    et les champs doivent être dans le même ordre

    inutile de polluer ta table, tu peux utiliser un expression dan la requête concernée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ..., "N-C" As Denudage, ...
    Pour ceci, j'ai juste a rajouter un champ "Denudage" dans la requête et lui dire qu'il est Egale a "NC3, et de sa fait supprimer le champ que j'ai créé dans les deux tables, c'est bien cela?

    J'essaye et reviens.

    Merci

    Passez une bonne journée.

    Le Lighteux26

  5. #5
    Membre du Club
    Homme Profil pro
    Régisseur lumière et intégrateur led
    Inscrit en
    Janvier 2020
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Régisseur lumière et intégrateur led
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2020
    Messages : 238
    Points : 62
    Points
    62
    Par défaut
    CC

    Citation Envoyé par tee_grandbois Voir le message

    inutile de polluer ta table, tu peux utiliser un expression dan la requête concernée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ..., "N-C" As Denudage, ...
    Donc voili c'est fait, j'ai rajouté un champ avec : Denudage: "NC"

    Merci pour l'idée de ne pas polluer la table et d'intégrer cela dans la requète.

    Passez une bonne fin de journée.

    Le Lighteux26

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

Discussions similaires

  1. critère entre deux dates dans formulaire de recherche
    Par marcdesb dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/06/2010, 20h07
  2. [Toutes versions] requête multiple dans formulaire de recherche multi critère.
    Par Lyude dans le forum IHM
    Réponses: 16
    Dernier message: 11/05/2010, 18h51
  3. Zone de texte ajout dans formulaire de recherche
    Par benoit13 dans le forum IHM
    Réponses: 1
    Dernier message: 26/07/2007, 08h45
  4. [SQL]vs[VBA] dans formulaire de recherche
    Par alex.a dans le forum Access
    Réponses: 3
    Dernier message: 28/07/2006, 16h20
  5. Dans formulaire de recherche avancée dans Access
    Par LeSuisse1 dans le forum Access
    Réponses: 1
    Dernier message: 24/04/2006, 15h59

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