|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Alexis CANETÉtudiant Inscription : novembre 2009 Messages : 95 ![]() |
Bonjour à tous,
Encore une fois je revien vers vous pour un probléme au quel je n'ai pas pu trouver de solution sur les multiples forums et tuto. J'utilise souvent OpenRecordset pour retourner la valeur d'une de mes requètes. J'essay ici de retourner la valeur d'une requéte contenant deux champs l'un visible (que je souaite retrouver en vba) et l'autre sur le quel s'applique une condition (=valeur d'un menu déroulant dans un formulaire) Cette condition pose probléme dés que je l'applique j'obtien l'erreur suivante ERR 3061 (Trop peu de paramétre 1 attendu) Voici la partie de mon code posant probléme. Code :
Je commence à être réelement pomé Merci à tous pour l'aide que vous pourriez m'apporter. Alex |
||
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() clément Étudiant Inscription : septembre 2010 Messages : 131 ![]() |
T'aurais pas oublié des simples cotes sur ta variable si c'est un string ?
|
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Alexis CANETÉtudiant Inscription : novembre 2009 Messages : 95 ![]() |
Mon champ est de type mémo, je ne suis pas un expert en vba que veux tu dire par cotes??
|
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() clément Étudiant Inscription : septembre 2010 Messages : 131 ![]() |
La simple cote c'est ca : ' et faut parfois la mettre autour de la valeur que tu cherches dans le champ.
Exemple : Code :
"SELECT meschamps FROM matable WHERE monchamp = '" & mavar & "'" Code :
"SELECT meschamps FROM matable WHERE monchamp = 'test'"
|
|
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() Alexis CANETÉtudiant Inscription : novembre 2009 Messages : 95 ![]() |
J'utilise une requéte d'Access mais globalement je ne vois pas pourquoi cela disfonctionne alros qu'avec les autre aucun probléme???
Pour info je te met la requéte transcrite en SQL (j'ai aussi essayé): Code :
|
||
|
|
00
|
|
|
#6 | ||||
|
Membre du Club
![]() clément Étudiant Inscription : septembre 2010 Messages : 131 ![]() |
[Gestionnaire Appel] doit etre égal au contenu de la variable : "[Formulaires]![Appel Gestionnaire]![MenuD_Gestionnaire]"
ou c'est [Formulaires]![Appel Gestionnaire]![MenuD_Gestionnaire] qui est une valeur ? si tu veux le contenu de "MenuD_Gestionnaire" : Code :
Code :
|
||||
|
|
00
|
|
|
#7 | ||
|
Membre régulier
![]() Alexis CANETÉtudiant Inscription : novembre 2009 Messages : 95 ![]() |
Aprés plusieurs essais cela ne fonctionne pas, mais je comprend pas pourquoi il ne peut pas exécuter une bête requète d'access???
Ci-join le code total adapté, si cela peut aider. Merci de ton aide Code :
|
||
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Inscription : janvier 2006 Messages : 99 ![]() |
Bonjour,
tout d'abord, dans la 2ème version de ton code, la commande RunSQL ne doit pas fonctionner, car elle ne permet que d'exécuter des requêtes action (INSERT, DELETE, UPDATE, ALTER TABLE, etc) mais pas de requeêtes SELECT. Ensuite si je reprends ton 1er code, est-ce que le formulaire sur lequel tu te bases est ouvert au moment où tu exécutes ton code VBA ? Habituellement, l'erreur "Trop peu de paramètres, X attendus" signifie que Access n'a pas pu interprété X colonnes de ta requête. 9 fois sur 10, il s'agit d'une erreur de typo, vite corrigée lorsqu'on écrit la requête dans le requêteur. Le reste du temps, il s'agit de variable qu'il n'a pas pu interpréter car la variable n'est pas disponible au moment où on exécute la requête (par exemple dans ton cas, ça pourrait être le formulaire qui est fermé au moment de l'exécution de la requête). Perso, j'ajouterai un debug.print [Forms]![Appel Gestionnaire]![MenuD_Gestionnaire] juste avant l'ouverture du recordset pour vérifier la valeur renvoyée. |
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Alexis CANETÉtudiant Inscription : novembre 2009 Messages : 95 ![]() |
Hello,
Avant tout merci de ta réponse Mon formulaire est bien ouvert au moment de l'exécution de mon code, la variable du menu déroulant est bien retourné et il n'y a pas d'erreur topographique (En effet j'ai pu voir que c'était souvent le probléme). Ma requéte Access elle n'est pas ouverte au moment de l'exécution du code, mais je ne vois pas vraiment ce que cela peut changer??? Une idée pour résoudre ce probléme ou alors le contourner(other way)? Merci d'avance Alex |
|
|
00
|
|
|
#10 | ||
|
Membre du Club
![]() clément Étudiant Inscription : septembre 2010 Messages : 131 ![]() |
Si tu mets avant ta requete:
Code :
|
||
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() Alexis CANETÉtudiant Inscription : novembre 2009 Messages : 95 ![]() |
La bonne variable
|
|
|
00
|
|
|
#12 |
|
Membre régulier
![]() Alexis CANETÉtudiant Inscription : novembre 2009 Messages : 95 ![]() |
Le pire et ce qui me titille le crâne c'est:
J'éxécute la requète manuellement = aucun PB Je remplace le critére variable (menu déroulant) par une valeur fixe = mon code s'exécute bien En gros il n'aime pas la variable comme critére quand j'éxécute le code. |
|
|
00
|
|
|
#13 | ||
|
Membre du Club
![]() clément Étudiant Inscription : septembre 2010 Messages : 131 ![]() |
T'es sur d'avoir bien mis ça :
Code :
EDIT: sinon essaye peut-être "Forms" à la place de "Formulaires" ? |
||
|
|
00
|
|
|
#14 | ||
|
Membre habitué
![]() Inscription : janvier 2006 Messages : 99 ![]() |
justement pour contourner le problème, et si tu trichais en récupérant ta variable de ton formulaire dans un variable de ton code et en la mettant dans ton sql :
Code :
|
||
|
|
00
|
|
|
#15 |
|
Membre régulier
![]() Alexis CANETÉtudiant Inscription : novembre 2009 Messages : 95 ![]() |
J'étais repassé en requéte Acccess.
Cela fonctionne ton petit ETID a tout changé Mais pourquois il ne suporte pas les requétes d'Access. En tout cas super Ca marche à Merveille, UN GRAND MERCI Peut étre à bientot Pour de nouvelles aventures @+ PI je passe en résolut |
|
|
00
|
|
|
#16 | |
|
Membre habitué
![]() Inscription : janvier 2006 Messages : 99 ![]() |
Citation:
C'est toujours bon à savoir. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com