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 :

Pourquoi ma requête selection ne me donne pas toutes les données de mes tables liées


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Pourquoi ma requête selection ne me donne pas toutes les données de mes tables liées
    J'ai effectué une requête selection directement avec les outils préconçus access. Je me suis rendu compte que ma table maître ne voyait pas toute ces requête inscrite dans ma requête, mais toutes les données de ma sous table y apparaisse avec les enregistrements de ma table maître les concernant.
    Comment puis je faire pour créer un enregistrement dans ma sous table dés que je rentre des données dan ma table maitre?

    Merci pour tout les renseignements.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    il me semble qu'il faut aller voir du cote du gestionnaire de relation (Outils > Relations ...)

    là tu crée les relations souhaitées selon les bons champs, et tu peut y affecter des contraintes d'intégrités je crois...

    après, quand tu rentrera tes données, tu devrait voir apparaitre des "sous enregistrements" correspondant à la table liée...

    (j suis pas un pro)
    S'il n'y a pas de solution, il n'y a pas de problème.
    Moi je dis ça, je dis rien.

  3. #3
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    Utilises-tu des jointures externes afin d'avoir toutes les données de ta table maître ?
    [Access] Les bases du débogage => ici

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    peux tu nous donner la structure de tes tables, et la requêtes que tu as utilisée ?
    S'il n'y a pas de solution, il n'y a pas de problème.
    Moi je dis ça, je dis rien.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut mon SQL de ma requête est le suivant
    SELECT affaire.N°affaire,affaire.[Hp BE],affaire.[Hp chantier],affaire.[Hp essais],affaire.[Hp méthode],affaire.[Hp prog],affaire.[Hp atelier],affaire[Hp totales], [sauvegarde des heures].[Hu BE],[sauvegarde des heures].[Hu chantier],[sauvegarde des heures].[Hu essais],[sauvegarde des heures].[Hu métode],[sauvegarde des heures].[Hu prog],[sauvegarde des heures].[Hu atelier],[sauvegarde des heures].[Hu totales]
    FROM affaire INNER JOIN [sauvergarde des heures]ON affaire.[Référence affaire]=[Sauvegarde des heures][Référence affaire];

    Je sais que ma requête fonction mais je n'ai pas toutes les données des tables pour cela il faut que je renseigne toutes les enregistrements de la sous table en rapport avec les données de ma table maîtresse.

    Comment puis je faire?
    Merci

  6. #6
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    slt,

    c'est le principe de l'inner join

    il faut essayer avec un left join

    je crois qu'il y a un tutos sur les requêtes qui traîne quelque part

    bye

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Arkham46
    slt,

    c'est le principe de l'inner join

    il faut essayer avec un left join

    je crois qu'il y a un tutos sur les requêtes qui traîne quelque part

    bye
    oui mais il ne me dit pas comment je peux obliger la création d'un enregistrement automatique dans ma sous table lors de ma création de données dans ma table maîtresse.

  8. #8
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    Le principe du left join est de ramener des données d'une table, même s'il n'y a pas d'enregistrement correspondant dans l'autre table.
    [Access] Les bases du débogage => ici

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    question de nul :

    j'ai jamais utilisé INNER JOIN... ca revient au meme que faire des requetes imbriquées du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT...
    FROM ...
    WHERE monChamps IN (
       SELECT...
       FROM ...
       WHERE ...
    )
    ?
    S'il n'y a pas de solution, il n'y a pas de problème.
    Moi je dis ça, je dis rien.

  10. #10
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    Le INNER JOIN, c'est la jointure de base entre 2 tables.
    Ca peut revenir à ce que tu indiques (dans la majorité des cas).
    [Access] Les bases du débogage => ici

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    ok, pour moi une jointure c'était :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     SELECT...
    FROM ...
    WHERE table1.monChamps = table2.monChamps
    (je n'ai pas l'habitude de passer par l editeur d access...)
    S'il n'y a pas de solution, il n'y a pas de problème.
    Moi je dis ça, je dis rien.

  12. #12
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    Ben oui, c'est ça.
    Sous Oracle par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT...
    FROM table1, table2...
    WHERE table1.monChamps = table2.monChamps
    Sous Access :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT...
    FROM table1 INNER JOIN table2 on table1.monChamps = table2.monChamps ...
    WHERE ...
    [Access] Les bases du débogage => ici

Discussions similaires

  1. Extraire toutes les données de toutes les tables
    Par fandreoli dans le forum PL/SQL
    Réponses: 1
    Dernier message: 06/08/2014, 18h13
  2. Pb : Méthode ADO : ne rapatrie pas toutes les données
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 16/02/2011, 21h36
  3. [AC-97] Une requête étrange qui n'affiche pas toutes les entrées
    Par ZoliveR dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 22/11/2010, 11h58
  4. [MySQL] Liste déroulante php/sql n'affichant pas toutes les données.
    Par Nicolas_k dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/02/2010, 13h01
  5. Réponses: 3
    Dernier message: 18/11/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