Odbc

phaum

XLDnaute Junior
Bonjour
j'ai recupéré un code sur le site mais il ne fonctionne pas. Je suis en Windows 7 - Access et EXCEL 2010
J'ai déclaré les bibliotheques suivantes: VB for applications - Office 14.0 Object library, ActiveX Data Object Library, DAO 3.6 Object library

J'ai une erreur "Erreur d'execution '-2147467259 (80004005)' Erreur Automation Erreur non specifiée sur la ligne : " source.Open chemin & "C:\Users\Philippe.haumesser\Desktop\Database1.accdb"



Sub Recuperation_Requete_Access()

Dim source As ADODB.Connection
Dim t_list As ADODB.Recordset
Dim chemin As String, texte_SQL As String

chemin = ActiveWorkbook.Path
' ouvre la base de données Access (microsoft jet)
Set source = New ADODB.Connection
source.Provider = "Microsoft.Jet.OLEDB.4.0;"
source.Open chemin & "C:\Users\Philippe.haumesser\Desktop\Database1.accdb"

Set t_list = New ADODB.Recordset
'requete SQL dans t_demo de tous les champs
texte_SQL = "SELECT [2 X1 Reunion CA et Temps].mois1, [2 X1 Reunion CA et Temps].Trigramme, [2 X1 Reunion CA et Temps].Entite_operationnelle, [2 X1 Reunion CA et Temps]![CA]/[2 X1 Reunion CA et Temps]![SommeDeTemps passé réalisé] AS TJM1 FROM [2 X1 Reunion CA et Temps];"
Set t_list = source.Execute(texte_SQL)

'reporte dans home.xls
Application.ScreenUpdating = False
Range("A2").CopyFromRecordset t_list

'ferme la requête
t_list.Close
source.Close

End Sub

Merci pour votre aide
 

phaum

XLDnaute Junior
Re : Odbc

Re bonjour
suite à la remarque de Bruno je m'essaye dans le balisage
Code:
Sub Recuperation_Requete_Access()

Dim source As ADODB.Connection
Dim t_list As ADODB.Recordset
Dim chemin As String, texte_SQL As String

chemin = ActiveWorkbook.Path
' ouvre la base de données Access (microsoft jet)
Set source = New ADODB.Connection
source.Provider = "Microsoft.Jet.OLEDB.4.0;"
source.Open chemin & "C:\Users\Philippe.haumesser\Desktop\Database1.acc db"

Set t_list = New ADODB.Recordset
'requete SQL dans t_demo de tous les champs
texte_SQL = "SELECT [2 X1 Reunion CA et Temps].mois1, [2 X1 Reunion CA et Temps].Trigramme, [2 X1 Reunion CA et Temps].Entite_operationnelle, [2 X1 Reunion CA et Temps]![CA]/[2 X1 Reunion CA et Temps]![SommeDeTemps passé réalisé] AS TJM1 FROM [2 X1 Reunion CA et Temps];"
Set t_list = source.Execute(texte_SQL)

'reporte dans home.xls
Application.ScreenUpdating = False
Range("A2").CopyFromRecordset t_list

'ferme la requête
t_list.Close
source.Close

End Sub
 
C

Compte Supprimé 979

Guest
Re : Odbc

Re,

Ohhhhh que c "beau" et plus facile à lire ;)

Essaye avec :
Code:
Chemin = "C:\Users\Philippe.haumesser\Desktop\"
source.Open chemin & "Database1.accdb"
sans espace entre "acc" et "db"

A+
 
Dernière modification par un modérateur:

phaum

XLDnaute Junior
Re : Odbc

Re bonjour
Merci pour votre aide...
Helas les deux solutions proposées donnent le meme message d'erreur. Cela n'a donc rien changé.
Est ce que le probleme ne vient pas du fait que ma base soit .accdb ?
Merci pour votre aide car je suis bloqué...SNIF
 

phaum

XLDnaute Junior
Re : Odbc

Re coucou
C'est bon ca passe....


comme j'ai appris à faire des balises je vous remets le code complet modifié pour quelqu'un qui en aurait besoin:)

Merci pour votre aide à tous les deux Bonne fin de journée....

Code:
Sub Recuperation_Requete_Access()

Dim source As ADODB.Connection
Dim t_list As ADODB.Recordset
Dim chemin As String, texte_SQL As String

chemin = ActiveWorkbook.Path
' ouvre la base de données Access (microsoft jet)
Set source = New ADODB.Connection
source.Provider = "Microsoft.ACE.OLEDB.12.0;"
chemin = "C:\Users\Philippe.haumesser\Desktop\"
source.Open chemin & "Database1.accdb"
Set t_list = New ADODB.Recordset
'requete SQL dans t_demo de tous les champs
texte_SQL = "SELECT [2 X1  Reunion CA et Temps].mois1, [2 X1  Reunion CA et Temps].Trigramme, [2 X1  Reunion CA et Temps].Entite_operationnelle, [2 X1  Reunion CA et Temps]![CA]/[2 X1  Reunion CA et Temps]![SommeDeTemps passé réalisé] AS TJM1 FROM [2 X1  Reunion CA et Temps];"
Set t_list = source.Execute(texte_SQL)

'reporte dans home.xls
Application.ScreenUpdating = False
Range("A2").CopyFromRecordset t_list
 
'ferme la requête
t_list.Close
source.Close

End Sub
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 105
dernier inscrit
Joffrette