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 :

UPDATE d'un champ définit par une variable [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Homme Profil pro
    Logisitique
    Inscrit en
    Janvier 2018
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Logisitique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 190
    Points : 88
    Points
    88
    Par défaut UPDATE d'un champ définit par une variable
    Bonsoir et meilleurs vœux à tous...

    Si je ne m'abuse la requete pour un UPDATe est bien :
    DoCmd.RunSQL "UPDATE nom de la table Set nom du champ = ou aller chercher l'info WHERE "la condition;"
    dans mon cas, le nom du champ à updater varie.

    Est-ce autorisé que le nom du champ à updater soit donné par une variable?

    Merci de vos réponses

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    Bonsoir,
    oui, c'est possible, il faut juste mettre les variables en dehors des guillemets "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "UPDATE Nomdelatable Set " & Nomduchamp & " ='" & lavaleurduhamp & "' WHERE Lacondition;"
    les apostrophes ' sont valides quelque soit le type de données

  3. #3
    Invité
    Invité(e)
    Par défaut
    Oui, en construisant ainsi :
    DoCmd.RunSQL "UPDATE nom de la table Set " & MaVariableNomDuChamp & " = " etc...

    et non :
    DoCmd.RunSQL "UPDATE nom de la table Set MaVariableNomDuChamp = " etc...

    a+

  4. #4
    Invité
    Invité(e)
    Par défaut
    Contrairement aux affirmations de tee_grandbois, tout vrai programmeur vous conseillera de réserver les apostrophes ' ' aux données de type texte seulement

  5. #5
    Membre régulier
    Homme Profil pro
    Logisitique
    Inscrit en
    Janvier 2018
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Logisitique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 190
    Points : 88
    Points
    88
    Par défaut
    Super un grand merci à vous, cela fonctionne.

    Simple et efficace...

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonjour galoir,
    Citation Envoyé par galoir Voir le message
    Contrairement aux affirmations de tee_grandbois, tout vrai programmeur vous conseillera de réserver les apostrophes ' ' aux données de type texte seulement
    Dans l'absolu, je suis bien d'accord, sauf que, en l'occurrence, pour les instructions INSERT ... VALUES et UPDATE avec des valeurs fixes, c'est permis et plus pratique notamment si on veut insérer des valeurs avec des décimales ou une date avec séparateurs. C'est d'ailleurs utilisé couramment en SQL ORACLE que j'ai aussi pratiqué.
    Et c'est un programmeur de 35 ans de métier qui te l'affirme.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    en peine perdue (35 ans de métier ne se corrigent pas en un message), voici quand même 3 arguments :

    1) Illisibilité du code
    -> en relecture, le type de donnée de ma colonne est-il texte ou date? texte ou nombre? ...
    -> Multiplication des guillements et des apostrophes, déjà que le sql Access est plein de parenthèses pourquoi pas ça en plus...

    2) Dans le cas d'un update de date ou nombre, etc avec un Null, on retire dans ce ce cas les apostrophes ? Un règle qui change selon le vent n'est pas une bonne méthode...

    3) Se reposer totalement sur la conversion interne est la meilleure idée pour se planter... Faire une double conversion c'est pire et j'en perds la logique... (Date vers texte vers Date par exemple)

    Bonne continuation

  8. #8
    Invité
    Invité(e)
    Par défaut
    Un quatrième pour la route :

    4) Comment faire des opérations entre colonnes ou sur colonne avec des apostrophes : ColA * 1.1, etc...

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    je ne vais pas entrer dans une polémique, cela ne fait pas avancer les choses je redit simplement :
    pour les instructions INSERT ... VALUES et UPDATE avec des valeurs fixes
    et aussi:
    Dans l'absolu, je suis bien d'accord

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

Discussions similaires

  1. [AC-2013] Nom de champ défini par une variable
    Par JulieLesp dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 25/07/2014, 08h47
  2. Réponses: 14
    Dernier message: 24/02/2012, 17h04
  3. Réponses: 2
    Dernier message: 17/09/2008, 16h17
  4. contenu d'une variable définit par une autre variable
    Par PuppeT mAsTer dans le forum Langage
    Réponses: 4
    Dernier message: 04/07/2006, 19h32
  5. valeur d'un champ text modifié par une variable en parametre
    Par klimero dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 21/04/2006, 10h39

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