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 :

Comment renseigner un des champs d'une table à partir de valeurs concaténées (valeurs issues d'autres champs


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 73
    Points : 38
    Points
    38
    Par défaut Comment renseigner un des champs d'une table à partir de valeurs concaténées (valeurs issues d'autres champs
    de cette même table, sans passer par une requête?

    Bonjour et Merci pour vos réponses

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Points : 38
    Points
    38
    Par défaut
    explicite un peu

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 73
    Points : 38
    Points
    38
    Par défaut
    Imaginons une table avec les champs suivants:

    Fruits - Couleur - Origine - Ref

    Les champs Fruits , Couleur & Origine sont renseignés en remontant un fichier texte (appelons le fruits.txt)

    Ce que je souhaiterai faire, c'est une fois mon fichier txt remonté dans ma table, que le champ "Ref" se remplissent automatiquement par la concaténation des valeurs de ces 3 premiers champs et ceci sans passer par une requête

    Fruits - Couleur - Origine - Ref

    1ère ligne Banane / Jaune / Martinique => on aurait Banane Jaune Martinique
    2ème ligne Fraise / Rouge / Bretagne => on aurait Fraise Rouge Bretagne
    etc...

    Merci pour votre aide

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 73
    Points : 38
    Points
    38
    Par défaut
    Si ça peut vous aider, j'utilise déjà un code qui permet de renseigner devant des lignes de champs importés, la valeur par défaut d'un champ par le nom du fichier d'import.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim oFSO As Scripting.FileSystemObject
    Dim strChemin As String
     
    strChemin = "Le chemin/01-02.txt"
     
    Set oFSO = New Scripting.FileSystemObject
     
    gauche = Left(oFSO.GetBaseName(strChemin), 2)
    droite = Right(oFSO.GetBaseName(strChemin), 2)
     
    DoCmd.RunSQL "UPDATE IMPORT SET Période1 =" & gauche & ";"
    DoCmd.RunSQL "UPDATE IMPORT SET Période2 =" & droite & ";"

    Donc on reste dans la même logique si ce n'est que la valeur par défaut ne doit plus être renseigné par le nom du fichier d'import, mais bien par la concaténation des valeurs de champs importés

    ... et là c'est bête... mais je bloque!!

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Points : 38
    Points
    38
    Par défaut
    tu peux peut etre passer par un code ressemblant a ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute "UPDATE [Nom de la table]SET ref='" & fruit & coulleur & origine& "' WHERE [Fruit]='" & fruit & "'"

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 73
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    désolé mais je n'ai toujours pas réussi à débloquer la situation

    Merci pour vos contributions

  7. #7
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Bonjour

    D'une manière générale on ne stocke jamais de données calculées (la concaténation est un calcul) dans une table. La concaténation est à reconstruire à chaque utilisation via une requête de sélection (SELECT)

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/01/2014, 19h50
  2. [WD11] comment inserer automatiquement des colonnes dans une table
    Par incomparable dans le forum WinDev
    Réponses: 3
    Dernier message: 31/08/2009, 13h51
  3. Réponses: 1
    Dernier message: 28/04/2008, 16h47
  4. Réponses: 6
    Dernier message: 07/02/2006, 14h44
  5. remplir un champ d'une table à partir d'une autre table
    Par MrsFrizz dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/02/2005, 16h48

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