Trop peu de paramètre. 1 attendu

daimadoshi60 Messages postés 58 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 25 juin 2015 - 23 janv. 2010 à 16:40
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 26 janv. 2010 à 09:03
Bonjour à toutes et à tous.

Je dois bosser sur une base ACCESS dans mon nouveau boulot et je vous avoue que je seche depuis un petit bout de temps sur ce message d'erreur "Trop peu de paramètre. 1 attendu". Alors voici mon code

Dim Test As DAO.Recordset
Dim rSQL As String
Dim Table_BRetour As String
Dim NUM_BL2 as string

Num_BL2 = "12345"
Table_BRetour = "t (auto) nouvelle tbon de retour"
rSQL "Select Path_Avissouf from [" & Table_BRetour & "] where NumBL'" & Num_BL2 & "' ;"
MsgBox rSQL
Set Test = CurrentDb.OpenRecordset(rSQL)

(Je n'est pas mis tous le code, juste la parti qui bug)
Je ne vois pas du tous ou est le problème. Pensant que c'etait un problème de cote, j'ai essayé de mettre mon Num_BL2 entre guillement ou entre simple cote (apostrophe) mais le problème persiste. Je ne sais plus ou chercher. J'affiche mon code dans une msgbox et tout semble bon.

Dites moi si vous souhaitez avoir d'autres info.

Merci d'avance les loulous

15 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
23 janv. 2010 à 18:17
Salut
De quel type est le champ NumBL dans ta table ?
Numérique : pas de ' ni de # ni de " : rien
Texte : encadrement '
Date : encadrement #

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
daimadoshi60 Messages postés 58 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 25 juin 2015
23 janv. 2010 à 21:50
Salut,

Le champ Num_BL2 dans la table est de type numerique.

Je vais donc tester sans aucune cote et je te tiens au courant.

Merci de ta reponse en tt cas.

a+
0
daimadoshi60 Messages postés 58 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 25 juin 2015
23 janv. 2010 à 21:58
Re,

Je viens de tester et toujours le meme problème "1 paramètre attendu" grrrrrr!

En gros j'ai testé sans cote, avec des cotes (apostophe) et avec des guillements mais j'ai toujours le meme soucis. Je ne vois vraiment pas ou est le problème.

Si quelqu'un a une piste, ca serai genial !
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 janv. 2010 à 00:06
Ca vient peut-être du moteur, DAO.
Comme dit dans l'aide, c'est un moteur obsolète : Utilises plutôt ADODB.
Le principe de programmation est le même à quelques détails près :
A la place de
Set Test = CurrentDb.OpenRecordset(rSQL)
il faut utiliser (de mémoire)
Test.Open rSQL, CurrentDb

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0

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

Posez votre question
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 janv. 2010 à 00:08
PS : Il te suffit d'ajouter "Microsoft ActiveX Data Objects 2.8 Library" aux préférences du projet.
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 48
24 janv. 2010 à 00:10
salut,

as-tu testé directement sous access, manuellement dans l'éditeur sql?


ta table s'appelle vraiment "t (auto) nouvelle tbon de retour", drôle de nom pour une table....

si la table est dans une variable, pourquoi pas le nom du champ?
la table existe au moment de l'appel?

ton champ s'appelle vraiment (avec casse) "Path_Avissouf"

si c'est une variable, à mettre entre & bien sûr ;)

que donne
rSQL = "SELECT * FROM [" & Table_BRetour & "];"


(et oui en effet, pas d'apostrophe ici)

++
[hr]
0
daimadoshi60 Messages postés 58 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 25 juin 2015
24 janv. 2010 à 01:04
Hello,

Je n'ai pas la base access sous la main a l'heure ou je vous écrit, mais je peux repondre a certaine de vos questions

Deja, oui la table s'appelle "t (auto) nouvelle tbon de retour". Perso je ne l'aurai pas nommer comme cela mais je travaille sur une base créé par quelqu'un d'autre, donc je prefere laisser tel quel.

le nom de la table est dans une variable uniquement pour "alleger" la ligne de ma requete dans le code, rien de plus

Mon champ s'appelle bien Path_Avissouf (P Maj et A Maj)

Je testerai demain ou lundi vos idée et je vous tiens au courant.

Merci a vous en tt cas jack et PCPT.

Bonne nuit ;)
0
daimadoshi60 Messages postés 58 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 25 juin 2015
25 janv. 2010 à 14:06
Salut les gars,

J'ai reussi a contourner le problème en faisant un Select * au lieu d'un select Path_Avissouf.

Bizare quand meme le problème.

En plus, juste pour info j'ai remarqué que le message d'erreur n'apparaissait plus lorsque je mettais "Select NumBl from table where NumBL 12345"... Alors que le problème persiste si je met "Select Path_Avissouf from table where NumBL 12345".

Enfin bref,

Merci encore pour le coup de main les gars.

A très bientot (Vu que je suis un noob en VBA )
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
25 janv. 2010 à 14:31
Salut,
Rien d' extraordinaire !
Dans le premier exemple NumBL ne fait pas partie des champs
énumérés.Comment veux-tu qu'il soit reconnu dans la clause where ?!
La preuve avec tes deux exemples qui suivent.

Il fallait donc exprimer ta requete ainsi:
"Select Path_Avissouf, NumBL from [" & Table_BRetour & "] where NumBL ='" & Num_BL2 & "' ;"


[] Ce qui va sans dire. va mieux en le disant.
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 48
25 janv. 2010 à 15:28
LIBRE_MAX -> j'ai pas compris là....
le SELECT affiche, on peut très bien ne pas afficher un champ tout en y posant une condition (where)

en mode assistance de requête çà doit correspondre aux coches "afficher/masquer"
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 72
25 janv. 2010 à 15:39
erreur de saisie du nom du champ, ou caractère tordu dans le nom de celui-ci
genre un espace ou quelque chose du genre

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
26 janv. 2010 à 00:57
Bonsoir,

Tout à fait PCPT , On peut..
A condition de précèder le nom du champ de la table source.
Comme ceci:
"Select Path_Avissouf from [" & Table_BRetour & "] where
[t (auto) nouvelle tbon de retour].NumBL ='" & Num_BL2 & "' ;"

dans la mesure ou le filtrage se fera au niveau de la table et non sur les lignes extraites-->affichées.

[] Ce qui va sans dire. va mieux en le disant.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 72
26 janv. 2010 à 07:39
non,

SELECT champ1 FROM table1 WHERE champ2 = 'value'

Fonctionne nickel chrome


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
daimadoshi60 Messages postés 58 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 25 juin 2015
26 janv. 2010 à 09:00
Salut,

Pour tout te dire j'ai egalement tester en ajoutant NumBl dans le Select mais il me mettait toujours "1 paramètre manquant car maintenant le Path_Avissouf n'avait pas de critère défini.
Normalement, le select est juste une question "d'affichage", on est pas obliger, selon mes souvenir d'afficher les champ sur lesquel on a un critère particulier (Sous MySQL en tout cas, mais visiblement pas sous access).

Bref, affaire classé puisque après avoir fait mon select *, j'ai juste a travailler sur les "field" qui m'interesse.

++
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 72
26 janv. 2010 à 09:03
si tu parviens a bien les orthographier, cela ira en effet tout seul ^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0