Bonjour je repose ma question, parce que je gal=E8re trop...
=E7a se complique!!*%!
j'ai une table qui regroupe des p=E9riodes, je souhaite s=E9lectionner
une des p=E9riodes de ma table en rentrant une date de d=E9but et une
date de fin (non =E9crite dans la table). sachant que la deuxi=E8me date
peut =EAtre =E0 cheval avec une autre p=E9riode.
voici ma table [p=E9riode]
d=E9but fin
1-> 01/01/1936 31/12/1936
2-> 01/01/1937 31/12/1937
3-> 01/01/1938 30/06/1938
4-> 01/07/1938 31/12/1938
5-> 01/01/1939 31/12/1939
par exemple : si je saisi du 05/01/1936 au 25/01/1936, je
souhaiterai avoir toutes les p=E9riodes 1,2,3,4 dans ma requ=EAte
(01/01/1936 31/12/1936 -----01/01/1937 31/12/1937 ------
01/01/1938 30/06/1938 ----- 01/07/1938 31/12/1938)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Argyronet
Bonjour,
Je n'ai pas bien compris... Ce que vous souhaitez, c'est retourner les enregistrements de chaque période "du JJ/MM au JJ/MM" des 4 années spécifiées ? Donc ne pas tenir compte de l'année stipulée mais prendre les 4, c'est cela ?
Argy -- Mes tutoriels sur http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour je repose ma question, parce que je galère trop... ça se complique!!*%! j'ai une table qui regroupe des périodes, je souhaite sélectionner une des périodes de ma table en rentrant une date de début et une date de fin (non écrite dans la table). sachant que la deuxième date peut être à cheval avec une autre période.
voici ma table [période] début fin 1-> 01/01/1936 31/12/1936 2-> 01/01/1937 31/12/1937 3-> 01/01/1938 30/06/1938 4-> 01/07/1938 31/12/1938 5-> 01/01/1939 31/12/1939 par exemple : si je saisi du 05/01/1936 au 25/01/1936, je souhaiterai avoir toutes les périodes 1,2,3,4 dans ma requête (01/01/1936 31/12/1936 -----01/01/1937 31/12/1937 ------ 01/01/1938 30/06/1938 ----- 01/07/1938 31/12/1938)
Merci pour vos conseils Nat
merci, pour votre aide
Bonjour,
Je n'ai pas bien compris...
Ce que vous souhaitez, c'est retourner les enregistrements de chaque période
"du JJ/MM au JJ/MM" des 4 années spécifiées ? Donc ne pas tenir compte de
l'année stipulée mais prendre les 4, c'est cela ?
Argy
--
Mes tutoriels sur http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour je repose ma question, parce que je galère trop...
ça se complique!!*%!
j'ai une table qui regroupe des périodes, je souhaite sélectionner
une des périodes de ma table en rentrant une date de début et une
date de fin (non écrite dans la table). sachant que la deuxième date
peut être à cheval avec une autre période.
voici ma table [période]
début fin
1-> 01/01/1936 31/12/1936
2-> 01/01/1937 31/12/1937
3-> 01/01/1938 30/06/1938
4-> 01/07/1938 31/12/1938
5-> 01/01/1939 31/12/1939
par exemple : si je saisi du 05/01/1936 au 25/01/1936, je
souhaiterai avoir toutes les périodes 1,2,3,4 dans ma requête
(01/01/1936 31/12/1936 -----01/01/1937 31/12/1937 ------
01/01/1938 30/06/1938 ----- 01/07/1938 31/12/1938)
Je n'ai pas bien compris... Ce que vous souhaitez, c'est retourner les enregistrements de chaque période "du JJ/MM au JJ/MM" des 4 années spécifiées ? Donc ne pas tenir compte de l'année stipulée mais prendre les 4, c'est cela ?
Argy -- Mes tutoriels sur http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour je repose ma question, parce que je galère trop... ça se complique!!*%! j'ai une table qui regroupe des périodes, je souhaite sélectionner une des périodes de ma table en rentrant une date de début et une date de fin (non écrite dans la table). sachant que la deuxième date peut être à cheval avec une autre période.
voici ma table [période] début fin 1-> 01/01/1936 31/12/1936 2-> 01/01/1937 31/12/1937 3-> 01/01/1938 30/06/1938 4-> 01/07/1938 31/12/1938 5-> 01/01/1939 31/12/1939 par exemple : si je saisi du 05/01/1936 au 25/01/1936, je souhaiterai avoir toutes les périodes 1,2,3,4 dans ma requête (01/01/1936 31/12/1936 -----01/01/1937 31/12/1937 ------ 01/01/1938 30/06/1938 ----- 01/07/1938 31/12/1938)
Merci pour vos conseils Nat
merci, pour votre aide
Eric
Bonjour,
J'ai du mal à comprendre ton exemple. A mon avis une seule période peut-être retournée, la 1ère. En lisant tes autres posts, cas de la période allant du 05/01/1936 et 03/01/1938, tu peux l'obtenir avec (adapter le nom de la table):
SELECT Début, fin FROM Nat where début in(select début from nat where [DateDeDepart]<fin) and fin in(select fin from nat where [DateDeFin]>début)
Non ?
PS: y a peut-être plus simple !
Bonjour je repose ma question, parce que je galère trop... ça se complique!!*%! j'ai une table qui regroupe des périodes, je souhaite sélectionner une des périodes de ma table en rentrant une date de début et une date de fin (non écrite dans la table). sachant que la deuxième date peut être à cheval avec une autre période.
voici ma table [période] début fin 1-> 01/01/1936 31/12/1936 2-> 01/01/1937 31/12/1937 3-> 01/01/1938 30/06/1938 4-> 01/07/1938 31/12/1938 5-> 01/01/1939 31/12/1939 par exemple : si je saisi du 05/01/1936 au 25/01/1936, je souhaiterai avoir toutes les périodes 1,2,3,4 dans ma requête (01/01/1936 31/12/1936 -----01/01/1937 31/12/1937 ------ 01/01/1938 30/06/1938 ----- 01/07/1938 31/12/1938)
Merci pour vos conseils Nat
merci, pour votre aide
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
J'ai du mal à comprendre ton exemple. A mon avis une seule période
peut-être retournée, la 1ère.
En lisant tes autres posts, cas de la période allant du 05/01/1936 et
03/01/1938, tu peux l'obtenir avec (adapter le nom de la table):
SELECT Début, fin
FROM Nat
where
début in(select début from nat where [DateDeDepart]<fin)
and
fin in(select fin from nat where [DateDeFin]>début)
Non ?
PS: y a peut-être plus simple !
Bonjour je repose ma question, parce que je galère trop...
ça se complique!!*%!
j'ai une table qui regroupe des périodes, je souhaite sélectionner
une des périodes de ma table en rentrant une date de début et une
date de fin (non écrite dans la table). sachant que la deuxième date
peut être à cheval avec une autre période.
voici ma table [période]
début fin
1-> 01/01/1936 31/12/1936
2-> 01/01/1937 31/12/1937
3-> 01/01/1938 30/06/1938
4-> 01/07/1938 31/12/1938
5-> 01/01/1939 31/12/1939
par exemple : si je saisi du 05/01/1936 au 25/01/1936, je
souhaiterai avoir toutes les périodes 1,2,3,4 dans ma requête
(01/01/1936 31/12/1936 -----01/01/1937 31/12/1937 ------
01/01/1938 30/06/1938 ----- 01/07/1938 31/12/1938)
Merci pour vos conseils
Nat
merci, pour votre aide
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
J'ai du mal à comprendre ton exemple. A mon avis une seule période peut-être retournée, la 1ère. En lisant tes autres posts, cas de la période allant du 05/01/1936 et 03/01/1938, tu peux l'obtenir avec (adapter le nom de la table):
SELECT Début, fin FROM Nat where début in(select début from nat where [DateDeDepart]<fin) and fin in(select fin from nat where [DateDeFin]>début)
Non ?
PS: y a peut-être plus simple !
Bonjour je repose ma question, parce que je galère trop... ça se complique!!*%! j'ai une table qui regroupe des périodes, je souhaite sélectionner une des périodes de ma table en rentrant une date de début et une date de fin (non écrite dans la table). sachant que la deuxième date peut être à cheval avec une autre période.
voici ma table [période] début fin 1-> 01/01/1936 31/12/1936 2-> 01/01/1937 31/12/1937 3-> 01/01/1938 30/06/1938 4-> 01/07/1938 31/12/1938 5-> 01/01/1939 31/12/1939 par exemple : si je saisi du 05/01/1936 au 25/01/1936, je souhaiterai avoir toutes les périodes 1,2,3,4 dans ma requête (01/01/1936 31/12/1936 -----01/01/1937 31/12/1937 ------ 01/01/1938 30/06/1938 ----- 01/07/1938 31/12/1938)
Merci pour vos conseils Nat
merci, pour votre aide
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
nat
j'ai trouvé!!!
critère date de début Entre [formulaires]![agents]![début période 1] Et [formulaires]![agents]![fin période 1]
critère date de fin Entre [formulaires]![agents]![début période 1] Et [formulaires]![agents]![fin période 1]
merci d'avoir pris le temps de me répondre nat
j'ai trouvé!!!
critère date de début
Entre [formulaires]![agents]![début période 1] Et
[formulaires]![agents]![fin période 1]
critère date de fin
Entre [formulaires]![agents]![début période 1] Et
[formulaires]![agents]![fin période 1]
critère date de début Entre [formulaires]![agents]![début période 1] Et [formulaires]![agents]![fin période 1]
critère date de fin Entre [formulaires]![agents]![début période 1] Et [formulaires]![agents]![fin période 1]
merci d'avoir pris le temps de me répondre nat
Eric
Bonjour,
Je suis surpris !!! ou alors je n'ai rien compris
si tu mets entre 03/01/36 et 25/01/36 sur les dates début et fin tu ne récupères aucune valeur. Et Entre #05/01/1936# Et #03/01/1938# en critère pour début et fin, tu ne récupères que la période du 01/01/37 et le 31/12/37. alors que tu voulais au départ afficher toutes les périodes allant du Début fin 01/01/1936 31/12/1936 01/01/1937 31/12/1937 01/01/1938 30/06/1938
<copie msg> ça se complique!!*%! j'ai une table qui regroupe des périodes, je souhaite sélectionner une des périodes de ma table en rentrant une date de début et une date de fin (non écrite dans la table). sachant que la deuxième date peut être à cheval avec une autre période.
voici ma table [période] début fin 1-> 01/01/1936 31/12/1936 2-> 01/01/1937 31/12/1937 3-> 01/01/1938 30/06/1938 4-> 01/07/1938 31/12/1938 5-> 01/01/1939 31/12/1939 par exemple : je saisi début/01/1936 et fin%/01/1936, ma requête doit sélectionner la période allant du 01/01/1937 au 31/12/1936 si je saisi 05/01/1936 et 03/01/1938, je souhaite avoir les périodes 01/01/1936 au 30/06/1938 </copie>
j'ai trouvé!!!
critère date de début Entre [formulaires]![agents]![début période 1] Et [formulaires]![agents]![fin période 1]
critère date de fin Entre [formulaires]![agents]![début période 1] Et [formulaires]![agents]![fin période 1]
merci d'avoir pris le temps de me répondre nat
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Je suis surpris !!! ou alors je n'ai rien compris
si tu mets entre 03/01/36 et 25/01/36 sur les dates début et fin tu ne
récupères aucune valeur.
Et Entre #05/01/1936# Et #03/01/1938# en critère pour début et fin, tu
ne récupères que la période du 01/01/37 et le 31/12/37.
alors que tu voulais au départ afficher toutes les périodes allant du
Début fin
01/01/1936 31/12/1936
01/01/1937 31/12/1937
01/01/1938 30/06/1938
<copie msg>
ça se complique!!*%!
j'ai une table qui regroupe des périodes, je souhaite sélectionner
une des périodes de ma table en rentrant une date de début et une
date de fin (non écrite dans la table). sachant que la deuxième date
peut être à cheval avec une autre période.
voici ma table [période]
début fin
1-> 01/01/1936 31/12/1936
2-> 01/01/1937 31/12/1937
3-> 01/01/1938 30/06/1938
4-> 01/07/1938 31/12/1938
5-> 01/01/1939 31/12/1939
par exemple : je saisi début/01/1936 et fin%/01/1936, ma requête
doit sélectionner la période allant du 01/01/1937 au 31/12/1936
si je saisi 05/01/1936 et 03/01/1938, je souhaite avoir les périodes
01/01/1936 au 30/06/1938
</copie>
j'ai trouvé!!!
critère date de début
Entre [formulaires]![agents]![début période 1] Et
[formulaires]![agents]![fin période 1]
critère date de fin
Entre [formulaires]![agents]![début période 1] Et
[formulaires]![agents]![fin période 1]
merci d'avoir pris le temps de me répondre
nat
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
si tu mets entre 03/01/36 et 25/01/36 sur les dates début et fin tu ne récupères aucune valeur. Et Entre #05/01/1936# Et #03/01/1938# en critère pour début et fin, tu ne récupères que la période du 01/01/37 et le 31/12/37. alors que tu voulais au départ afficher toutes les périodes allant du Début fin 01/01/1936 31/12/1936 01/01/1937 31/12/1937 01/01/1938 30/06/1938
<copie msg> ça se complique!!*%! j'ai une table qui regroupe des périodes, je souhaite sélectionner une des périodes de ma table en rentrant une date de début et une date de fin (non écrite dans la table). sachant que la deuxième date peut être à cheval avec une autre période.
voici ma table [période] début fin 1-> 01/01/1936 31/12/1936 2-> 01/01/1937 31/12/1937 3-> 01/01/1938 30/06/1938 4-> 01/07/1938 31/12/1938 5-> 01/01/1939 31/12/1939 par exemple : je saisi début/01/1936 et fin%/01/1936, ma requête doit sélectionner la période allant du 01/01/1937 au 31/12/1936 si je saisi 05/01/1936 et 03/01/1938, je souhaite avoir les périodes 01/01/1936 au 30/06/1938 </copie>
j'ai trouvé!!!
critère date de début Entre [formulaires]![agents]![début période 1] Et [formulaires]![agents]![fin période 1]
critère date de fin Entre [formulaires]![agents]![début période 1] Et [formulaires]![agents]![fin période 1]
merci d'avoir pris le temps de me répondre nat
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
nat
Bonjour,
Je suis surpris !!! ou alors je n'ai rien compris
si tu mets entre 03/01/36 et 25/01/36 sur les dates début et fin tu ne récupères aucune valeur. Et Entre #05/01/1936# Et #03/01/1938# en critère pour début et fin, tu ne récupères que la période du 01/01/37 et le 31/12/37. alors que tu voulais au départ afficher toutes les périodes allant du Début fin 01/01/1936 31/12/1936 01/01/1937 31/12/1937 01/01/1938 30/06/1938
A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl= fr
Pourtant ça marche, je pense que si je t'envoie le code ce sera plus clair.
SELECT COTSS.début, COTSS.fin FROM COTSS WHERE (((COTSS.début) Between [formulaires]![agents]![début période 1] And [formulaires]![agents]![fin période 1])) OR (((COTSS.fin) Between [formulaires]![agents]![début période 1] And [formulaires]![agents]![fin période 1]));
je rentre début période/08/1936 et fin de période/08/1938, ce qui me donne les plages de dates (provenant de la table COTSS) allant du 1/> 01/01/1936 31/12/1936 2/> 01/01/1937 31/12/1937 3/> 01/01/1938 30/06/1938 4/> 01/07/1938 31/12/1938
j'ai tatonné pour y arriver, et ça marche. Par contre actuellement je bosse pour essayer de faire en sorte qu'access remplace les dates de début (01/01/1936) et de fin (31/12/1938) par les dates que j'ai rentré dans mon formulaire (18/08/1936 et 17/08/1938) sans modifier la table COTSS afin de pouvoir la réutiliser plus tard.
Si tu as une idée ? Merci nat@+
Bonjour,
Je suis surpris !!! ou alors je n'ai rien compris
si tu mets entre 03/01/36 et 25/01/36 sur les dates début et fin tu ne
récupères aucune valeur.
Et Entre #05/01/1936# Et #03/01/1938# en critère pour début et fin, tu
ne récupères que la période du 01/01/37 et le 31/12/37.
alors que tu voulais au départ afficher toutes les périodes allant du
Début fin
01/01/1936 31/12/1936
01/01/1937 31/12/1937
01/01/1938 30/06/1938
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl= fr
Pourtant ça marche, je pense que si je t'envoie le code ce sera plus
clair.
SELECT COTSS.début, COTSS.fin
FROM COTSS
WHERE (((COTSS.début) Between [formulaires]![agents]![début période
1] And [formulaires]![agents]![fin période 1])) OR (((COTSS.fin)
Between [formulaires]![agents]![début période 1] And
[formulaires]![agents]![fin période 1]));
je rentre début période=18/08/1936 et fin de période=17/08/1938, ce
qui me donne les plages de dates (provenant de la table COTSS) allant
du
1/> 01/01/1936 31/12/1936
2/> 01/01/1937 31/12/1937
3/> 01/01/1938 30/06/1938
4/> 01/07/1938 31/12/1938
j'ai tatonné pour y arriver, et ça marche.
Par contre actuellement je bosse pour essayer de faire en sorte
qu'access remplace les dates de début (01/01/1936) et de fin
(31/12/1938) par les dates que j'ai rentré dans mon formulaire
(18/08/1936 et 17/08/1938) sans modifier la table COTSS afin de pouvoir
la réutiliser plus tard.
si tu mets entre 03/01/36 et 25/01/36 sur les dates début et fin tu ne récupères aucune valeur. Et Entre #05/01/1936# Et #03/01/1938# en critère pour début et fin, tu ne récupères que la période du 01/01/37 et le 31/12/37. alors que tu voulais au départ afficher toutes les périodes allant du Début fin 01/01/1936 31/12/1936 01/01/1937 31/12/1937 01/01/1938 30/06/1938
A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl= fr
Pourtant ça marche, je pense que si je t'envoie le code ce sera plus clair.
SELECT COTSS.début, COTSS.fin FROM COTSS WHERE (((COTSS.début) Between [formulaires]![agents]![début période 1] And [formulaires]![agents]![fin période 1])) OR (((COTSS.fin) Between [formulaires]![agents]![début période 1] And [formulaires]![agents]![fin période 1]));
je rentre début période/08/1936 et fin de période/08/1938, ce qui me donne les plages de dates (provenant de la table COTSS) allant du 1/> 01/01/1936 31/12/1936 2/> 01/01/1937 31/12/1937 3/> 01/01/1938 30/06/1938 4/> 01/07/1938 31/12/1938
j'ai tatonné pour y arriver, et ça marche. Par contre actuellement je bosse pour essayer de faire en sorte qu'access remplace les dates de début (01/01/1936) et de fin (31/12/1938) par les dates que j'ai rentré dans mon formulaire (18/08/1936 et 17/08/1938) sans modifier la table COTSS afin de pouvoir la réutiliser plus tard.
Si tu as une idée ? Merci nat@+
Gilles MOUGNOZ
Pourtant ça marche, je pense que si je t'envoie le code ce sera plus clair. SELECT COTSS.début, COTSS.fin FROM COTSS WHERE (((COTSS.début) Between [formulaires]![agents]![début période 1] And [formulaires]![agents]![fin période 1])) OR (((COTSS.fin) Between [formulaires]![agents]![début période 1] And [formulaires]![agents]![fin période 1])); je rentre début période/08/1936 et fin de période/08/1938, ce qui me donne les plages de dates (provenant de la table COTSS) allant du 1/> 01/01/1936 31/12/1936 2/> 01/01/1937 31/12/1937 3/> 01/01/1938 30/06/1938 4/> 01/07/1938 31/12/1938 j'ai tatonné pour y arriver, et ça marche. Par contre actuellement je bosse pour essayer de faire en sorte qu'access remplace les dates de début (01/01/1936) et de fin (31/12/1938) par les dates que j'ai rentré dans mon formulaire (18/08/1936 et 17/08/1938) sans modifier la table COTSS afin de pouvoir la réutiliser plus tard. Si tu as une idée ? Merci nat@+
Bonjour, Nat
Pour que cela soit plus clair, je pense que tu devrais essayer d'exprimer ton besoin réel en "Français". J'ai suivi la conversation de loin et je trouve que les exemples que tu donnes ne sont pas très parlant. Ce n'est pas de ta faute, c'est simplement que rien ne ressemble plus à un chiffre qu'un autre chiffre (et c'est pire avec les dates !). Eric et Argyronet, avec toute leur bonne volonté, ont essayé de traduire en langage naturel ta demande et tu leur réponds avec du SQL ! Tentons la démarche inverse: exprime ton besoin en langage naturel et peut-être qu'il en ressortira un SQL... qui marche ! ;-) S'agit-il de ressortir toutes les périodes qui "chevauchent" la période saisie sur le formulaire ?
Bonne continuation
"Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément." Nicolas BOILEAU
Pourtant ça marche, je pense que si je t'envoie le code ce sera plus
clair.
SELECT COTSS.début, COTSS.fin
FROM COTSS
WHERE (((COTSS.début) Between [formulaires]![agents]![début période
1] And [formulaires]![agents]![fin période 1])) OR (((COTSS.fin)
Between [formulaires]![agents]![début période 1] And
[formulaires]![agents]![fin période 1]));
je rentre début période/08/1936 et fin de période/08/1938, ce
qui me donne les plages de dates (provenant de la table COTSS) allant
du
1/> 01/01/1936 31/12/1936
2/> 01/01/1937 31/12/1937
3/> 01/01/1938 30/06/1938
4/> 01/07/1938 31/12/1938
j'ai tatonné pour y arriver, et ça marche.
Par contre actuellement je bosse pour essayer de faire en sorte
qu'access remplace les dates de début (01/01/1936) et de fin
(31/12/1938) par les dates que j'ai rentré dans mon formulaire
(18/08/1936 et 17/08/1938) sans modifier la table COTSS afin de pouvoir
la réutiliser plus tard.
Si tu as une idée ?
Merci
nat@+
Bonjour, Nat
Pour que cela soit plus clair, je pense que tu devrais essayer d'exprimer
ton besoin réel en "Français".
J'ai suivi la conversation de loin et je trouve que les exemples que tu
donnes ne sont pas très parlant. Ce n'est pas de ta faute, c'est simplement
que rien ne ressemble plus à un chiffre qu'un autre chiffre (et c'est pire
avec les dates !).
Eric et Argyronet, avec toute leur bonne volonté, ont essayé de traduire en
langage naturel ta demande et tu leur réponds avec du SQL !
Tentons la démarche inverse: exprime ton besoin en langage naturel et
peut-être qu'il en ressortira un SQL... qui marche ! ;-)
S'agit-il de ressortir toutes les périodes qui "chevauchent" la période
saisie sur le formulaire ?
Bonne continuation
"Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire
arrivent aisément." Nicolas BOILEAU
Pourtant ça marche, je pense que si je t'envoie le code ce sera plus clair. SELECT COTSS.début, COTSS.fin FROM COTSS WHERE (((COTSS.début) Between [formulaires]![agents]![début période 1] And [formulaires]![agents]![fin période 1])) OR (((COTSS.fin) Between [formulaires]![agents]![début période 1] And [formulaires]![agents]![fin période 1])); je rentre début période/08/1936 et fin de période/08/1938, ce qui me donne les plages de dates (provenant de la table COTSS) allant du 1/> 01/01/1936 31/12/1936 2/> 01/01/1937 31/12/1937 3/> 01/01/1938 30/06/1938 4/> 01/07/1938 31/12/1938 j'ai tatonné pour y arriver, et ça marche. Par contre actuellement je bosse pour essayer de faire en sorte qu'access remplace les dates de début (01/01/1936) et de fin (31/12/1938) par les dates que j'ai rentré dans mon formulaire (18/08/1936 et 17/08/1938) sans modifier la table COTSS afin de pouvoir la réutiliser plus tard. Si tu as une idée ? Merci nat@+
Bonjour, Nat
Pour que cela soit plus clair, je pense que tu devrais essayer d'exprimer ton besoin réel en "Français". J'ai suivi la conversation de loin et je trouve que les exemples que tu donnes ne sont pas très parlant. Ce n'est pas de ta faute, c'est simplement que rien ne ressemble plus à un chiffre qu'un autre chiffre (et c'est pire avec les dates !). Eric et Argyronet, avec toute leur bonne volonté, ont essayé de traduire en langage naturel ta demande et tu leur réponds avec du SQL ! Tentons la démarche inverse: exprime ton besoin en langage naturel et peut-être qu'il en ressortira un SQL... qui marche ! ;-) S'agit-il de ressortir toutes les périodes qui "chevauchent" la période saisie sur le formulaire ?
Bonne continuation
"Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément." Nicolas BOILEAU
nat
dsl, si je me suis mal fait comprendre mais mon SQL fonctionne, c'est l'essentiel.
dsl, si je me suis mal fait comprendre mais mon SQL fonctionne, c'est
l'essentiel.
dsl, si je me suis mal fait comprendre mais mon SQL fonctionne, c'est l'essentiel.
Eric
Re,
Ok, j'étais parti sur un ET pour les champs Début et Fin. Mon PS n'était pas si inutile que ça finalement ;-)
Pour ton problème de date de début de la 1ere période et de fin pour la dernière, je ferai un truc du genre, basé sur ton exemple : SELECT IIf([Début]<#8/18/1936#,#8/18/1936#,[début]) AS [Periode Debut], IIf([fin]>#8/17/1938# And [début]<#8/17/1938#,#8/17/1938#,[fin]) AS [Periode Fin] FROM Nat WHERE (((IIf([Début]<#8/18/1936#,#8/18/1936#,[début])) Between #8/18/1936# And #8/17/1938#)) OR (((IIf([fin]>#8/17/1938# And [début]<#8/17/1938#,#8/17/1938#,[fin])) Between #8/18/1936# And #8/17/1938#));
Tu devras modifier avec tes champs de formulaires.
La requête me retourne : Periode Debut Periode Fin 18/08/1936 31/12/1936 01/01/1937 31/12/1937 01/01/1938 30/06/1938 01/07/1938 17/08/1938
sans modification des valeurs dans la table sous-jacente.
Pourtant ça marche, je pense que si je t'envoie le code ce sera plus clair. ... j'ai tatonné pour y arriver, et ça marche. Par contre actuellement je bosse pour essayer de faire en sorte qu'access remplace les dates de début (01/01/1936) et de fin (31/12/1938) par les dates que j'ai rentré dans mon formulaire (18/08/1936 et 17/08/1938) sans modifier la table COTSS afin de pouvoir la réutiliser plus tard.
Si tu as une idée ? Merci nat@+
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Re,
Ok, j'étais parti sur un ET pour les champs Début et Fin.
Mon PS n'était pas si inutile que ça finalement ;-)
Pour ton problème de date de début de la 1ere période et de fin pour la
dernière, je ferai un truc du genre, basé sur ton exemple :
SELECT IIf([Début]<#8/18/1936#,#8/18/1936#,[début]) AS [Periode Debut],
IIf([fin]>#8/17/1938# And [début]<#8/17/1938#,#8/17/1938#,[fin]) AS
[Periode Fin]
FROM Nat
WHERE (((IIf([Début]<#8/18/1936#,#8/18/1936#,[début])) Between
#8/18/1936# And #8/17/1938#)) OR (((IIf([fin]>#8/17/1938# And
[début]<#8/17/1938#,#8/17/1938#,[fin])) Between #8/18/1936# And
#8/17/1938#));
Tu devras modifier avec tes champs de formulaires.
La requête me retourne :
Periode Debut Periode Fin
18/08/1936 31/12/1936
01/01/1937 31/12/1937
01/01/1938 30/06/1938
01/07/1938 17/08/1938
sans modification des valeurs dans la table sous-jacente.
Pourtant ça marche, je pense que si je t'envoie le code ce sera plus
clair.
...
j'ai tatonné pour y arriver, et ça marche.
Par contre actuellement je bosse pour essayer de faire en sorte
qu'access remplace les dates de début (01/01/1936) et de fin
(31/12/1938) par les dates que j'ai rentré dans mon formulaire
(18/08/1936 et 17/08/1938) sans modifier la table COTSS afin de pouvoir
la réutiliser plus tard.
Si tu as une idée ?
Merci
nat@+
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Ok, j'étais parti sur un ET pour les champs Début et Fin. Mon PS n'était pas si inutile que ça finalement ;-)
Pour ton problème de date de début de la 1ere période et de fin pour la dernière, je ferai un truc du genre, basé sur ton exemple : SELECT IIf([Début]<#8/18/1936#,#8/18/1936#,[début]) AS [Periode Debut], IIf([fin]>#8/17/1938# And [début]<#8/17/1938#,#8/17/1938#,[fin]) AS [Periode Fin] FROM Nat WHERE (((IIf([Début]<#8/18/1936#,#8/18/1936#,[début])) Between #8/18/1936# And #8/17/1938#)) OR (((IIf([fin]>#8/17/1938# And [début]<#8/17/1938#,#8/17/1938#,[fin])) Between #8/18/1936# And #8/17/1938#));
Tu devras modifier avec tes champs de formulaires.
La requête me retourne : Periode Debut Periode Fin 18/08/1936 31/12/1936 01/01/1937 31/12/1937 01/01/1938 30/06/1938 01/07/1938 17/08/1938
sans modification des valeurs dans la table sous-jacente.
Pourtant ça marche, je pense que si je t'envoie le code ce sera plus clair. ... j'ai tatonné pour y arriver, et ça marche. Par contre actuellement je bosse pour essayer de faire en sorte qu'access remplace les dates de début (01/01/1936) et de fin (31/12/1938) par les dates que j'ai rentré dans mon formulaire (18/08/1936 et 17/08/1938) sans modifier la table COTSS afin de pouvoir la réutiliser plus tard.
Si tu as une idée ? Merci nat@+
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Eric
.../... Manque une condition sur Periode Debut dans le iif
IIf([Début]<#8/18/1936# And [fin]>#8/18/1936#,#8/18/1936#,[début]) AS [Periode Debut]
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
.../...
Manque une condition sur Periode Debut dans le iif
IIf([Début]<#8/18/1936# And [fin]>#8/18/1936#,#8/18/1936#,[début]) AS
[Periode Debut]
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr