Sql et access
absurde
-
Nadine -
Nadine -
voila c'est très simple
je dois aller rechercher un prix dans une table selon une date...
jusque là rien de compliqué
mais si il ne trouve pas de date approprié il doit rechercher la date la plus proche (dans le passé)
la date indiquant en fait les changements de prix...
ex: le 02.02.02 -> 2fr
le 04.02.02 -> 4fr
je veux rechercher le prix pour le 03.02.02:
vu qu'il ne trouve pas de changement de prix pour le 03.02.02, il recherche l'ancien prix le plus proche : 2 fr
peut-on faire ceci avec du sql....
ou avec du vba?
je dois aller rechercher un prix dans une table selon une date...
jusque là rien de compliqué
mais si il ne trouve pas de date approprié il doit rechercher la date la plus proche (dans le passé)
la date indiquant en fait les changements de prix...
ex: le 02.02.02 -> 2fr
le 04.02.02 -> 4fr
je veux rechercher le prix pour le 03.02.02:
vu qu'il ne trouve pas de changement de prix pour le 03.02.02, il recherche l'ancien prix le plus proche : 2 fr
peut-on faire ceci avec du sql....
ou avec du vba?
A voir également:
- Sql et access
- Logiciel sql - Télécharger - Bases de données
- Access appdata - Guide
- Acer quick access - Forum logiciel systeme
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Requête sql pix - Forum Python
4 réponses
moi je trierais ma table en fonction des dates l'instruction c'est "order by NOMDUCHAMPS" et ensuite tu prends celui juste avant
Je ne sais pas si j'ai bien compris ton besoin... mais tu peux peut-être utiliser l'instruction SQL BETWEEN.
ex :
SELECT Participant.Nom, Participant.DateInsc
FROM Participant
WHERE (Participant.DateInsc Between #2/18/2002# And #2/20/2002#);
Mais de toute façon, ce n'est pas du coté SQL que tu dois faire ton traitement. C'est avec le résultat de ta requête SQL que tu fais tes traitements.
ex :
SELECT Participant.Nom, Participant.DateInsc
FROM Participant
WHERE (Participant.DateInsc Between #2/18/2002# And #2/20/2002#);
Mais de toute façon, ce n'est pas du coté SQL que tu dois faire ton traitement. C'est avec le résultat de ta requête SQL que tu fais tes traitements.
Je ne sais pas si j'ai bien compris ton besoin... mais tu peux peut-être utiliser l'instruction SQL BETWEEN.
ex :
SELECT Participant.Nom, Participant.DateInsc
FROM Participant
WHERE (Participant.DateInsc Between #2/18/2002# And #2/20/2002#);
Mais de toute façon, ce n'est pas du coté SQL que tu dois faire ton traitement. C'est avec le résultat de ta requête SQL que tu fais tes traitements.
ex :
SELECT Participant.Nom, Participant.DateInsc
FROM Participant
WHERE (Participant.DateInsc Between #2/18/2002# And #2/20/2002#);
Mais de toute façon, ce n'est pas du coté SQL que tu dois faire ton traitement. C'est avec le résultat de ta requête SQL que tu fais tes traitements.
Tu dois d'abord sélectionner la date de changement de prix adhoc
select date from TABLE where date <= *date du prix recherché*
Tout dépend des règles d'organisation de ta table mais on suppose qu'il n'y a qu'un changement de prix par jour sinon il faudra arbitrer
Et ensuite sélectionner le prix de la date trouvée ce qui donne un select imbriqué :
select prix from table where date in (select date from table where date <= *date du prix recherché*)
Bonne chance
select date from TABLE where date <= *date du prix recherché*
Tout dépend des règles d'organisation de ta table mais on suppose qu'il n'y a qu'un changement de prix par jour sinon il faudra arbitrer
Et ensuite sélectionner le prix de la date trouvée ce qui donne un select imbriqué :
select prix from table where date in (select date from table where date <= *date du prix recherché*)
Bonne chance