IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

ERREUR 3061 Trop peu de parametres


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Access,Windev et Swift
    Inscrit en
    Décembre 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur Access,Windev et Swift
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2011
    Messages : 40
    Points : 43
    Points
    43
    Par défaut ERREUR 3061 Trop peu de parametres
    Bonjour,
    j'ai un bout de code qui doit me faire parcourir un recordset basé sur un SQL mais j'ai une erreur 3061 trop peu de parametres dés que je veux ouvrir ce recordset. J'ai essayé la syntaxe avec du SQL qui fonctionne dans une requete et avec le nom d'une requete de ma base et cela plante a chaque fois. Il n'y a que quand je mets le nom d'une table existante de la base que l'action OpenRecordset fonctionne. Je ne comprends plus rien.
    Je vous livre mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Dim db As DAO.Database
        Dim rst As DAO.Recordset
        Dim sSQL As Variant
        Dim i As Integer
        Dim valeur, nom_champ As Variant
        i = 0
        nom_champ = Forms![F_RECH]!Ch_Crit1
     
        ' Ouverture de la base de données
        Set db = CurrentDb()
     
        sSQL = "SELECT DISTINCT R_tri_date." & nom_champ & " FROM R_tri_date"
     
        Debug.Print sSQL
     
        ' Ouverture du recordset
     
        Set rst = db.OpenRecordset(sSQL)
    Si quelqu'un a une idée. J'ai vu beaucoup de post sur cette erreur mais qui portait sur des erreurs de syntaxe or mon instruction SQL fonctionne parfaitement avec une instruction RowSource quelques lignes plus haut.
    Ce doit etre tout bete mais cela fait deux jours que je planche sur cette erreur alors je vous remercie d'avance.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    regarde :
    1. Si tu n'as pas un espace dans nom_champ
    2. Si nom_champ contient bien un nom de champ valide


    Et par sécurité ajoute des [ ] autour de nom_champ comme cela même si ton nom de champ contient des caractères "exotiques" Access le traitera quand même comme un nom de champ.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sSQL = "SELECT DISTINCT R_tri_date.[" & nom_champ & "] FROM R_tri_date"
    A+

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Access,Windev et Swift
    Inscrit en
    Décembre 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur Access,Windev et Swift
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2011
    Messages : 40
    Points : 43
    Points
    43
    Par défaut
    Bonjour marot,

    j'ai déja utilisé cette methode mais l'erreur subsiste. Ce que je ne comprends vraiment pas c'est pourquoi la methode OpenRecordset ne fonctionne meme pas avec une requete enregistré dans la base courante. Elle ne fonctionne que quand je lui passe un nom de table existante comme parametre. C'est fou !!!
    Pour exemple:
    ce code ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rst = db.OpenRecordset("SELECT * FROM R_tri_date", dbOpenDynaset)
    R_tri_date etant une requete de ma base

    alors que celui ci fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rst = db.OpenRecordset("SELECT * FROM T_FREX", dbOpenDynaset)
    T_FREX etant une table de ma base.

    Manque de chance, j'ai besoin du premier !!!

    Le probleme majeur vient de la. Je pense qu'il doit y avoir des declarations prealables necessaires mais je ne vois pas lesquelles.
    Merci pour ton aide.

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    cette requête a t-elle des paramètres déclarés ou a t-elle un lien à une variable externe (controle d'un formulaire,...) directement ou indirectement (sous-requête,...) ?

    @+

    philippe

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Dans la même veine que philben, copie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM R_tri_date
    dans l'éditeur de requête et demande l'affichage des résultats, s'il te demande des paramètres c'est que philben a vu juste.

    A+

Discussions similaires

  1. Erreur 3061 : Trop peu de paramètres.1 attendu
    Par deglingo37 dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 05/12/2014, 19h55
  2. [AC-2007] Erreur d'execution 3061.Trop peu de parametres.3 attendu
    Par Charlis dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/10/2013, 09h18
  3. erreur d'execution 3061.Trop peu de parametres.1 attendu
    Par morgan54 dans le forum VBA Access
    Réponses: 8
    Dernier message: 12/05/2008, 14h42
  4. erreur requete , trop peu de parametres?
    Par erox44 dans le forum VBA Access
    Réponses: 3
    Dernier message: 18/01/2008, 08h09
  5. OpenRecordset erreur 3061 trop peu de paramètres
    Par fafabzh6 dans le forum Access
    Réponses: 4
    Dernier message: 26/09/2006, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo