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

Access Discussion :

Erreur sur l'importation d'un fichier Access [AC-2010]


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Erreur sur l'importation d'un fichier Access
    Bonjour à tous,

    Je viens de créer un programme nécessitant l'importation d'un fichier type dont le nom peut varier, petit détail ce fichier comporte plusieurs tables.(je ne sais pas si cela change quelque chose)

    Ce fichier doit être importé pour être traité par une requête puis un code vba.

    Voici la ligne de code posant problème dans mon formulaire pour importer le fichier :

    ...

    DoCmd.TransferDatabase acImport

    ...

    J'ai l'erreur 2507 : " type de base de données n'est pas installé ou ne gère pas l'opération demandé"

    Ayant regardé la méthode DoCmd sur le site Microsoft pour Access :
    https://msdn.microsoft.com/fr-fr/vba...-method-access


    S'agissant d'une simple importation d'un fichier access je n'ai rien ajouté après acImport.


    Merci par avance pour votre aide

  2. #2
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Bonjour

    Que souhaites-tu faire exactement :
    - transférer un fichier (base Access) d'un dossier dans un autre ? Quel intérêt ?
    - importer des tables pour requêter dessus ? Auquel cas tu peux simplement lier ces tables avec ta base.
    - récupérer les données de tables d'une autre base, celle-ci étant appelée à être supprimée ?
    - autre cas ? ...

    Le DoCmd.TransferDatabase peut effectivement être une solution... à condition de renseigner tous les paramètres indispensables !
    Sélectionne DoCmd.TransferDatabase dans ton code et appuie sur la touche F1 pour avoir l'aide.
    Un problème bien posé est à moitié résolu

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonjour,
    Ayant regardé la méthode DoCmd sur le site Microsoft pour Access :
    c'est bien, mais as-tu pensé à regarder la commande TransferDatabase ?
    https://msdn.microsoft.com/fr-fr/vba...-method-access
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferDatabase acImport
    Crois-tu qu'Access va savoir quelle base il faut importer, si tu ne lui indiques pas ? Ou alors, tu n'as pas posté le code complet ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup pour vos indications ,

    J'ai suivi vos conseils et j'ai finis par trouver la solution, je l'explique au cas ou quelqu'un rencontre ce problème:

    Pour bien comprendre, il faut savoir que j'ai créer au préalable un code permettant à partir de données provenant d'un appareil de mesure de les réarranger et de les convertir en fichier texte.
    Le tout se présente sous la forme d'un formulaire à trois boutons dont le premier sélectionne les tables nécessaires au traitement par le code. L'objectif étant qu'un autre utilisateur "débutant"
    puisse utiliser ce programme sur un autre fichier provenant du même appareil de mesure.

    Voici donc le code qui me permet d'ouvrir une boîte de dialogue avec l'utilisateur et de sélectionner les bonnes tables à importer dans mon programme.

    Sub example1()
    ' Requière la référence : Microsoft Office 11.0 Object Library.

    Dim cDialog As Office.FileDialog
    Dim varFile As Variant
    Dim NomFichier As String


    ' Parametrage de la boite de dialogue > File Dialog.
    Set cDialog = Application.FileDialog(msoFileDialogFilePicker)

    With cDialog

    ' Laisse l'utilisateur la possibilité de sélectionner plusieurs fichiers
    .AllowMultiSelect = True

    ' Titre de la boite de dialogue.
    .Title = "Sélectionner un ou plusieurs fichiers"

    ' Permet de filtrer le format d'un fichier à sélectionner.
    .Filters.Clear
    .Filters.Add "Access Databases", "*.MDB"
    .Filters.Add "Access Projects", "*.ADP"
    .Filters.Add "All Files", "*.*"


    ' Show the dialog box. If the .Show method returns True, the
    ' user picked at least one file. If the .Show method returns
    ' False, the user clicked Cancel.
    If .Show = True Then

    'Mettre le nom du fichier sélectionné dans une variable.
    For Each varFile In .SelectedItems
    NomFichier = varFile
    Next

    Else
    MsgBox "Vous avez cliqué sur Annuler."
    End If
    End With
    'les fameuses méthodes DoCmd fonctionnel
    DoCmd.TransferDatabase acImport, "Microsoft Access", NomFichier, acTable, "NomDeLaTable1", "NomDeLaTable1"
    DoCmd.TransferDatabase acImport, "Microsoft Access", NomFichier, acTable, "NomDeLaTable2", "NomDeLaTable2"
    DoCmd.TransferDatabase acImport, "Microsoft Access", NomFichier, acTable, "NomDeLaTable3", "NomDeLaTable3"
    End Sub




    Voila en espérant que ca puisse en aider d'autre !

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

Discussions similaires

  1. [MySQL] Erreur 150 à l'import d'un fichier SQL sur base MySQL - Site wordpress
    Par dfactors dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/02/2016, 11h07
  2. [A-03] Question sur l'enregistrement d'un fichier access!
    Par delect dans le forum Modélisation
    Réponses: 3
    Dernier message: 16/11/2008, 08h14
  3. capturer une erreur sur un import
    Par cysboy dans le forum Langage
    Réponses: 2
    Dernier message: 09/10/2007, 12h17
  4. erreur sur l'ouverture d'un fichier .mdb
    Par valoum dans le forum Access
    Réponses: 2
    Dernier message: 17/04/2006, 22h36

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