Erreur 3061

Résolu
cams56 Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 1 juillet 2009 - 29 juin 2009 à 10:23
cams56 Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Derniè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
   
    XlSheet.Range("A2").CopyFromRecordset Rs
   
    Rs.Close
    Set Rs = Nothing
   


'Exit_Erreur:
'
'    Exit Function
'
'Erreur:
'
'    Call Gestion_Erreur(Err.Number, Err.Description, "M_Import_Export", "ExportExcel", "")
'    Resume Exit_Erreur


End Function

8 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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) ?

L'aide DAO 3.60 est assez complète.
0
cams56 Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Derniè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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cams56 Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Derniè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
0
cams56 Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 1 juillet 2009
30 juin 2009 à 09:28
Comment on fait pour déclarer que ce post est résolu?
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
30 juin 2009 à 12:40
Bonne nouvelle !
On clique sur le bouton "Réponse acceptée" sous le pseudo de ton sauveteur, lol
0
cams56 Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 1 juillet 2009
1 juil. 2009 à 17:51
lol.Ok, merci, c'était ma première utilisation d'un forum!
0
Rejoignez-nous