Erreur -2147467259 (80004005)

Fermé
max59850 - Modifié par max59850 le 30/04/2012 à 13:42
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 2 mai 2012 à 12:38
Bonjour,

J'ai trouvé ce code sur internet et l'ai adapté mais j'ai une erreur sur la ligne
'
AccessCn.Open "provider=microsoft.jet.oledb.4.0; data source=" & maBase
'
Le but est de réecrire en copie sur une feuille nommé donnée dans mon classeur les donnée de ma table indicateur
'
Le code erreur est -2147467259 (80004005) format de base de donnée (Y:\.....\mabase.accbd) non reconnu
'
le chemin est volontairement supprimé et le nom des fichier remis à l'anonymat
'

Sub tranfertTableAccess_Vers_ClasseurExcelFerme_V02()  
    'Transfére une Table Access dans un nouvel onglet d'un classeur fermé  
    '  
    Dim ExcelCn As ADODB.Connection  
    Dim ExcelRst As ADODB.Recordset  
    Dim AccessCn As New ADODB.Connection  
    Dim AccessRst As New ADODB.Recordset  
    Dim maBase As String, maFeuille As String  
    Dim maTable As String, NomClasseur As String  
    Dim nbEnr As Long  
      
    'Chemin de la base Access  
    maBase = "Y:\.......\mabase.accdb"  
    'Nom de la table Access à transfèrer  
    maTable = "T_indicateur"  
    'Classeur dans lequel va être créée la nouvelle feuille  
    NomClasseur = "Y:\.......\monclasseur.xls"  
    'Nom de la nouvelle feuille Excel  
    maFeuille = "donnée"  
      
      
    'Connection à la base Access  
    AccessCn.Open "provider=microsoft.jet.oledb.4.0; data source=" & maBase      'Requète dans la table Access  
    AccessRst.Open "SELECT * FROM " & maTable, AccessCn, adOpenStatic  
      
    'Connection au classeur Excel  
    Set ExcelCn = New ADODB.Connection  
    ExcelCn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _  
                   "Data Source=" & NomClasseur & ";" & _  
                   "Extended Properties=""Excel 8.0;HDR=NO;"""  
          
    'Transfert les données d'Access vers Excel  
    AccessCn.Execute "SELECT * INTO [Excel 8.0;" & _  
        "Database=" & NomClasseur & "].[" & maFeuille & "] FROM " & maTable, nbEnr  
      
    AccessRst.Close  
    AccessCn.Close  
    Set ExcelRst = Nothing  
    Set ExcelCn = Nothing  
End Sub  


Pouvez-vous m'aidez à résoudre cette énigme sachant que je suis débutant

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
30 avril 2012 à 17:30
Bonjour,

Access 2007-2010 -----> provider=Microsoft.ACE.OLEDB.12.0
0
merci, je suis ennuyé parce que finalement le même code erreur mais maintenant il me disent que la base de donnée à été placé dans un état l'enpéchant d'être ouverte ou verrouillé
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
2 mai 2012 à 12:38
Bonjour,
J'ai teste votre code avec des repertoires et fichier perso----> pas d'erreur

provider=Microsoft.ACE.OLEDB.12.0 autrement si Provider=Microsoft.Jet.OLEDB.4.0 format base non reconnue
0