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 averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    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 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 454
    Par défaut
    Ca dépend, quelle est la relation entre vos anciennes et vos nouvelles valeurs ?

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    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 814
    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 !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

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

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    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 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    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);
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

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

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    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
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    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 814
    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 !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

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

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    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
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    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 814
    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.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

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

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    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