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 :

Impossible de modifier les enregistrements d'une requête [AC-2000]


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut Impossible de modifier les enregistrements d'une requête
    Bonjour a tous
    alors voici mon problème :

    J'ai trois tables (en fait quatre mais je commence "soft" pour l'instant) :

    Table DetailCommandeC :
    -NumAuto
    -refCommande
    -refGroupement
    -d'autres champs mais qui n'ont pas d'intérêt ici

    table Groupement :

    -refgroupement
    -Diverses informations qui la aussi n'apportent rien

    table DetailGroupement :

    -NumAuto (pas le même que celui de DetailCommandeC)
    -RefGroupement
    -Type
    -Quelques autres champs

    Je souhaite faire une requête sur ces trois tables, sachant qu'elles sont liés par des relation avec l'intégrité référentielle de la façon suivante :

    DetailCommandeC (champ refgroupement) coté plusieurs Groupement (Champ refGroupement) Coté 1
    DetailGroupement (champs RefGroupement) coté plusieurs Groupement (Champ refGroupement) coté 1

    Je veut donc effectuer une requête qui me permette de ressortir tous les types présents dans une commande, c'est a dire que je veut avoir tous les types contenus dans les groupements qui sont dans la table DetailCommandeC...

    j'ai donc fait la requête avec le code sql suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DetailCommandeC.NumAuto AS DetailCommandeC_NumAuto, DetailCommandeC.RefCommande, DetailCommandeC.RefGroupement AS DetailCommandeC_RefGroupement, Groupement.RefGroupement AS Groupement_RefGroupement, Groupement.Designation, DetailGroupement.RefGroupement AS DetailGroupement_RefGroupement, DetailGroupement.Type AS DetailGroupement_Type
    FROM (Groupement INNER JOIN DetailCommandeC ON Groupement.RefGroupement = DetailCommandeC.RefGroupement) INNER JOIN DetailGroupement ON Groupement.RefGroupement = DetailGroupement.RefGroupement;
    voila j'ai enlevé un certain nombres de champs pour une meilleur lisibilité.

    Cette requête me ressort donc bien les résultats que je veut seulement problème, je ne peut absolument pas modifier les enregistrements... ce qui est plutôt embêtant étant donné que je base un formulaire dessus dans lequel il me faut modifier les données.

    En parcourant ce site et en recherchant dans l'aide, j'ai vu que le fait que les enregistrements d'une requête ne soient pas modifiables peuvent provenir du fait qu'il n'y ai pas de relations entre les tables, mais ce n'est pas le cas ici.

    Je me retourne donc vers vous en espérant que vous pourrez m'aider

    cordialement

    Mcfly

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Bonjour.

    Il me semble que dans la clause SELECT, il manque
    DetailGroupement.NumAuto...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    rebonjour

    effectivement, mais c'est juste que j'ai enlevé un certain nombre de champs dans la requête pour le poster sur le forum sans un avoir une requête trop longue, sinon dans mon programme le champ RefGroupement.NumAuto est bien présent

    cordialement

    mcfly

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Peux-tu zipper la base et la poster?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    Hélas non, je n'ai pas la possibilité de zipper ma base au travail.... je vais essayer ce soir de chez moi, mais je ne sais si cela passera (elle fait environ 10Mo, sans compter la dorsale)

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Donne un aperçu de la fenêtre des relations, ainsi que le texte exact (couper/coller) de ta requête

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    Alors voila déjà la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DetailCommandeC.NumAuto AS DetailCommandeC_NumAuto, DetailCommandeC.RefCommande, DetailCommandeC.Type AS DetailCommandeC_Type, DetailCommandeC.RefGroupement AS DetailCommandeC_RefGroupement, DetailCommandeC.Cout, DetailCommandeC.QuantiteCommande, DetailCommandeC.QuantiteFournie, DetailCommandeC.Group_Outil, Groupement.RefGroupement AS Groupement_RefGroupement, Groupement.Designation, Groupement.Affectation, Groupement.tranche, Groupement.Type AS Groupement_Type, Groupement.PersResp, Groupement.Disponibilite, Groupement.Supprimer, DetailGroupement.NumAuto AS DetailGroupement_NumAuto, DetailGroupement.RefGroupement AS DetailGroupement_RefGroupement, DetailGroupement.Type AS DetailGroupement_Type, DetailGroupement.Quantite
    FROM (Groupement INNER JOIN DetailCommandeC ON Groupement.RefGroupement = DetailCommandeC.RefGroupement) INNER JOIN DetailGroupement ON Groupement.RefGroupement = DetailGroupement.RefGroupement;
    Rahhh je peut pas mettre le screen de la fenêtre relation, le webmaster bloque mon hébergeur d'image et le fichier est trops gros grrrrrr

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Selon ta messagerie, si tu te l'envoies, il va te proposer de le compresser... Tu n'auras plus qu'à copier la pièce jointe pour la déposer sur le forum

  9. #9
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bonjour,

    je peux dire une betise mais étant donné qu'il y a dans la sélection des éléments de plusieurs tables.

    une hypothèse
    il ne veux pas que tu change car il peux y avoir confusion dans les nom de champs
    une autre
    il ne veux pas car il doit mettre a jour des clefs primaire

    et peut être la plus probable... une référence peux pointer vers plusieurs enregistrement....



    mais bon je dis ça je dis rien...


  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    Re

    bon j'ai réussi a héberger l'image :



    dite moi si vous la voyez car moi je ne peut pas (super le web du travail qui bloque tout et n'importe quoi...)

    Sinon merci mayekeul de ta réponse mais je ne pense pas que ca soit ca car lorsque que je scinde cette requête en deux requêtes, je peut modifier ce que je veux sur les deux, par contre lorsque que je fait une requête regroupant les deux requêtes, la plus moyen de modifier
    Images attachées Images attachées  

  11. #11
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    je comprends, mais je continue à penser que si tu n'as pas une requête qui respecte le nombre d'enregistrement ( donc pour une relation de type A=B, tu devrais avoir UN SEUL enregistrement AB) il te refusera l'update car imposible de mettre à jour plusieurs résultats de la requete.

    EDIT : et ici en venant de faire le test, cela se vérifie ... même avec deux tables

  12. #12
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    je pense que ceci devrait t'aider

    http://support.microsoft.com/kb/328828

  13. #13
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par mayekeul Voir le message
    ...
    EDIT : et ici en venant de faire le test, cela se vérifie ... même avec deux tables
    Si tu as une jointure inner join ( comme dans la requête de la question, cela ne pose pas de problème...

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    Je comprend ce que tu veut dire maykeule, mais justement ce que je veut avoir c'est tous les enregistrements detailGroupement qui correspondent a UN enregistrement DetailCommandeC... la table groupement est en quelque sorte une table intermédiaire qui permet d'avoir les relations...
    De plus j'ai tester les requêtes avec deux tables (DetailCommandeC avec Groupement et Groupement avec detailGroupement) et je peut modifier mes enregistrements.

    désolé si je parais lent à la comprenette j'avoue avoir un peu (beaucoup) de mal avec le SQL

  15. #15
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    regarde bien le lien plus haut

    il explique les différents cas d'une requête non "updateable"
    ton cas donc!

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    pfiouuuu merci pour ton lien mayekeule

    Effectivement j'étais dans le cas d'un des exemples de ton lien, il m'a juste fallu passer la propriété recordsettype de mon formulaire de Feuille de réponse dynamique à Feuille rép.dyn.(MAJ globale).... J'étais sur que c'étais unpti problème dans ce genre la^^ c'est toujours comme ca lol

    Bon et bien merci de votre aide à toi et a pierre fauconnier, ca fera un problème de plus résolue grace a l'aide de dvlp.com a ajouter dans la longue liste de mes problèmes résolus grace a ce site

    encore merci!!

    cordialement

    Mcfly

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

Discussions similaires

  1. [MySQL] modifier les enregistrement d'une table mysql par un formulaire
    Par belakhdarbts10 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/05/2007, 11h09
  2. Impossible de modifier des enregistrements d'une requête
    Par soso78 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 04/04/2007, 18h08
  3. Réponses: 3
    Dernier message: 04/05/2006, 13h00
  4. Réponses: 2
    Dernier message: 05/10/2005, 15h27
  5. Réponses: 11
    Dernier message: 30/08/2005, 09h31

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