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 :

Création table avec Nb enregist. = Nb valeurs concaténées dans un champ [AC-2010]


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 123
    Par défaut Création table avec Nb enregist. = Nb valeurs concaténées dans un champ
    Bonjour,

    Je recois un fichier avec 2 champs dont le "Type" contient des valeurs séparées par "/".
    Je souhaite pouvoir récupérer dans une nouvelle table autant d'enregistrements du champ "Code" que de valeurs contenues dans le champ "Type".
    Voir PJ pour mieux comprendre le résultat souhaité.

    J'avoue avoir regardé mais sans succès sur le site pour trouver une piste eventuelle à ma demande.
    Pas évident de trouver le bon clé pour effectuer une recherche.
    De même pour trouver l'intitulé de mon post et savoir dans quelle rubrique le déposer.

    Merci pour votre aide.
    Cordialement.
    StSym
    Images attachées Images attachées  

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9 002
    Par défaut
    bonsoir,
    pour séparer des valeurs dans un champ, on utilise la fonction Split() (utilisable uniquement dans VBA) et on remplit un tableau avec les valeurs obtenues.
    Voici le code VBA qui va enregistrer les données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Function fSplitData()
    Dim tabType() As String
    Dim i As Integer
    Dim oRst1 As Recordset, oRst2 As Recordset
     
    Set oRst1 = CurrentDb.OpenRecordset("select code, type from tbl_Origine order by code;")
    Set oRst2 = CurrentDb.OpenRecordset("tbl_Destination", dbOpenDynaset)
     
    ' Lecture table d'origine
    Do While Not oRst1.EOF
        ' séparation des valeurs
        tabType = Split(oRst1.Fields("Type"), "/")
        ReDim Preserve tabType(UBound(tabType))
     
    ' ajout dans la table destination
        For i = 0 To UBound(tabType)
            oRst2.AddNew
            oRst2.Fields("Code") = oRst1.Fields("Code")
            oRst2.Fields("Type") = tabType(i)
            oRst2.Update
        Next i
        oRst1.MoveNext
    Loop
     
    oRst1.Close: Set oRst1 = Nothing
    oRst2.Close: Set oRst2 = Nothing
     
    End Function

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 123
    Par défaut
    Bonjour tee_grandbois,

    Magique!
    Merci pout ta réponse rapide.

    Cordialement.
    StSym

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

Discussions similaires

  1. [WD19] Affectation Valeurs concaténées dans un champ combo
    Par Térence01 dans le forum WinDev
    Réponses: 2
    Dernier message: 05/05/2014, 09h33
  2. Erreur création table avec cle etrangere
    Par cd090580 dans le forum Outils
    Réponses: 2
    Dernier message: 05/01/2008, 19h17
  3. Réponses: 3
    Dernier message: 26/07/2007, 16h23
  4. ORACLE : pseudo-table avec une liste de valeurs
    Par LEPTMR dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/11/2006, 17h02
  5. Probleme de création table avec PK et auto_increment
    Par slefevre01 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 14/02/2006, 14h14

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