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 :

[VBA ACCESS] Importation de données DBF->Access


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut [VBA ACCESS] Importation de données DBF->Access
    Bonjour,
    Nouveau en programmation VBA avec ACCESS !!!
    Je souhaite mettre en place un bouton qui m'execute un code.
    Là je sais faire.
    Mon problème est sur le code.
    Le code doit consister à
    1)importer un fichier PILOT.dbf situé sous C:\Extraction\PILOT.dbf.
    2)supprimer l'ancienne table nommée "PILOT"
    3)renommer la table importée en "PILOT"

    Mon fichier access est composé d'une table nommée PILOT
    Je souhaite en fait mettre à jour cette table à partir du fichier PILOT.dbf.

    Je vous remercie de votre aide par avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    Je précise ma demande :
    En fait je souhaite automatiser (à l'aide d'un bouton + code) la mise à jour de ma table "PILOT".

    D'un logiciel de maintenance (GMAO), j'extrait tous les matins vers un fichier Pilot_année.dbf.
    J'ai déjà effectué l'importation une première fois. Tout cela a bien fonctionné.
    Maintenant, il faudrait que je puisse mettre à jour la table PILOT car elle est à la base de toutes mes requêtes, et état.

    Si quelqu'un a une petite idée.

    P.S : j'ai déjà testé la macro "importer" mais elle me crée une autre table.

    Allez un petit tuayu me rendrai service.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.TransferSpreadsheet acImport, 5, "nomùTable", "C:\Documents and Settings\\Import", True, ""
    C'est le code pour un fichier .xls
    Je sais pas si cela fonctionne depuis ton format de fichier, à vérifier

    Utilise F1

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    Merci de ton aide,
    J'ai simplement une erreur sur la ligne car le fichier que je demande d'ouvrir est un fichier *.dbf

    Aidez moi !!!

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Par défaut
    Ca doit marcher, mais il faut préciser l'extention du fichier.

    Ci après l'aide d'Access sur la fonction :

    Nom de la table, de la requête Sélection ou de l'objet Microsoft Access à importer, exporter ou attacher. Pour certains types de bases de données, tels que FoxPro, Paradox, ou dBASE, il s'agit d'un nom de fichier. Ajoutez l'extension de nom de fichier (par exemple .dbf) au nom du fichier. Cet argument est obligatoire.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    Ecoute, voilà le code que je met.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DoCmd.TransferSpreadsheet acImport, _
        "PILOT", "O:\GMA_PUBL\extraction PS\PILOT.dbf", True, ""
    Il me renvoie une erreur : Erreur 13 incomptabilité de type.

    !!! HELP HELP !!!

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    Bon j'ai trouvé !!!


    Merci à ceux qui m'ont aidé

    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 Commande36_Click()
    Dim appXL, appXLS As Excel.Application 'permet la création d'un doc Excel
    Dim WXL As Excel.Workbook
    Dim oWSht As Excel.Worksheet
    Set appXL = CreateObject("Excel.Application") 'crée un doc Excel
    appXL.Visible = True 'permet de visualiser le doc Excel ouvert remplacer par False si on veut le faire en tâche masquée
    Workbooks.Open ("O:\GMA_PUBL\extraction PS\PILOT.dbf") ' ouvre le fichier *.dbf avec Excel
    ActiveWorkbook.SaveAs "O:\GMA_PUBL\extraction PS\PILOT.xls" 'Permet de le sauvegarder au format *.xls
    DoCmd.TransferSpreadsheet acImport, 5, "PILOT", "O:\GMA_PUBL\extraction PS\PILOT.xls", True, "" ' permet d'importer le fichier Excel dans une table nommée ici PILOT
    Workbooks("PILOT.xls").Activate
    ActiveWorkbook.Save 'permet de sauvegarder le document après modification
    appXL.Quit 'ferme l'application Excel et retour sur le formulaire
    End Sub

    Ce code fonctionne, le seul petit souci c'est qu'il ne supprime pas le fichier excel créé. Mais cela viendra. Si qqn a une idée, je suis ouvert.

    Cordialement.

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Pour ouvrir un fichier DBF, il faut savoir que le nom de la base est le nom (chemin) du répertoire contenant le fichier.
    Le nom de la table est le nom du fichier (sans le chemin).
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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

Discussions similaires

  1. Réponses: 25
    Dernier message: 26/04/2011, 13h58
  2. importation de données dbf vers access (erreur 3709)
    Par faiderer dans le forum Access
    Réponses: 2
    Dernier message: 16/12/2007, 21h58
  3. Importation de données Excel dans Access
    Par stratus dans le forum Access
    Réponses: 4
    Dernier message: 24/02/2006, 12h08
  4. Importation de donnée de Excel à Access
    Par virtuose dans le forum Access
    Réponses: 3
    Dernier message: 02/02/2006, 12h32
  5. Import de données Excel dans Access
    Par Todd62 dans le forum Access
    Réponses: 12
    Dernier message: 28/12/2005, 16h11

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