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 :

Formulaire d'import: "Erreur d'exécution 3275" [AC-2010]


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 69
    Points : 44
    Points
    44
    Par défaut Formulaire d'import: "Erreur d'exécution 3275"
    Bonjour,

    Je développe une base sous Access avec des menus sous forme de formulaire qui vont bien et j'ai un soucis depuis aujourd'hui (lundi) avec l'exécution du formulaire d'import que j'ai créé et qui était fonctionnel vendredi dernier.

    Ce formulaire est composé d'onglets, un pour chaque étape de la procédure d'utilisation.

    Le premier onglet correspond donc à l'étape d'import des extraction SAP dans la base avec l'exécution d'un certain nombre de requête d'ajout, de mise à jour et de suppression...

    Ainsi donc, la première partie du code de la "Form" permet de sélectionner les fichier d'import dans une zone de texte à l'aide d'un bouton poussoir pour chacun des 4 fichiers à importer.

    Les zone de texte sont respectivement nommée txt_path1, txt_path2, txt_path3 et txt_path4.
    les boutons poussoirs sont nommés btn_browser1, btn_browser2, btn_browser3 et btn_browser4.

    Ci-dessous le code VBA correspondant au premier bouton poussoir (les 3 autres fonctionnent de la même manière):

    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
    
    Private Sub btn_browser1_Click()
        Dim fd As Office.FileDialog
     
        ' Créer un objet FileDialog
        Set fd = Application.FileDialog(msoFileDialogOpen)
     
        ' Titre de la boîte de dialogue
        fd.Title = "texte de la boîte de dialogue"
     
        ' Ne pas autoriser la sélection multiple
        ' (donc 1 seul fichier est sélectionnable à la fois)
        fd.AllowMultiSelect = False
     
        ' Définir les types de fichiers autorisés en ajoutant un filtre
        fd.Filters.Clear
        fd.Filters.Add "Fichiers Excel", "*.xls; *.xlsx"
     
        ' Présélectionner le filtre
        fd.FilterIndex = 0
     
        ' Afficher la boîte de dialogue
        If fd.Show() Then
            Me.txt_path1 = fd.SelectedItems(1)
        End If
        Set fd = Nothing
    End Sub
    La ou la macro bug c'est lorsque les commandes d'import et d'exécution des requêtes sont invoqués, et ce dès la deuxième ligne de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferSpreadsheet acImport, 8, "Nom table d'import", Me.txt_path1, True
    L'erreur renvoyé est la suivante : "Erreur d'exécution '3275': Erreur inatendue du pilote de données externe (1)".

    Ci-dessous le code en question :

    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
    
    Private Sub btn_import_Click()
    DoCmd.TransferSpreadsheet acImport, 8, "Nomtabled'import1", Me.txt_path1, True
    DoCmd.TransferSpreadsheet acImport, 8, "Nomtabled'import2", Me.txt_path2, True
    DoCmd.TransferSpreadsheet acImport, 8, "Nomtabled'import3", Me.txt_path3, True
    DoCmd.TransferSpreadsheet acImport, 8, "Nomtabled'import4", Me.txt_path4, True
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "Ajout Nomtableendur1"
    DoCmd.OpenQuery "Ajout Nomtableendur2"
    DoCmd.OpenQuery "Ajout Nomtableendur3"
    DoCmd.OpenQuery "Ajout Nomtableendur4"
    DoCmd.OpenQuery "Maj Nomtableendur1"
    DoCmd.OpenQuery "Maj Nomtableendur2"
    DoCmd.OpenQuery "Maj Nomtableendur3"
    DoCmd.OpenQuery "Maj Nomtableendur4"
    DoCmd.OpenQuery "Suppr Nomtabled'import1"
    DoCmd.OpenQuery "Suppr Nomtabled'import2"
    DoCmd.OpenQuery "Suppr Nomtabled'import3"
    DoCmd.OpenQuery "Suppr Nomtabled'import4"
    DoCmd.SetWarnings True
    End Sub
    Je suis ouvert à tout élément pouvant éclairer mon problème donc n'hésitez pas,

    Bien à vous.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 547
    Points
    24 547
    Par défaut
    Bonjour,

    Chemin vers le fichier xls trop long ?

    Cordialement,

  3. #3
    Membre du Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    J'ai copié les fichiers d'import dans la racine du disque dur, ce qui donne un chemin d'accès inférieur à 64 caractères, mais le problème persiste.

    D'autres pistes ?

    Mon code parait-il cohérent ?

    Cordialement.

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 547
    Points
    24 547
    Par défaut
    et avec un nom de fichier de 8 caractères ?

  5. #5
    Membre du Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    idem avec des fichiers dont le nom fait 8 caractères placés dans un dossier c:\outils (je ne peux pas placer de fichiers sur la racine faute de droit...).

    Merci pour votre aide et suggestion et n'hésitez pas si vous avez d'autres pistes.

    Pour info la version de SAP de laquelle j'extraie mes donnée est la "SAP ERP Central Component, Release 6.0, SR1, incl. SP11, November 2007"

    Cordialement.

  6. #6
    Membre du Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    il semblerai que le fait d'ouvrir les fichiers avant d'exécuter la macro fasse disparaitre le problème...

    un vieux message arrivait à la même conclusion...

    Je n'ai rien trouvé de probant.

    Du coup, je vais faire une macro pour :

    ouvrir mon fichier Excel
    Lancer ma requête ajout
    Lancer ma requête MàJ
    fermer mon fichier Excel



    Je ne vois pas d'autres solutions.
    J'ai finalement trouvé une solution qui semble fonctionner...

    En effet il semblerai qu'il soit nécessaire que les fichiers excel aient été ouvert au moins une fois pour que le code fonctionne...

    ci-dessous le code qui va bien :

    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
     
    Private Sub btn_import_Click()
     
    Dim appExcel As Excel.Application 'Application Excel
    Dim wbExcel As Excel.Workbook 'Classeur Excel
    Dim wsExcel As Excel.Worksheet 'Feuille Excel
     
    'Ouverture de l'application
    Set appExcel = CreateObject("Excel.Application")
    'Ouverture d'un fichier Excel
    Set wbExcel = appExcel.Workbooks.Open(Me.txt_path1)
    Set wbExcel = appExcel.Workbooks.Open(Me.txt_path2)
    Set wbExcel = appExcel.Workbooks.Open(Me.txt_path3)
    Set wbExcel = appExcel.Workbooks.Open(Me.txt_path4)
    'wsExcel correspond à la première feuille du fichier
    Set wsExcel = wbExcel.Worksheets(1)
    DoCmd.TransferSpreadsheet acImport, 8, "Nomtabled'import1", Me.txt_path1, True
    DoCmd.TransferSpreadsheet acImport, 8, "Nomtabled'import2", Me.txt_path2, True
    DoCmd.TransferSpreadsheet acImport, 8, "Nomtabled'import3", Me.txt_path3, True
    DoCmd.TransferSpreadsheet acImport, 8, "Nomtabled'import4", Me.txt_path4, True
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "Ajout Nomtableendur1"
    DoCmd.OpenQuery "Ajout Nomtableendur2"
    DoCmd.OpenQuery "Ajout Nomtableendur3"
    DoCmd.OpenQuery "Ajout Nomtableendur4"
    DoCmd.OpenQuery "Maj Nomtableendur1"
    DoCmd.OpenQuery "Maj Nomtableendur2"
    DoCmd.OpenQuery "Maj Nomtableendur3"
    DoCmd.OpenQuery "Maj Nomtableendur4"
    DoCmd.OpenQuery "Suppr Nomtabled'import1"
    DoCmd.OpenQuery "Suppr Nomtabled'import2"
    DoCmd.OpenQuery "Suppr Nomtabled'import3"
    DoCmd.OpenQuery "Suppr Nomtabled'import4"
    DoCmd.SetWarnings True
    End Sub

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

Discussions similaires

  1. [CR8][VB6] Erreur d'exécution 20533
    Par pvava dans le forum SDK
    Réponses: 1
    Dernier message: 01/02/2005, 10h27
  2. [POO] Formulaire HTML + fonction JS = Erreur
    Par bdaboah dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/11/2004, 21h59
  3. Erreurs d'exécution sous delphi 5
    Par nkd dans le forum Langage
    Réponses: 3
    Dernier message: 06/11/2004, 17h25
  4. [Apache Perl] Erreur à l'exécution de mes cgi
    Par GLDavid dans le forum Apache
    Réponses: 4
    Dernier message: 28/08/2004, 20h23

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