Erreur 3061 [Résolu]

Signaler
Messages postés
5
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
1 juillet 2009
-
Messages postés
5
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
1 juillet 2009
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
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
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
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)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
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.
Messages postés
5
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
1 juillet 2009

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.
Messages postés
5
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
1 juillet 2009

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
Messages postés
5
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
1 juillet 2009

Comment on fait pour déclarer que ce post est résolu?
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Bonne nouvelle !
On clique sur le bouton "Réponse acceptée" sous le pseudo de ton sauveteur, lol
Messages postés
5
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
1 juillet 2009

lol.Ok, merci, c'était ma première utilisation d'un forum!