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

Access Discussion :

requête pour ajouter données à colonne


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 56
    Points : 16
    Points
    16
    Par défaut [résolu] requête pour ajouter données à colonne
    Bonjour,
    j'ai fait une requête pour regrouper des données (addition de surfaces pour un même nom de parcelle). J'ai donc la surface totale de chaque parcelle dans une colonne de la requête.
    J'aimerais intégrer cette colonne dans ma table, mais quand je veux faire une requête de mise à jour pour coller les données à la colonne correspondante, j'ai un message d'erreur "l'opération doit utiliser une resuête qui peut être mise à jour"
    Je suppose que ça veut dire que je ne peux pas sortir cette colonne à partir d'une requête, parce que ce n'est pas une table?
    Y a -til un moyen de faire une table à partir de la requête de sélection, pour pouvoir mettre la colonne à jour pas après?
    Ou y a-t-il un autre moyen de coller ces données dans la table ( pas de copier-coller, j'ai trop de lignes!!)
    merci

  2. #2
    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,

    Je ne comprend pas :
    Si tu fais un regroupement, comment veux tu mettre à jour ta table?
    Les lignes sont regroupées et donc les enregistrements de la requête ne correspondent pas ceux de la table....

    Mais sinon, pourquoi tu veux stocker les valeurs?
    Un calcul ne se stocke pas dans la base (sauf exception style temps de traitements énormes...).

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 56
    Points : 16
    Points
    16
    Par défaut
    Je vais essayer d'expliquer pourquoi je veux stocker ce calcul:
    j'ai une base de données énorme (165000 lignes), c'est l'ensemble des parcelles agricoles du Bas-Rhin.
    Chaque parcelle est enregistrée autant de fois qu'elle comporte de cultures (jusqu'à 10 fois), avec la surface respective de chaque culture.
    Je dois retraiter cette base pour que chaque parcelle n'apparaisse qu'une fois, avec un code de retraitement :
    "indéterminé" quand elle apparait plus de 3 fois,
    "compositexxx" quand elle apparait 2 ou trois fois, avec les x qui préciserot quelles cultures composent la parcelle...
    Je veux donc replacer en face de chaque numéro de parcelle la surface totale, pour pouvoir supprimer les doublons inutiles quand j'aurais renommé ceux dont j'ai besoin, sans perdre la connaissance de la surface totale de chaque parcelle, que j'ai calculé dans ma requête.

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 56
    Points : 16
    Points
    16
    Par défaut
    j'y pense, il y a peut-être moyen de créer une ligne en plus, pour chaque groupe de doublon, qui regroupe leur surface?

  5. #5
    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
    il faut alors une requête mise à jour sur la table et non pas sur la requête

    dans une nouvelle requête tu ajoutes ta table et ta requête regroupement (avec une jointure...)
    tu sélectionnes le champ de la table à mettre à jour et tu lui donnes la valeur de la surface totale prise dans la requête regroupement

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 56
    Points : 16
    Points
    16
    Par défaut
    j'ai du mal m'exprimer...ma requête de mise à jour devait s'effectuer sur la table principale, pour remplir la colonne "surface_ilot", que j'ai crée, et non sur la requête de sélection. Or, ça ne fonctionne pas, et j'ai le message d'erreur cité plus haut.

  7. #7
    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
    alors fais voir le code SQL de ta requête sinon on tourne en rond

  8. #8
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 56
    Points : 16
    Points
    16
    Par défaut
    voilà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE Producteurs_2005_reman INNER JOIN [PACilot_surface] ON Producteurs_2005_reman.Numéro = [PACilot_surface].Numéro SET Producteurs_2005_reman.surface_ilot = [PACilot_surface]![SommeDeSurface_num];

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 56
    Points : 16
    Points
    16
    Par défaut
    personne n'a une idée?

  10. #10
    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
    effectivement je l'avais jamais fait avec une requête regroupement et il n'en veut pas!

    tu peux toujours transformer la requête en table avec une requête création de table, et faire la jointure sur cette nouvelle table...

    c'est pas terrible mais si c'est juste pour une fois ça suffit

  11. #11
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 56
    Points : 16
    Points
    16
    Par défaut
    je dois donc transformer la requête avec les regroupements en une table?

  12. #12
    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
    oui, tu transformes la requête en requête création de table

    ensuite avec cette nouvelle table tu devrais pouvoir faire une jointure

  13. #13
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 56
    Points : 16
    Points
    16
    Par défaut
    je me suis tapée la création de 21 tables, mais ça a marché...

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

Discussions similaires

  1. [SQL Server] syntaxe pour ajouter une colonne à une table
    Par gloglo dans le forum Langage SQL
    Réponses: 8
    Dernier message: 10/09/2009, 11h43
  2. Requête pour ajouter des données
    Par parasol007 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/07/2008, 11h31
  3. Requête pour fusionner deux colonnes
    Par david71 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/12/2007, 20h44
  4. Requête pour ajouter ou modifier un champ
    Par Linio dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/06/2007, 21h57
  5. Requête pour importer donnés
    Par R.L. dans le forum Requêtes
    Réponses: 1
    Dernier message: 02/06/2006, 21h43

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