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

IHM Discussion :

Suppression de caracteres lors d'un import de fichier


Sujet :

IHM

  1. #1
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut Suppression de caracteres lors d'un import de fichier
    Bonjour à tous,

    Petit souci...
    Je souhaiterais que lors du transfert d'un fichier je puisse modifier le contenu de ce fichier.

    Ma table s'appelle row data elle est sous xlsx et je la transfert en csv
    dans une des colonne "Handover to Consignee's Agent" j'ai des virgules et je souhaite les retirer avant la transformation en CSV

    Le code que j'ai mis derrière le bouton dans un formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Command0_Click()
     
    Update Table
    Set [T000_Row_data] = Replace([Handover to Consignee's Agent], ",", "")
     
    DoCmd.TransferText acExportDelim, , "T000_Row_data", "C:\Users\Toto\Documents\Myreport.csv", True
     
     
    End Sub
    Le message d'erreur :
    Compile error:
    Sub or Function not defined

    Qu'est ce que j'ai raté?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Il faut utiliser la commande RunSQL dans votre cas en précisant le sql de la requête, ça ferait quelque chose comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Command0_Click()
    Dim LeSQL as string
     
    LeSQL="Update T000_Row_data " & _
    "Set [T000_Row_data].[Handover to Consignee's Agent] = Replace([Handover to Consignee's Agent], ',', '')"
     
    DoCmd.SetWarnings False
    DoCmd.RunSQL(LeSQL)
    DoCmd.SetWarnings True
     
    DoCmd.TransferText acExportDelim, , "T000_Row_data", "C:\Users\Toto\Documents\Myreport.csv", True
     
    End Sub
    Mais il faut peut-être créer une table intermédiaire (T000_Row_data2) avant et exporter cette table, pour éviter de mettre à jour la table d'origine :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * INTO T000_Row_data2 FROM T000_Row_data

    ça ferait donc un code du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Command0_Click()
    Dim LeSQL as string
     
    LeSQL="Update T000_Row_data2 " & _
    "Set [T000_Row_data2].[Handover to Consignee's Agent] = Replace([Handover to Consignee's Agent], ',', '')"
     
    DoCmd.SetWarnings False
    DoCmd.RunSQL("SELECT * INTO T000_Row_data2 FROM T000_Row_data")
    DoCmd.RunSQL(LeSQL)
    DoCmd.SetWarnings True
     
    DoCmd.TransferText acExportDelim, , "T000_Row_data2", "C:\Users\Toto\Documents\Myreport.csv", True
     
    End Sub
    Cdlt,

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Merci User

    Alors A pas bien tout compris !!

    J'ai copier/coller votre premier code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Command0_Click()
    Dim LeSQL as string
     
    LeSQL="Update T000_Row_data " & _
    "Set [T000_Row_data].[Handover to Consignee's Agent] = Replace([Handover to Consignee's Agent], ',', '')"
     
    DoCmd.SetWarings False
    DoCmd.RunSQL(LeSQL)
    DoCmd.SetWarings True
     
    DoCmd.TransferText acExportDelim, , "T000_Row_data", "C:\Users\Toto\Documents\Myreport.csv", True
     
    End Sub
    et click bouton

    J'ai un message d'eeur sur le set warnings que je ne comprends pas
    Compile error Method or data member not found?

    Kezaco?

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    autant pour moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.SetWarnings False
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Command0_Click()
    Dim LeSQL as string
     
    LeSQL="Update T000_Row_data " & _
    "Set [T000_Row_data].[Handover to Consignee's Agent] = Replace([Handover to Consignee's Agent], ',', '')"
     
    DoCmd.SetWarnings False
    DoCmd.RunSQL(LeSQL)
    DoCmd.SetWarnings True
     
    DoCmd.TransferText acExportDelim, , "T000_Row_data", "C:\Users\Toto\Documents\Myreport.csv", True
     
    End Sub
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Merci USER

    Désolé pour le désagrément mais j'ai de nouveau un message!

    Run-Time error '3075':
    Operation must use an updateable query.

    ???

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Apparemment "T000_Row_data" est une requête qui ne peut être mise à jour :

    Dans ce cas pourquoi ne pas utiliser le 2ème code, avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.RunSQL("SELECT * INTO T000_Row_data2 FROM T000_Row_data")
    Pour transformer cette requête en table ?
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  7. #7
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Merci USER

    "T000_Row_data" est une table liée. Est ce que cela pose problème?

    Je n'ai pas été assez explicite.
    J'ai deux tables liées. Une provenant de la source en xlsx et contenant, dans certaines colonnes, des dates avec des format "bizarres"
    "Feb 5, 2016 12:00:00 AM" à la place de "05/02/2016 12:00:00"
    Donc lorsque je lie cette table les datas sont non conformes.
    Lorsque je la transfert en CSV le séparateur virgule me fait un "Feb 5" et dans la colonne d'à coté " 2016 12:00:00 AM"
    Il ne considère plus cela comme des dates et me remonte N/A


    Je me suis dit (à tord sans doute) "je vais prendre la table xlsx liée et l'enregistrée sur mon PC à l'adresse C:\Users\Toto\Documents\Myreport.csv et je vais en profiter pour "cleaner" ces colonnes."

    La table CSV est donc elle aussi liée.

    c'est tordu, non?

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Il y a possibilité d'exporter en utilisant d'autre séparateur, comme le tab :

    Il faut exporter manullement une 1ère fois, puis enregistrer, les spécifications d'exportations : access devrait t'ajouter une entrée dans la table système MSysIMEXSpecs.

    Ensuite il faut voir la colonne FieldSeparator.

    Et enfin spécifier cette exportation dans la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferText acExportDelim, ExportCSV, "T000_Row_data", "C:\Users\Toto\Documents\Myreport.csv", True
    Cdlt
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  9. #9
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    OUPS stop!

    En fait le problème est tout autre. J'ai essayé de le contourner mais ce n'est pas la bonne méthode!!

    En fait le 1er fichier xlsx qui est lié les colonnes avec les dates ont la même apparence. Lorsque je lie ce fichier excel les dates en erreur se positionnent à droite! - donc ça doit être du texte

    Nom : 02-09-2016 19-43-07.png
Affichages : 109
Taille : 7,3 Ko

    Lorsque je met cette table liée en design view les champs en erreur sont en text
    Nom : 02-09-2016 19-50-29.png
Affichages : 132
Taille : 5,7 Ko
    Par contre dans excel tous les champs sont en "customs" et c'est le même format que les autres!

    Comment faire pour corriger ces formats et avoir un format standard?

    Merci

  10. #10
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Peut-être agir au niveau d'Excel, en changeant le format des cellules, en standard ou en date.

    Pouvez-vous poster votre fichier excel que je teste ?
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  11. #11
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Bonsoir USER

    Ci-joint

    For_User.xlsx

    Colonne problématiques de AQ à AT

    Merci

  12. #12
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Le problème c'est que j'ai lié ton fichier excel, et j'obtiens bien des format dates, pour ces champs :

    Nom : Table_liée_Création.jpg
Affichages : 126
Taille : 331,7 Ko
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  13. #13
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Damned!!
    Je viens de lier celui que je t'es envoyé!

    Nom : 02-09-2016 22-25-08.png
Affichages : 131
Taille : 10,4 Ko

    Je suis sur un ordi Eng, les datas viennent d'un serveur de l'étranger?

    Comment Est-ce possible?

    Je vais essayer sur mon ordi personnel (French)

  14. #14
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Sur mon PC perso idem!

    D'ou cela peut-il venir?

    Nom : ScreenShot052.gif
Affichages : 111
Taille : 9,1 Ko

  15. #15
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    J'ai essayé de modifier les paramètres de langues, rien n'y fait!

    Au secours!

Discussions similaires

  1. [WD15] Suppression de doublons lors de l'importation d'une table
    Par ykydra dans le forum WinDev
    Réponses: 3
    Dernier message: 22/12/2010, 12h14
  2. [MySQL] Erreur de syntaxe lors de l'import de fichier .sql
    Par dadoo91 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 29/05/2008, 07h47
  3. Réponses: 14
    Dernier message: 19/09/2007, 13h39
  4. Pb de type lors de l'importation de fichier Excel
    Par afossier dans le forum Access
    Réponses: 5
    Dernier message: 05/04/2006, 17h03
  5. Réponses: 4
    Dernier message: 27/10/2005, 11h05

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