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

VBA Access Discussion :

Simplifier une 10 de requetes MAJ [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2006
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2006
    Messages : 239
    Points : 105
    Points
    105
    Par défaut Simplifier une 10 de requetes MAJ
    Bonjour le forum,
    J'ai une 10 de requetes MAJ sur le meme champ, en SQL cela donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE tbl_archives SET tbl_archives.dossier = "EN COURSE"
    WHERE (((tbl_archives.dossier)="EN COURS"));
    UPDATE tbl_archives SET tbl_archives.dossier = "REFUSEE"
    WHERE (((tbl_archives.dossier)="REFUSE"));
    Est il possible de regrouper toutes ces requetes Mise a jour au moyen de VBA.
    Merci pour l'aide et bonne AM

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 108
    Points : 5 231
    Points
    5 231
    Par défaut
    Bonjour

    Il est possible de faire une table "dictionnaire" et faire un update sur les 2 tables jointes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update table inner join dico on table.champ=dico.old set table.champ=dico.new

  3. #3
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2006
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2006
    Messages : 239
    Points : 105
    Points
    105
    Par défaut
    Merci Nico84,
    Ne serait il pas possibble par VBA avec un replace ?

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 108
    Points : 5 231
    Points
    5 231
    Par défaut
    Je ne vois comment éviter 10 replace ou un case qui seront beaucoup plus long à exécuter

    Il est possible de faire un iif(iif(iif(... mais c'est pas très lisible !

  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 653
    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 653
    Points : 34 370
    Points
    34 370
    Par défaut
    salut,
    est-ce un hasard ou bien il faut juste enlever le E de la fin dans la mise à jour ?

  6. #6
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2006
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2006
    Messages : 239
    Points : 105
    Points
    105
    Par défaut
    Bonsoir jpcheck,nico84 le forum,

    C'est un hasard si il faut supprimer le E final.
    J'ai une 10 de codes qui arrivent avec 4 lettres dans le meme champ,(Cela fait plusieurs centaines de lignes) il faut que je fasse une equivalence. Ce n'est pas toujours la 1ere ou la derniere lettre qu'il faut supprimer;
    par exemple

    ABCD = BCD
    QDES = AZE
    FORM = FOR

    merci pour le coup de main.
    Bonne soirée

  7. #7
    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 653
    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 653
    Points : 34 370
    Points
    34 370
    Par défaut
    approche la moins contraignante :
    - faire une table avec deux champs
    >Ancienne_Val
    >Nouvelle_Val

    Avec une seule requête UPDATE avec une jointure sur Ancienne_Val et un set vers Nouvelle_Val

  8. #8
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2006
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2006
    Messages : 239
    Points : 105
    Points
    105
    Par défaut
    Bonjour,
    Merci pour vos solutions.
    Je fais effectivement une table avec les anciennes et nouvelles valeurs.
    C'est la solution la plus simple.
    Merci jpcheck et nico84
    Bonne journée à tous.
    Cordialement

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

Discussions similaires

  1. Simplifier une requete
    Par Msieurduss dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/12/2009, 12h56
  2. Simplifier une requete
    Par onimougwo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 22/05/2008, 17h18
  3. Simplifier une requete
    Par VIRGINIE87 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 15/05/2007, 07h45
  4. [MySQL] Simplifier une requete
    Par philippef dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 04/07/2006, 15h42
  5. [MySQL] reset d'une ressource de requete
    Par Vermin dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/01/2006, 22h37

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