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 :

MAJ champ texte d'une requête


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 94
    Points : 62
    Points
    62
    Par défaut MAJ champ texte d'une requête
    Bonjour,

    -J'ai très peu de connaissances sur Access-

    Je cherche à mettre à jour le champ texte d'une requête (construite en SQL) via une requete mise à jour. Voici la construction de la reqûete en question :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCT [3-1 - Utilisateurs pour Import].LoginUser AS employeeCode, Format(Date(),"dd\.mm\.yyyy") AS employeeValidAt, "155X" AS orgaUnitCode, "Structure" AS orgaType, "Groupe" AS facility, "Employé(e)" AS rank, "N" AS relationType, 0 AS emergency, Format(Date(),"dd\.mm\.yyyy") AS startDate, "" AS endDate
    FROM [3-1 - Utilisateurs pour Import]
    WHERE ((([3-1 - Utilisateurs pour Import].[Type US]) Like "*dico*"));


    Le champ que je cherche à mettre à jour automatiquement est l'orgaunitcode : "155X".

    Est-ce possible via une requête mise à jour ou l'on pourrait saisir le code voulue?

    Merci beaucoup pour votre aide.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour

    Ne defini pas un vrai champ, il define une constante donc tu ne peux pas changer cette valeur.

    Ce que tu peux faire c'est modifier par code VBA le SQL de ta requete ou passer un parametre a ta requete.

    Pour le parametre cela ressemble a
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    parameters prmOrgaUnitCode Text(255);
    SELECT DISTINCT [3-1 - Utilisateurs pour Import].LoginUser AS employeeCode, Format(Date(),"dd\.mm\.yyyy") AS employeeValidAt, [prmOrgaUnitCode] AS orgaUnitCode, "Structure" AS orgaType, "Groupe" AS facility, "Employé(e)" AS rank, "N" AS relationType, 0 AS emergency, Format(Date(),"dd\.mm\.yyyy") AS startDate, "" AS endDate
    FROM [3-1 - Utilisateurs pour Import]
    WHERE ((([3-1 - Utilisateurs pour Import].[Type US]) Like "*dico*"));

    pour le VBA il faut construire ta chaine puis l'affecter a ta requete.

    ex de methode pour y arriver :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    dim taNouvelleValeur as string:taNouvelleValeur="TOTO"
     
    dim db as dao.database:set db=currentdb
    dim q as dao.querydef:set q=db.querydefs("NomTaRequete")
    dim SQL as string
    SQL=""
    SQL=SQL & "SELECT DISTINCT [3-1 - Utilisateurs pour Import].LoginUser AS employeeCode, Format(Date(),""dd\.mm\.yyyy"") AS employeeValidAt, """ & tNouvelleValeur & """ AS orgaUnitCode, ""Structure"" AS orgaType, ""Groupe"" AS facility, ""Employé(e)"" AS rank, ""N"" AS relationType, 0 AS emergency, Format(Date(),""dd\.mm\.yyyy"") AS startDate, """" AS endDate"
    SQL=SQL & " FROM [3-1 - Utilisateurs pour Import]"
    SQL=SQL & " WHERE ((([3-1 - Utilisateurs pour Import].[Type US]) Like ""*dico*""));"
    q.sql=SQL
    se q=nothing
    db.close:set db=nothing
    Attention changer le SQL marche seulement si tu as une copie locale de ta BD front-end, si tu partages ton front-end sur un serveur de foichier tu vas modifier le SQL de tout le monde.

    Personnellement je recommande la requete parametree mais cela peut poser des problemes si elle est dans une chaine de requete. Il faut passer le parametre a un moment donnees.

    Note que si la valeur est dans un formulaire Access peut l'utiliser comme source du parametre de maniere transparente pour l'utilisateur.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. MAJ d'un fichier texte par une requête sql
    Par kayserfc dans le forum VB.NET
    Réponses: 2
    Dernier message: 24/12/2009, 08h39
  2. comment insérer une valeur provenant d'un champs texte dans une requête SQL
    Par carlostropico dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 02/12/2009, 14h38
  3. Rafraîchir les champs text par une requête
    Par nounowa dans le forum JDBC
    Réponses: 2
    Dernier message: 18/07/2007, 12h14
  4. Réponses: 3
    Dernier message: 09/02/2007, 18h51
  5. Réponses: 5
    Dernier message: 15/09/2006, 16h13

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