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 :

Ajout d'un espace par Access lors d'un copié/collé


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Chef de projet informatique
    Inscrit en
    Juillet 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2008
    Messages : 115
    Par défaut Ajout d'un espace par Access lors d'un copié/collé
    Bonjour à tous,

    J'ai un problème d'ajout d'espace dans mes champs. Je m'explique.
    J'ai une première table (BDC) dans laquelle je sélectionne les lignes qui ont le champs "pick_seq_11" non null, puis j'enregistre ces lignes dans une autre table (BDC_select_ps11). Et là je me rends compte que pour chaque champs copié/collé dans la table BDC_select_ps11 access rajoute un espace à la fin de la valeur. Par exemple si un champs de la table BDC contient "C017713", il me colle dans la table BDC_select_ps11 "C017713 ". Du coup je ne peux pas faire de rapprochement après entre les deux tables car mes champs sont différents d'un espace
    quelqu'un sait d'où ça vient et comment y remédier, ou alors connaissez vous un moyen de contournez cette difficulté ?
    Une dernière précision le copié/collé des lignes sélectionnées, je le fait en vba.

    Merci

  2. #2
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 36
    Par défaut
    Pour t'aider, il faudrait que tu me montres ton code

  3. #3
    Membre Expert Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 406
    Par défaut
    Bonjour,

    Comment sélectionnes-tu tes lignes ? par une requête ?

    Si c'est le cas, tu disposes des fonctions SupprEspace, SupprDroite et SupprGauche, mais elles ne sont qu'un remède. Il serait plus élégant de trouver la cause.

  4. #4
    Membre confirmé
    Femme Profil pro
    Chef de projet informatique
    Inscrit en
    Juillet 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2008
    Messages : 115
    Par défaut
    Bonjour,

    Merci pour vos réponses, voici une partie de mon 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
    'On sélectionne les picks tickets dont la quantité est supérieure ou égale à nb_mini
            strsql2 = "SELECT BDC.[Pick Ticket #] AS pick_select FROM BDC GROUP BY BDC.[Pick Ticket #] HAVING (((Sum(BDC.Quantity))> " & nb_mini & ") OR ((Sum(BDC.Quantity))= " & nb_mini & "))"
            Set rst2 = CurrentDb.OpenRecordset(strsql2)
            'on enregistre chaque picks tickets sélectionnés dans la table BDC_mono
            Do Until rst2.EOF
                num_pick = rst2![pick_select]
                'On va chercher la/les ligne(s) correspondante(s) à num_pick et on la/les enregistre(nt) dans la table BDC_mono
                strsql3 = "SELECT BDC.[Customer #] AS custom1, BDC.[Customer #1] AS custom2, BDC.[Order #] AS order1, BDC.[Style #] AS style1, BDC.Color AS color1, BDC.[Size Type] AS size_type1, BDC.Size AS size1, BDC.Quantity AS qte1, BDC.[Pick Sequence 1] AS pick1, BDC.[Pick Sequence 11] AS pick11, BDC.[Pick Sequence 2] AS pick2, BDC.[Pick Sequence 3] AS pick3 FROM BDC WHERE (((BDC.[Pick Ticket #])='" & num_pick & "'))"
                Set rst3 = CurrentDb.OpenRecordset(strsql3)
                Do Until rst3.EOF
                    custom1 = rst3![custom1]
                    custom2 = rst3![custom2]
                    order1 = rst3![order1]
                    style1 = rst3![style1]
                    color1 = rst3![color1]
                    size_type1 = rst3![size_type1]
                    size1 = rst3![size1]
                    qte1 = rst3![qte1]
                    pick1 = rst3![pick1]
                    pick11 = rst3![pick11]
                    pick2 = rst3![pick2]
                    pick3 = rst3![pick3]
                    'On enregistre le tout dans la table BDC_mono
                    MonSQL = "INSERT INTO BDC_mono ([Customer #], [Customer #1], [Pick Ticket #], [Order #], [Style #], Color, [Size Type], Size, Quantity, [Pick Sequence 1], [Pick Sequence 11], [Pick Sequence 2], [Pick Sequence 3], traite) VALUES ('" & [custom1] & " ', '" & [custom2] & " ', '" & [num_pick] & " ', '" & [order1] & " ', '" & [style1] & " ', '" & [color1] & " ', '" & [size_type1] & " ', '" & [size1] & " ', '" & [qte1] & " ', '" & [pick1] & " ', '" & [pick11] & " ', '" & [pick2] & " ', '" & [pick3] & " ',0)"
                    DoCmd.SetWarnings False
                    DoCmd.RunSQL MonSQL
                    DoCmd.SetWarnings True
                    rst3.MoveNext
                Loop
                rst3.Close
                rst2.MoveNext
            Loop
            rst2.Close
    Je sélectionne les numéros (pick ticket) qui m'intéressent, puis pour chaque numéros je vais sélectionner les lignes à copier et je les enregistre dans la table BDC_mono.
    J'utilise donc une requête pour sélectionner les lignes.
    Je vais essayer avec les fonctions que tu m'as donné Gabout, pour essayer d'appliquer un remède en attendant...
    Merci

  5. #5
    Membre confirmé
    Femme Profil pro
    Chef de projet informatique
    Inscrit en
    Juillet 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2008
    Messages : 115
    Par défaut
    Re,

    J'ai donc résolu le problème avec la fonction "Trim()", mais j'aimerai bien savoir le pourquoi du comment Access rajoute-t-il des espaces !
    Si quelqu'un sait ???
    Merci

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,
    vérifie ta requête INSERT INTO, tu y constateras des espaces laissés par omission

    essaie avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonSQL = "INSERT INTO BDC_mono ([Customer #], [Customer #1], [Pick Ticket #], [Order #], [Style #], Color, [Size Type], Size, Quantity, [Pick Sequence 1], [Pick Sequence 11], [Pick Sequence 2], [Pick Sequence 3], traite) VALUES ('" & [custom1] & "', '" & [custom2] & "', '" & [num_pick] & "', '" & [order1] & "', '" & [style1] & "', '" & [color1] & "', '" & [size_type1] & "', '" & [size1] & "', '" & [qte1] & "', '" & [pick1] & "', '" & [pick11] & "', '" & [pick2] & "', '" & [pick3] & "',0)"
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

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

Discussions similaires

  1. problème lors l'ajout d'un objet par souris
    Par info_sara dans le forum Ogre
    Réponses: 0
    Dernier message: 03/04/2012, 15h11
  2. Réponses: 2
    Dernier message: 22/02/2011, 09h27
  3. [A-03] désactiver le "+" ajouté par access dans ma table
    Par Taoueret dans le forum Modélisation
    Réponses: 4
    Dernier message: 06/01/2009, 17h55
  4. Réponses: 4
    Dernier message: 06/01/2007, 23h11

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