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 :

faire dans access plusieurs requetes update en une seule


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 14
    Points
    14
    Par défaut faire dans access plusieurs requetes update en une seule
    Bonjour je voudrais savoir si il est possible de réaliser plusieurs insertion ( update ) en une seule execution dans access

    je dois faire 26 fois cette requete

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE principale SET principale.Système_aquifère = 'x'
    WHERE principale.Système_aquifère='xx';

    comment faire pour faire mes 26 requetes en une seul fois , ou fait il que dans access j'execute 26 requetes différentes

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Ca dépend, quelle est la relation entre vos anciennes et vos nouvelles valeurs ?

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par HF974 Voir le message
    Bonjour je voudrais savoir si il est possible de réaliser plusieurs insertion ( update )
    Euh... UPDATE, c'est 'mise à jour', pas 'insertion' qui est donné par INSERT !

    Tu peux utiliser IN et tes 26 valeurs dans une seule requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE principale SET principale.Système_aquifère = 'x'
    WHERE principale.Système_aquifère IN('xx1', 'xx2', ..., 'xx26');
    Si par contre ta requête signifie que tu mets la valeur à 'x' parce qu'il y a 'xx' mais que la valeur sera plutôt 'y' s'il y a 'yy', il faut que tu nous expliques plus concrètement ce que tu veux faire.
    On peut aussi utiliser des jointures si les valeurs à modifier dépendent de valeurs d'une autre table. Par exemple un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE a
    INNER JOIN b ON a.cola = b.colb
    SET a.colc = b.colc
    A voir si Access accepte cette syntaxe ; il est très fantaisiste avec les jointures !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    pardon je n'ai pas était trés clair
    ce que je faire c'est cela:
    UPDATE principale SET principale.Système_aquifère = '1'
    WHERE principale.Système_aquifère='a;'


    UPDATE principale SET principale.Système_aquifère = '2'
    WHERE principale.Système_aquifère='b';

    ....

    UPDATE principale SET principale.Système_aquifère = '26'
    WHERE principale.Système_aquifère='z';

    mais en une seul fois

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 353
    Points
    34 353
    Par défaut
    salut,
    si tous tes enregistrements sont du type a, b c, etc.
    alors voici une idée :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE principale SET principale.Système_aquifère = CStr(Chr(principale.Système_aquifère)-96);

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    mais enregistrements sont des chAines de caractère

    UPDATE principale SET principale.Système_aquifère = '1'
    WHERE principale.Système_aquifère='C1G2'


    UPDATE principale SET principale.Système_aquifère = '2'
    WHERE principale.Système_aquifère='C1H1';

    ....

    UPDATE principale SET principale.Système_aquifère = '26'
    WHERE principale.Système_aquifère='ScH1A1';

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Si aucune logique ou aucune table externe ne donne la correspondance entre les anciennes valeurs et les nouvelles, il faut faire les 26 requêtes.

    Ceci dit, avec l'interface graphique d'Access en modifiant directement la table, ou via un formulaire, c'est plus facile que de faire 26 requêtes SQL !

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    la tâche que je dois accomplir est de remplacer dans une table des codes aquifères (C1G2) qui sont redondant afin d'éviter les répétitions.

    Je voudrais donc faire correspOndre ces codes à un numero (numero auto ) dans une table annexe et avoir donc le numero correspondant à aquifere dans ma table principale .

  9. #9
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Donc tu peux faire une jointure avec ta table externe comme je l'ai suggéré plus haut.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    OUI, merci c'est beaucoup plus facile comme cela

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

Discussions similaires

  1. [C#- ACCESS] Probleme requete update UPDATE
    Par katkiller dans le forum ASP.NET
    Réponses: 4
    Dernier message: 02/09/2008, 09h46
  2. Plusieur Update en une seule requete?
    Par sirbaldur dans le forum Requêtes
    Réponses: 1
    Dernier message: 22/06/2006, 13h13
  3. requete update avec une condition
    Par youtou dans le forum Langage SQL
    Réponses: 5
    Dernier message: 07/06/2006, 20h55
  4. Access 2000 Requete UPDATE
    Par ronando dans le forum Access
    Réponses: 7
    Dernier message: 31/01/2006, 16h39
  5. Réponses: 2
    Dernier message: 22/11/2005, 14h06

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