cams56
Messages postés5Date d'inscriptionlundi 29 juin 2009StatutMembreDernière intervention 1 juillet 2009
-
29 juin 2009 à 10:23
cams56
Messages postés5Date d'inscriptionlundi 29 juin 2009StatutMembreDernière intervention 1 juillet 2009
-
1 juil. 2009 à 17:51
Bonjour à tous!Je fais appel a vous car j'ai besoin d'aide. Dans le cadre de mon stage, je dois réaliser plusieurs macro en VBA/Access. Lors de l'éxecution, un message d'erreur apparait: erreur 3061-Trop peu de parametres-5 attendus. voici le script avec la ligne en rouge et gras qui est celle que VB me surligne lors du débogage! Merci d'avance.
Public Function ExportExcel(NomFeuille, NomRequete)
'On Error GoTo Erreur
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim fldCount As Integer
Dim iCol As Integer
Dim iRow As Integer
Set Db = CurrentDb
Set Rs = Db.OpenRecordset(NomRequete)
Set XlSheet = XlBook.Worksheets(NomFeuille)
XlSheet.Cells.Clear
fldCount = Rs.Fields.Count
For iCol = 1 To fldCount
XlSheet.Cells(1, iCol).Value = Rs.Fields(iCol - 1).Name
Next
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 29 juin 2009 à 19:27
Re
Manque de précision :
Oui, je me doute bien que c'est une requète, mais de quel type ?
Peux-tu nous donner un exemple du texte contenu dans ta variable NomRequete ?
A t-elle cet aspect :
Select * From maTable Where toto = 3
ou s'agit-il du nom d'une requète stockée dans ta base ?
Si tel est le cas, il faudra nous donner la syntaxe de cette requète : Elle semble nécessiter des paramètres et ce sera à toi de les fournir.
Voir aussi dans l'aide de DAO si on s'adresse à une requete stockée avec un RecordSet ou autre (QueryDef) - pas trop d'expérience la dedans
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 29 juin 2009 à 14:07
Salut
Modification de la catégorie de la question .Net --> VBA
Le texte de l'erreur est pourtant clair : Il manque des paramètres.
Quand tu écris ta commande en rouge, lorsque tu écris entre les parenthèses, normalement, tu devrais voir apparaitre en ToolTipText la liste des paramètres nécessaires.
D'autre part, il me semble que DAO est obsolète (*) et qu'il vaut mieux utiliser ADODB.
(*) fonctionne encore, mais n'est plus mis à jour, donc de futurs problèmes de compatibilité en vue.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 29 juin 2009 à 14:17
Non, il ne manque pas de paramètres puisque les suivants sont optionnels.
Regarde dans l'aide de DAO pour savoir comment s'utilise OpenRecordset.
Que repésente NomRequete, que contient cette chaine ?
Est-ce une requète ou le nom d'une table contenue dans cette chaine, ou bien le nom d'une requète stockée (QueryDef) ?
Si c'est une requète stockée, nécessite t-elle des paramètres (Parameter) ?
cams56
Messages postés5Date d'inscriptionlundi 29 juin 2009StatutMembreDernière intervention 1 juillet 2009 29 juin 2009 à 16:36
Merci pour votre réponse, alors, NomRequete est effectivement une requete. La fonction ExportExcel permet d'exporter dans une feuille Excel les requete Access en incluant dans la fonction le nom de la feuille et de la requete a exporter. Et concernant DAO, j'avoue ne pas savoir pourquoi on utilise ca dans ce cas, je suis en stage de fin d'étude et j'ai repris un travail fais comme ca.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cams56
Messages postés5Date d'inscriptionlundi 29 juin 2009StatutMembreDernière intervention 1 juillet 2009 30 juin 2009 à 09:25
Merci beaucoup, en fait, tu m'as mit sur la voie, quand j'ai modifié certaines requete, j'ai oublié de modifier une requete union, les parametres manquants étaient donc dans celle-ci. Je n'y avait pas pensé, je croyais les avoir toutes vérifiées. Merci beaucoup