Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/01/2012, 17h48   #1
Futur Membre du Club
 
Inscription : mars 2004
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 61
Points : 19
Points : 19
Par défaut Requête sélection

Bonjour,

Je souhaite faire apparaître dans un sous-formulaire des formations qui auront lieu dans moins de 8 jours. Une alerte. Le problème serait simple s'il n'y avait qu'une date par formation. Mais il y en a quatre possibles : quatre champs de type date/heure dans la même table et pouvant être vides.

Pour chaque date, j'obtiens par une requête indépendante ce que je souhaite (DiffDate puis filtre). Mais je voudrais rassembler ces résultats. Il peut en effet y avoir deux dates proches pour la même formation.

Je voudrais donc obtenir une ligne par formation contenant une ou ou plusieurs dates dont l'intervalle avec la date du jour est x jours.

Avec :

Code :
1
2
SELECT Séminaire.Réfséminaire, [DiffDate1 8j].Diffdate1, [DiffDate3 8j].Diffdate3, [DiffDate4 8j].Diffdate4, [DiffDate2 8j].Diffdate2
FROM (((Séminaire RIGHT JOIN [DiffDate1 8j] ON Séminaire.Réfséminaire = [DiffDate1 8j].Réfséminaire) RIGHT JOIN [DiffDate3 8j] ON Séminaire.Réfséminaire = [DiffDate3 8j].Réfséminaire) RIGHT JOIN [DiffDate4 8j] ON Séminaire.Réfséminaire = [DiffDate4 8j].Réfséminaire) RIGHT JOIN [DiffDate2 8j] ON Séminaire.Réfséminaire = [DiffDate2 8j].Réfséminaire;
j'obtiens " jointures externes ambigües...".
Je suis embarrassé...
jori est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 23h21   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 479
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 479
Points : 7 568
Points : 7 568
Tu peux surement faire cela en une seule requête en faisant une test de date sur chacun des tes champs dates.

Un truc du genre :

Code sql :
SELECT taTable.* FROM taTable WHERE ([TonChampdate1] beetween [prmTaDate] AND [prmTaDate]+8) OR ([TonChampdate2] beetween [prmTaDate] AND [prmTaDate]+8) OR ([TonChampdate3] beetween [prmTaDate] AND [prmTaDate]+8) OR ([TonChampdate4] beetween [prmTaDate] AND [prmTaDate]+8)

mais il serait mieux, si c'est possible, de revoir ta structure pour avoir

TaTableDonnees :
ClefDonnees
Autres Infos utiles

TaTableDateDonnees :
ClefDateDonnees
ClefDonnees
DateDonnees
Autres Infos utiles

Cette structure permet un nombre infini de date et de très facilement sélectionner toutes les données qui sont dans une tranche voulue.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/01/2012, 10h53   #3
Futur Membre du Club
 
Inscription : mars 2004
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 61
Points : 19
Points : 19
Merci René,

Je vais étudier les deux solutions que tu proposes. Chacune ayant avantages et inconvénients compte-tenu de l'existant. Je penche plutôt pour la seconde.

Cependant, dans la première, que signifie pour toi le préfixe prm- ?

Merci
jori est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 22h14   #4
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 479
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 479
Points : 7 568
Points : 7 568
prm est mon abréviation perso pour Paramètre, désolé de ne pas l'avoir précisé car c'était évident pour moi :-).

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 07h30   #5
Futur Membre du Club
 
Inscription : mars 2004
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 61
Points : 19
Points : 19
Merci.
Bon week-end !
jori est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h42.


 
 
 
 
Partenaires

Hébergement Web