breizhoneg
XLDnaute Nouveau
Bonjour le forum,
Une fois de plus, je me tourne vers vous pour m'aider a trouver une solution a mon petit problème.
Je souhaite faire des extractions dans une base SQL. Cela fonctionnait mais depuis quelque temps a chaque fois que je souhaite utiliser mon outil, j'ai le message d'erreur suivant :
erreur d'exécution 3146: ODBC -- l'appel a échoué.
Mon code est :
Sub alao()
Dim Table_Transfert(60000, 25) As String 'définition nb ligne colone de la réponse de la requête
Dim wrkJet As Workspace
Dim DbSaisie As Database
Dim RecordSaisie As Recordset
Dim rstTemp As Recordset
Dim query As String
'-----------------------------------
'Récupération de la requete
'-----------------------------------
NbLignes = Range("Requete_1").Rows.Count
req = ""
For i = 1 To NbLignes
req = req + Range("Requete_1").Cells(i).Value
Next
'connextion et lecture de la requete
Set WrkMySQL = CreateWorkspace("MySQL", "Admin", "", dbUseODBC)
Set TableMySQL = WrkMySQL.OpenDatabase("toto", , True, "ODBC;DSN=toto;UID=user;PWD=Password;database=Base")
query = req
Set rs = TableMySQL.OpenRecordset(query)
With rs
i = 0
j = 1
Do Until rs.EOF
On Error Resume Next
Do Until i = 25
Table_Transfert(j, i + 1) = rs.Fields(i).Value
i = i + 1
Loop
i = 0
j = j + 1
.MoveNext
Loop
End With
rs.Close
TableMySQL.Close
WrkMySQL.Close
A chaque fois l'erreur a l'air de se produire sur la ligne : Set rs = TableMySQL.OpenRecordset(query)
Par avance merci de votre aide.
BzH
Une fois de plus, je me tourne vers vous pour m'aider a trouver une solution a mon petit problème.
Je souhaite faire des extractions dans une base SQL. Cela fonctionnait mais depuis quelque temps a chaque fois que je souhaite utiliser mon outil, j'ai le message d'erreur suivant :
erreur d'exécution 3146: ODBC -- l'appel a échoué.
Mon code est :
Sub alao()
Dim Table_Transfert(60000, 25) As String 'définition nb ligne colone de la réponse de la requête
Dim wrkJet As Workspace
Dim DbSaisie As Database
Dim RecordSaisie As Recordset
Dim rstTemp As Recordset
Dim query As String
'-----------------------------------
'Récupération de la requete
'-----------------------------------
NbLignes = Range("Requete_1").Rows.Count
req = ""
For i = 1 To NbLignes
req = req + Range("Requete_1").Cells(i).Value
Next
'connextion et lecture de la requete
Set WrkMySQL = CreateWorkspace("MySQL", "Admin", "", dbUseODBC)
Set TableMySQL = WrkMySQL.OpenDatabase("toto", , True, "ODBC;DSN=toto;UID=user;PWD=Password;database=Base")
query = req
Set rs = TableMySQL.OpenRecordset(query)
With rs
i = 0
j = 1
Do Until rs.EOF
On Error Resume Next
Do Until i = 25
Table_Transfert(j, i + 1) = rs.Fields(i).Value
i = i + 1
Loop
i = 0
j = j + 1
.MoveNext
Loop
End With
rs.Close
TableMySQL.Close
WrkMySQL.Close
A chaque fois l'erreur a l'air de se produire sur la ligne : Set rs = TableMySQL.OpenRecordset(query)
Par avance merci de votre aide.
BzH