Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Requête sur requête

3 réponses
Avatar
le Nordiste
Bonjour,

J'ai une premi=E8re requ=EAte :
Requ=EAte1 :
PARAMETERS madate DateTime;
SELECT Format(DateSerial(DatePart("yyyy",[madate]),DatePart("m",
[madate])-4,1),"yyyy_mm");

J'essaye de lancer celle-ci :
SELECT * FROM Requ=EAte1;

Et cela me donne me donne le message d'erreur :
"la requ=EAte doit =E9tre construite =E0 partir d'au moins une table ou un=
e
requ=EAte source"

O=F9 est l'erreur

3 réponses

Avatar
jero
Salut,
Dans le SQL de ta requête (SELECT Format(DateSerial....) il manque la clause
FROM (d'où le message d'erreur)
ça devrait être du genre :
SELECT .... FROM UneTable (ou UneRequête)
A+

"le Nordiste" a écrit dans le message de news:

Bonjour,

J'ai une première requête :
Requête1 :
PARAMETERS madate DateTime;
SELECT Format(DateSerial(DatePart("yyyy",[madate]),DatePart("m",
[madate])-4,1),"yyyy_mm");

J'essaye de lancer celle-ci :
SELECT * FROM Requête1;

Et cela me donne me donne le message d'erreur :
"la requête doit étre construite à partir d'au moins une table ou une
requête source"

Où est l'erreur
Avatar
le Nordiste
On 7 avr, 18:41, "jero" <~ wrote:
Salut,
Dans le SQL de ta requ te (SELECT Format(DateSerial....) il manque la cla use
FROM (d'o le message d'erreur)
a devrait tre du genre :
SELECT .... FROM UneTable (ou UneRequ te)
A+



Mais il n'y a pas de source de donnée autre que la saisie du paramétre
"madate"

PARAMETERS madate DateTime;
SELECT Format(DateSerial(DatePart("yyyy",[madate]),DatePart("m",
[madate])-4,1),"yyyy_mm");

tourne parfaitement, donc je conclue qu'elle est bonne.
Avatar
jero
Salut,
Oui, t'as raison, excuse-moi.
En plus, j'ai déjà eu ce problème... et je crois qu'il faut le contourner...
Si, je me souviens bien, ça ne fonctionne pas s'il y a un paramètre dans la
requête
Astuce grossière (la requête ne renvoyant qu'une valeur) :
PARAMETERS madate DateTime;
SELECT Top 1 Format(DateSerial(DatePart("yyyy",[madate]),DatePart("m",
[madate])-4,1),"yyyy_mm") FROM UneTableQuiExiste
et là, ça fonctionne...
et avec CurrentDb.openrecordset("Requête1")
etc...
A+
"le Nordiste" a écrit dans le message de news:

On 7 avr, 18:41, "jero" <~ wrote:
Salut,
Dans le SQL de ta requ te (SELECT Format(DateSerial....) il manque la
clause
FROM (d'o le message d'erreur)
a devrait tre du genre :
SELECT .... FROM UneTable (ou UneRequ te)
A+



Mais il n'y a pas de source de donnée autre que la saisie du paramétre
"madate"

PARAMETERS madate DateTime;
SELECT Format(DateSerial(DatePart("yyyy",[madate]),DatePart("m",
[madate])-4,1),"yyyy_mm");

tourne parfaitement, donc je conclue qu'elle est bonne.