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 :

Enregistrer une valeur dans un champ d'une table (Recorset) et (Chaine de caractère)


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 16
    Points : 16
    Points
    16
    Par défaut Enregistrer une valeur dans un champ d'une table (Recorset) et (Chaine de caractère)
    Bonjour,
    J'effectue à partir d'une requête un recordset qui enregistre toutes les valeurs dans une table tampon.
    Dès que je démarre ma requête je crée ma table tampon. (voir 1er code)
    Dans ma table d'origine je retrouve bien les champs, (ID_Appareil, ID_Cellule, ID_Elec, FabNum, Ref) mais je souhaite remplir la table Tampon en décomposant la référence à partir du champ Ref (Voir 2ème code) pour remplir les champs (Suppressiontire,Suppressionrumpf,TypeK2,typeKdeo,Liquide,Plagedetemperature...)

    1 er code
    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
    29
    30
    31
    32
    33
     
    Set FLD = TD.CreateField("ID_Appareil", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("ID_Cellule", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("ID_Elec", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("FabNum", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("Ref", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("Suppressiontire", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("Suppressionrumpf", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("TypeK2", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("typeKdeo", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("Liquide", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("Plagedetemperature", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("Matierebois", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("DateModif", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("Senseo", dbText)
    TD.Fields.Append FLD
    Set FLD = TD.CreateField("ID_ProcessIO", dbText)
    TD.Fields.Append FLD
    'Enregistrement de la table
    DB.TableDefs.Append TD
    2ème code
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    Set CurRecQuery = DB.OpenRecordset(strSQL)
    Set RecTabCible = DB.OpenRecordset("select * from TABLE_TamponIsoOffset")
     
             If CurRecQuery.RecordCount <> 0 Then
                CurRecQuery.MoveFirst
                'RecTabCible.MoveFirst
     
                Do While CurRecQuery.EOF = False
                 RecTabCible.AddNew
                      For Each FLD In CurRecQuery.Fields
     
                      RecTabCible.Fields(FLD.SourceField).Value = FLD
     
                                '----------------------------------------------
                                'Détection du champ "Ref"
                                FLDNAME = FLD.Name
                                If FLDNAME = "Ref" Then
                                    '-----------------------------------------
                                    'Action de remplacement
     
                                    'Suppression des tirés
                                    Vsuppressiontire = Replace(FLD, "-", "")
                                    'enregistrement de la valeur dans le champ Suppressionrumpf
                                    'mais comment faire?
     
                                    'Suppression du rumpf "ABC"
                                    VSuppressionrumpf = Replace(Vsuppressiontire, "abc", "")
     
                                    'Extraction 2 caractères du KBAU
                                    VTypeK2 = Mid(VSuppressionrumpf, 1, 2)
     
                                    'Extraction 4 caractères du KBAU
                                    VtypeKdeo = Mid(VSuppressionrumpf, 1, 4)
     
                                    'Extraction du type de Liquide
                                    VLiquide = Mid(VSuppressionrumpf, 5, 1)
     
     
                                    'Extraction de la plage de mesure
                                    VPlagedetemperature = Mid(VSuppressionrumpf, 6, 1)
     
                                    'Extraction de la matière contact
                                    VMatierebois = Mid(VSuppressionrumpf, 7, 1)
                                End If
     
     
                                'boucle
     
                            Next FLD
                            RecTabCible.Update
                            CurRecQuery.MoveNext
                            'RecTabCible.MoveNext
     
                        Loop
     
                        Ret = True
                        End If
                        AtributBool_Existant = Ret
    Merci de votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    J'ai trouvé la solution:
    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
     
    If CurRecQuery.RecordCount <> 0 Then
                CurRecQuery.MoveFirst
                'RecTabCible.MoveFirst
     
                Do While CurRecQuery.EOF = False
                 RecTabCible.AddNew
                      For Each FLD In CurRecQuery.Fields
     
                      RecTabCible.Fields(FLD.SourceField).Value = FLD
     
                                '----------------------------------------------
                                'Détection du champ "Ref"
                                FLDNAME = FLD.Name
                                If FLDNAME = "Ref" Then
                                    '-----------------------------------------
                                    'Action de remplacement
     
                                    'Suppression des tirés
                                    Vsuppressiontire = Replace(FLD, "-", "")
                                    'enregistrement de la valeur dans le champ Suppressionrumpf
                                    'mais comment faire
                                    'Solution
                                    RecTabCible.Fields(Suppression)=Replace(FLD, "-", "")

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

Discussions similaires

  1. Requette d insertion d une valeur dans un champ d une table
    Par djibsonne dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/05/2010, 10h52
  2. [XL-2000] Remplir une valeur dans cellule à partir d'une valeur precise d'un fichier texte
    Par cactus666 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/01/2010, 10h31
  3. Copier une valeur dans un champs depuis une procédure
    Par zinabd dans le forum Designer
    Réponses: 8
    Dernier message: 20/11/2008, 09h31
  4. Récupérer une valeur dans un champ d'une autre table
    Par Kareg dans le forum Modélisation
    Réponses: 15
    Dernier message: 24/10/2007, 14h16
  5. Conserver une valeur dans un champs
    Par zakfa dans le forum IHM
    Réponses: 5
    Dernier message: 04/10/2004, 08h48

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