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 :

Impossible de faire un transferttext csv dans une table lié


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Gabrieel
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 187
    Par défaut Impossible de faire un transferttext csv dans une table lié
    Bonjour,

    soit A ma base de donnée frontal a partir de quel je fait un import d'un fichier csv via transfert text dans une table liée de la base B. voici le message d'erreur que j'ai
    Nom : ano import texte.PNG
Affichages : 199
Taille : 13,6 Ko

    j'ai cru que j'avais un probleme avec mes spec d'import ou avec le format du fichier ou avec les paramêtrage des champs, mais j'ai tout testé et j'ai quand même les messsages d'erreur

    est ce que c'est possible qu'on ne sache pas faire un import transfert texte dans une table liée?

    merci de votre aide
    Bien cordialement
    G

    pour info voici mon code de transfert
    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
    60
    Public Sub ImporteNecarex()
     
                    'ATL : le 09/11/2012 : appeler un sélecteur de fichier pour le chargement de fichiers textes
                    Dim file_name    As String
                    Dim position       As Integer
                    Dim dossier         As String
                    Dim fd                  As Object
                    Dim intI                As Integer
     
                    Set fd = Application.FileDialog(msoFileDialogFilePicker)
                    fd.Title = "! Sélectionner le fichier Necarex..."             ' Titre de la boîte de dialogue
                    fd.AllowMultiSelect = True                              ' Ne pas autoriser la sélection multiple
     
                    ' Définir les types de fichiers autorisés
                        fd.Filters.Clear
                        fd.Filters.Add "Tous les fichiers", "*.*"
                        fd.Filters.Add "Excel", "*.csv; *.xls; *.xslx"
     
                    ' Présélectionner le 2ème type de fichier (Excel)
                        fd.FilterIndex = 1
     
                    ' Afficher la boîte de dialogue
                        If fd.Show() Then
                            'fd.SelectedItems
                                file_name = fd.SelectedItems(1)
                                position = InStrRev(file_name, "\")
     
                                ' Extraire le chemin du dossier à partir du nom de fichier sélectionné
                                If position > 0 Then
                                    dossier = Left(file_name, position)
                                    DoCmd.RunSQL "delete * from tNecarex"
                                    DoCmd.TransferText acImportDelim, "SpecNecarex", "tNecarex", file_name, True
     
                                    'nom sans fichier
                                      file_name = Dir(file_name)
                                      intI = InStrRev(file_name, ".", -1, vbTextCompare)
                                        If intI = 0 Then
                                        FilenameWithoutExt = file_name
                                        Else
                                        FilenameWithoutExt = Left(file_name, intI - 1)
                                        End If
                                    '
                                    'reponse = MsgBox(FilenameWithoutExt)
                                    'creation du nom de la table d'erreur a l'import necarex
                                    msgerrImportNecarex = FilenameWithoutExt & "_ImportErrors"
     
                                    'supprime la table d'erreur a l'import necarex
                                    DoCmd.DeleteObject acTable, msgerrImportNecarex
                                    On Error Resume Next
     
                                End If  ' If position > 0 Then
                        End If  ' If fd.Show() Then                    
                    Set fd = Nothing
     
        '-- Fin du Code de Travail
     
        DoCmd.SetWarnings True
        MsgBox "Tache effectuée", vbOKOnly
     
    End Sub

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    Autant que je sache, on peut.

    Le message suggère un problème de taille des champs de destination.

    • Vérifie la largeur de tes champs textes (personnellement je les définis toujours à 255 c).
    • Vérifie la largeur des données textes que tu veux importer (Est-ce qu'elle est bien <= 255 c).
    • Et cela peut aussi venir des champs décimaux, vérifie si les décimales sont séparées par un point ou un virgule dans ton fichier CSV.
    • Vérifie aussi le séparateur de champ et les délimiteurs de champ texte dans le fichier CSV.


    Si tes contrôles ne donnent rien, crée un fichier CSV qui ne comporte que une et une seule ligne vide (juste des séparateurs les uns à la suite des autres) avec entête éventuellement et vois si tu peux l'importer.
    Si cela marche essaye avec u fichier avec une ligne avec des données, puis une dizaine de lignes.
    Si cela passe c'est que cela vient probablement de tes données.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Réponses: 10
    Dernier message: 25/10/2016, 14h23
  2. Impossible de faire du pas à pas dans une dll
    Par denrette dans le forum Delphi
    Réponses: 5
    Dernier message: 18/12/2006, 10h26
  3. Impossible d'importer un fichier csv dans une table sous MySQL
    Par manue85 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 20/04/2006, 12h06
  4. [VRML] Faire des trous ronds dans une table.
    Par yoyo910 dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 22/03/2006, 17h56
  5. Comment importer un document CSV dans une table MySql ?
    Par magic8392 dans le forum Requêtes
    Réponses: 6
    Dernier message: 04/02/2005, 11h03

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