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

VBA Access Discussion :

Erreur d’exécution 3061 : trop peu de paramètres. 1 attendu [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre régulier

    Homme Profil pro
    Ingénieur développement produits
    Inscrit en
    Février 2016
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement produits
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 126
    Points : 71
    Points
    71
    Billets dans le blog
    1
    Par défaut Erreur d’exécution 3061 : trop peu de paramètres. 1 attendu
    Hello,

    j'imagine que je ne suis pas le premier à avoir une erreur de ce type mais bon, je sèche depuis un bon moment et je ne suis pas un expert en Access...

    Voici mon code et ma ligne d'erreur est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set res = CurrentDb.OpenRecordset("SELECT DISTINCT (libellée_commercial) FROM Fichier_anonyme_chimio_drevon_talant_2014 WHERE no_dossier='" & no_dossier & "';")
    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
    Public Function RecupMolecule(no_dossier As Long) As String
    Dim res As DAO.Recordset
    Dim Db As DAO.Database
    'Selectionne les participant du projet
    Set res = CurrentDb.OpenRecordset("SELECT DISTINCT (libellée_commercial) FROM Fichier_anonyme_chimio_drevon_talant_2014 WHERE no_dossier='" & no_dossier & "';")
    'Concatene les différents enregistrement
    While Not res.EOF
    RecupMolecule = RecupMolecule & res.Fields(0).Value & " / "
    res.MoveNext
    Wend
    'Enleve le dernier espace
    RecupMolecule = Left(RecupMolecule, Len(RecupMolecule) - 1)
    'libere la mémoire
    Set res = Nothing
    End Function
    Ma table est composer comme cela :
    no_dossier (long) / code_protocole (string) / no_cure (long) / libellée_commercial (string)

    je vous ai mis le type de mes champs en parenthèses.

    ma fonction doit me renvoyer tout les "libellée_commercial" d'un même "code_protocole" dans une même case (une concaténation d'un même champs quoi). le truc est que avant tout marchais et puis j'ai fait le con et j'ai fait des modifs sur le code sans en faire une copie... comme les modifs ne marchais pas je suis revenue sur le code de base en supprimant les truc en trop et voila où j'en suis. j'imagine que c'est juste une erreur de syntaxe ou un truc banal mais je ne le trouve pas. j'ai bien sur vérifier que les noms était les même (pas de probleme de ce coté là).

    Help please!!
    Et merci,
    Ice
    Images attachées Images attachées  

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    Pour ton erreur, tu mets des parenthèses là où cela devrait être des crochets [] qui sont a priori inutiles vu que ton champ le nom de ton champ libellée_commercial ne contient pas d'espace. La ligne serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set res = CurrentDb.OpenRecordset("SELECT DISTINCT libellée_commercial FROM Fichier_anonyme_chimio_drevon_talant_2014 WHERE no_dossier='" & no_dossier & "';")
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set res = CurrentDb.OpenRecordset("SELECT DISTINCT [libellée_commercial] FROM Fichier_anonyme_chimio_drevon_talant_2014 WHERE no_dossier='" & no_dossier & "';")
    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    ne contient pas d'espace.
    ou de caractères réservés.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    madefemere, loufab, IceCrime752

    Et pour finaliser no_dossier étant de type numérique, l’utilisation de quotes dans le filtre n'est pas nécessaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set res = CurrentDb.OpenRecordset("SELECT DISTINCT libellée_commercial FROM Fichier_anonyme_chimio_drevon_talant_2014 WHERE no_dossier=" & no_dossier & ";")

    Comme je viens de rédiger ce billet blog, j'en profite pour me faire un peu d'auto promo mais il s'adapte à la discussion !

    http://www.developpez.net/forums/blo...s-ecrites-vba/


    Jimbolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,
    Sympa ce billet !

    Personnellement je ne suis pas pour enseigner l'utilisation de la simple-cote ou apostrophe comme séparateur. Justement à cause de la présence de ce caractère dans notre langue.
    Préférons le doublement du guillemet ou double-cote.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  6. #6
    Membre régulier

    Homme Profil pro
    Ingénieur développement produits
    Inscrit en
    Février 2016
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement produits
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 126
    Points : 71
    Points
    71
    Billets dans le blog
    1
    Par défaut
    Hello et merci de vos réponse.

    Hélas, si seulement ce fut si simple...
    vos réponse m'ont permis d’alléger le code mais pas de virer l'erreur; la même est au RDV au même endroit...
    D'autre idée pour un gars qui sèche complètement?

    Ice

  7. #7
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Loufab,

    Préférons le doublement du guillemet ou double-cote.
    L'écriture de la syntaxe VBA est plus facile à lire dans l'utilisation du simple quote '" & plus facile que " & chr(34) & ... mais je te rejoins volontiers


    Justement à cause de la présence de ce caractère dans notre langue.
    ou dans d'autres d'ailleurs

    IceCrime752

    Cette syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set res = CurrentDb.OpenRecordset("SELECT DISTINCT Fichier_anonyme_chimio_drevon_talant_2014.[libellée_commercial] FROM Fichier_anonyme_chimio_drevon_talant_2014 WHERE (((Fichier_anonyme_chimio_drevon_talant_2014.no_dossier)=" & No_Dossier & "));")

    Je viens de faire un contrôle et çà fonctionne. Donc si ton erreur persiste elle vient d'ailleurs (nom des champs, nom de l'entité...)

    Jimbolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  8. #8
    Membre régulier

    Homme Profil pro
    Ingénieur développement produits
    Inscrit en
    Février 2016
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement produits
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 126
    Points : 71
    Points
    71
    Billets dans le blog
    1
    Par défaut
    Jimbolion mon ami!!!!

    comment dire... En effet ta syntaxe marche bien, juste un lettre en trop a un moment (suppr et tout va bien)


    Merci a tous pour votre aide! comme je le disais plus haut, juste un erreur basique


    ICE

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Erreur d'exécution 3061: Trop peu de paramêtre 1 attendu
    Par acpsc dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/05/2013, 22h01
  2. [AC-2000] Erreur d'exécution '3061': - Trop peu de paramètres. 2 attendu
    Par zoom61 dans le forum VBA Access
    Réponses: 3
    Dernier message: 02/05/2013, 10h36
  3. Erreur d'exécution 3061, trop peu de paramètres (select)
    Par Requiem11 dans le forum VBA Access
    Réponses: 1
    Dernier message: 28/02/2008, 21h47
  4. Réponses: 1
    Dernier message: 30/05/2007, 10h41
  5. Réponses: 4
    Dernier message: 15/03/2006, 16h47

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