Re : Lancement requête Access depuis Excel
Re,
mais si, comme dans ton code proposé, tu lui demande un chiffre d'affaire entre la date "d1" et la date "d2" pour le fournisseur "n$", comme "n$", "d1" et "d2" sont du texte il ne risque pas de trouver grand chose...
J'ai essayer avec des paramètres "fixes"
Sub RequeteAccess(d1, d2, n$)
Dim bd As DAO.Database
Dim rs As Recordset
Set bd = OpenDatabase("R:\DOP\ACH\INT\Reporting\Bases ACCESS\Copie_ACCESS-MAXPROD-ACHATS.mdb")
Set q = bd.QueryDefs("JD - CA par fournisseur (hors taxes)") 'nom de ma requête
q.Parameters("[Nom du Fournisseur (en MAJUSCULES) ?]") = "CCTA"
q.Parameters("[Date début période ?]") = "01/01/2008"
q.Parameters("[Date fin période ?]") = "31/12/2008"
Set rs = q.OpenRecordset
Cells(i, 7) = rs.Fields("CA_hors_taxes").Value
End Sub
Et c'est toujours la ligne rouge qui bloque!
Les paramètres, la macro les passent quand on exécute ligne par ligne..
Et j'ai fait un autre test, avec juste la sous procédure et là ça fonctionne parfaitement!
Sub ReqParamDAO()
Dim bd As DAO.Database
Dim rs As Recordset
Set bd = OpenDatabase("R:\DOP\ACH\INT\Reporting\Bases ACCESS\Copie_ACCESS-MAXPROD-ACHATS.mdb")
Set q = bd.QueryDefs("JD - CA par fournisseur (hors taxes)") 'nom de ma requête
q.Parameters("[Nom du Fournisseur (en MAJUSCULES) ?]") = "CCTA"
q.Parameters("[Date début période ?]") = "01/01/2008"
q.Parameters("[Date fin période ?]") = "31/12/3008"
Set rs = q.OpenRecordset
Feuil1.Cells(1, 1).Value = rs.Fields("CA_hors_taxes")
End Sub
Pourtant la seule différence c'est le i!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!
sayé, j'ai trouvé en meme temps que j'écris le message!!
C'est parsk le i il faut le mettre dans les paranthèse de la sous procédure parce qu'il est déclaré dans la procédure de départ
J'essaie et je reviens!!