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 :

DoCmd.TransferText acImportFixed, ..


Sujet :

VBA Access

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut DoCmd.TransferText acImportFixed, ..
    Bonjour.

    J'ai un morceau de code qui fonctionne bien avec Access 2002-2003 et qui me donne l'erreur suivante avec Access 2007-2016 :

    Erreur d'execution '2522' : L'action ou la méthode requiert un argument Nom fichier
    Je n'ai rien qui s'appelle "Nom fichier" dans tout mon projet.

    Le bout de code défaillant :

    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferText acImportFixed, "X01", "Table_X01_precedente", TrouverFichier("\\tousrco1080\xtract\$$$x01\", "Ancienne version de la table X01", "Fichier Texte", "*.TAB;*.txt")

    Merci de votre aide.

  2. #2
    Modérateur

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

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

    As-tu vérifié que TrouverFichier te retourne une valeur ?
    Ça me paraît le candidat le plus probable pour un paramètre nommé Nom fichier dans la procédure DoCmd.TransferText.

    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.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Bonjour.

    Dans les 2 cas une chaine vide "".

    Par contre, j'ai une valeur à "Fichier Texte*.TAB;*.txt" dans l'espion.

    A mince on ne le vois pas mais il y a des valeurs en hiéroglyphes (1 après Texte, les 2 autres après txt).

    En UTF-8, ça donne "Fichier TexteSOH*.TAB;*.txtSOHSOH"

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 407
    Par défaut
    Si ta valeur retourné est vide il est probable que le problème vienne de là.

    Essaye en forçant une valeur que tu sais correcte ex : "X:\TonChemin\TonFichier.txt".

    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.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Oui, si je mets une valeur correcte en "dur", ça fonctionne.

    mais comment réparer ce souci ?

  6. #6
    Modérateur

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

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

    Donc le problème vient de TrouverFichier("\\tousrco1080\xtract\$$$x01\", "Ancienne version de la table X01", "Fichier Texte", "*.TAB;*.txt").

    Tu peux peut-être simplement faire un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    dim strFichierTrouve as string
    strFichierTrouve=TrouverFichier("\\tousrco1080\xtract\$$$x01\", "Ancienne version de la table X01", "Fichier Texte", "*.TAB;*.txt")
     
    if strFichierTrouve<>"" then
          DoCmd.TransferText acImportFixed, "X01", "Table_X01_precedente", strFichierTrouve
       else
          msbox "Aucun fichier trouvé"
    end if
    Si tu n'as rien à faire si il n'y a pas de fichier.

    Si tu devrais à avoir un fichier et que tu n'en a pas, peux-tu poster le code de TrouverFichier ?

    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.

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Bonjour.

    Je pense que le probléme vient du fait que ce soit écrit dans Vb Access ancien (.mdb) et qu'en ".accdb" les méthodes et librairies soient différentes.


    Les fonctions et procédures s'appellent en cascade...
    Code VB : 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
    Public Function TrouverFichier(chCheminRecherche As String, textboite As String, libfic As String, typfic As String) As String
    ' Affiche une boîte de dialogue d'ouverture de fichier pour permettre
    ' à l'utilisateur de rechercher un fichier.
    ' Retourne le chemin complet du fichier.
        Dim msaof As MSA_NOMFICHIEROUVERT
     
        ' MsgBox (textboite)
     
        ' Définit les options de la boîte de dialogue.
        'msaof.chTitreDialogue = textboite
        'msaof.chRépInitial = chCheminRecherche
        msaof.chFiltre = MSA_CréationChaîneFiltre(libfic, typfic)
     
        ' Appelle la routine de dialogue Ouvrir fichier.
        MSA_ObtNomFichierOuvert msaof
     
        ' Retourne le chemin et le nom du fichier.
        TrouverFichier = Trim(msaof.chCheminCompletRetourné)
     
    End Function

  8. #8
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 407
    Par défaut
    C'est possible.

    As-tu exécuté ta procédure pas à pas pour voir ce qu'elle fait ?

    Sinon tu peux peut-être la remplacer par Application.FileDialog.
    https://learn.microsoft.com/en-us/of...ion.filedialog

    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.

  9. #9
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Merci.

    Si je récupére les macros a modifier pour qu'elles fonctionnent avec Access 2007-16 et office 365, j'aurai du boulot.

    Je vais tester pas à pas pour avoir une estimation du temps à prévoir.

Discussions similaires

  1. DoCmd TransferText acImportFixed
    Par Averroes dans le forum VBA Access
    Réponses: 12
    Dernier message: 12/03/2010, 08h15
  2. Passer une valeur avec DoCmd.TransferText
    Par Daniel MOREAU dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/10/2007, 13h08
  3. Réponses: 10
    Dernier message: 27/04/2007, 12h18
  4. Macro TranférerTexte OK - VBA docmd.transfertext NOK
    Par franck.thibault dans le forum Access
    Réponses: 2
    Dernier message: 15/12/2006, 14h28

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