daimadoshi60
Messages postés58Date d'inscriptionjeudi 12 mars 2009StatutMembreDernière intervention25 juin 2015
-
23 janv. 2010 à 16:40
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 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.
daimadoshi60
Messages postés58Date d'inscriptionjeudi 12 mars 2009StatutMembreDernière intervention25 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.
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
Vous n’avez pas trouvé la réponse que vous recherchez ?
daimadoshi60
Messages postés58Date d'inscriptionjeudi 12 mars 2009StatutMembreDernière intervention25 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.
daimadoshi60
Messages postés58Date d'inscriptionjeudi 12 mars 2009StatutMembreDernière intervention25 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".
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 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 & "' ;"
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 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.
daimadoshi60
Messages postés58Date d'inscriptionjeudi 12 mars 2009StatutMembreDernière intervention25 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.