Access 2003/ requete conditionnellle
Résolu/Fermé
TOUPOU96
Messages postés
49
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
9 juin 2011
-
26 juin 2008 à 10:51
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 - 8 juil. 2008 à 15:10
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 - 8 juil. 2008 à 15:10
A voir également:
- Access 2003/ requete conditionnellle
- Office 2003 - Télécharger - Bureautique
- Access appdata - Guide
- Acer quick access - Forum Logiciels
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- You don't have permission to access this resource ✓ - Forum Réseaux sociaux
9 réponses
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 389
26 juin 2008 à 12:25
26 juin 2008 à 12:25
Bonjour,
Peux-tu copier/coller la définition de tes deux tables stp ? Cela sera plus facile pour trouver une solution à ton problème.
A plus
Peux-tu copier/coller la définition de tes deux tables stp ? Cela sera plus facile pour trouver une solution à ton problème.
A plus
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 389
26 juin 2008 à 16:19
26 juin 2008 à 16:19
Bonjour,
Encore trois petites questions
1°) Comment vais-tu le lien entre ta table séjour et clients si tu n'as que le prénom, je suppose que plusieurs clients peuvent avoir le même prénom
2°) Dans ta table séjour, est ce que la date de sortie est toujours remplie ?
3°) Dans ta table séjour, les colonnes Sejour_Mensuel et Sejour_Total sont-elles remplies ou bien veux tu les calculer avec ta requête pour pouvoir les mettre à jour ?
Dès que j'aurais les réponses, je ferai de mon mieux pour te proposer une solution
A plus
Encore trois petites questions
1°) Comment vais-tu le lien entre ta table séjour et clients si tu n'as que le prénom, je suppose que plusieurs clients peuvent avoir le même prénom
2°) Dans ta table séjour, est ce que la date de sortie est toujours remplie ?
3°) Dans ta table séjour, les colonnes Sejour_Mensuel et Sejour_Total sont-elles remplies ou bien veux tu les calculer avec ta requête pour pouvoir les mettre à jour ?
Dès que j'aurais les réponses, je ferai de mon mieux pour te proposer une solution
A plus
TOUPOU96
Messages postés
49
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
9 juin 2011
4
26 juin 2008 à 17:12
26 juin 2008 à 17:12
Christounet,
pour repondre à tes questions,
- la table CLIENTS a une clé primaire et celle ci est la clé étrangère de la table séjour. D'autre part, j' ai un formulaire qui peuple la table CLIENTS et un sous formulaire imbriqué dedans qui peuple la table séjour. Je souhaite donc que ma requête calcule et remplisse les champs Séjour_mensuel et Séjour_total.
- Le champ Date_Sortie peut être nul lorsque mon client est encore hébergé à la fin du mois et dans ce cas le sejour mensuel compte les jours jusqu'à la fin du mois considéré.
pour repondre à tes questions,
- la table CLIENTS a une clé primaire et celle ci est la clé étrangère de la table séjour. D'autre part, j' ai un formulaire qui peuple la table CLIENTS et un sous formulaire imbriqué dedans qui peuple la table séjour. Je souhaite donc que ma requête calcule et remplisse les champs Séjour_mensuel et Séjour_total.
- Le champ Date_Sortie peut être nul lorsque mon client est encore hébergé à la fin du mois et dans ce cas le sejour mensuel compte les jours jusqu'à la fin du mois considéré.
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 389
26 juin 2008 à 17:49
26 juin 2008 à 17:49
Toupou96,
Ok, merci pour tes réponses, je vais créer les mêmes tables sur mon ordinateur et essayer de trouver la requête sql qui correspond à ta demande. Je suis malheureusement demain en congé, donc je ne pourrais te répondre que Lundi, si tu peux attendre jusque là.
A plus
Ok, merci pour tes réponses, je vais créer les mêmes tables sur mon ordinateur et essayer de trouver la requête sql qui correspond à ta demande. Je suis malheureusement demain en congé, donc je ne pourrais te répondre que Lundi, si tu peux attendre jusque là.
A plus
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 389
30 juin 2008 à 17:30
30 juin 2008 à 17:30
Bonjour Toupou96,
Comme prévu, voici un code d'une requête qui devrait faire ce que tu veux
J'ai effectué la jointure sur la colonne ClientId (dans ma table CLIENTS c'est un numéro unique qui est reprise comme clé externe dans la table SEJOUR.
Explication de la colonne Sejour_Mensuel
Explication de la colonne Sejour_Total
Tiens moi au courant, merci
Comme prévu, voici un code d'une requête qui devrait faire ce que tu veux
SELECT Clients.Nom, Clients.Prénom, Sejour.Sexe, Clients.Date_naissance, Sejour.Date_entree, Sejour.Date_sortie, iif(DatePart('M',Sejour.Date_Sortie) < DatePart('M',now()),0,iif(Sejour.Date_Sortie is not NULL, iif(DatePart('M',Sejour.Date_entree) = DatePart('M',now()),datediff('d',Sejour.Date_entree,Sejour.Date_sortie), datediff('d',format(DatePart('yyyy',now()) & "/" & DatePart('M',now()) & "/01" , "yyyy/mm/dd"), Sejour.Date_sortie)), iif(DatePart('M',Sejour.Date_entree) = DatePart('M',now()),datediff('d',Sejour.Date_entree,now()), datediff('d',format(DatePart('yyyy',now()) & "/" & DatePart('M',now()) & "/01" , "yyyy/mm/dd"), now())))) AS Sejour_Mensuel, iif(Sejour.Date_sortie is NULL,datediff('d',Sejour.Date_entree,now()), datediff('d',Sejour.Date_entree,Sejour.Date_sortie)) AS Sejour_Total FROM Clients INNER JOIN Sejour ON Clients.ClientId = Sejour.ClientId;
J'ai effectué la jointure sur la colonne ClientId (dans ma table CLIENTS c'est un numéro unique qui est reprise comme clé externe dans la table SEJOUR.
Explication de la colonne Sejour_Mensuel
Si le mois de Sortie < mois en cours alors 0 sinon si la date de sortie est remplie alors si le mois d'entrée = mois en cours alors nombre de jours entre date entrée et date sortie sinon nombre de jours entre premier du mois et date sortie sinon si mois d'entrée = mois en cours alors nombre de jours entre date entrée et aujourd'hui sinon nombre de jours entre premier du mois et aujourd'hui
Explication de la colonne Sejour_Total
Si date est sortie est NULL alors nombre de jours entre date entrée et aujourd'hui sinon nombre de jours entre date entrée et date sortie
Tiens moi au courant, merci
TOUPOU96
Messages postés
49
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
9 juin 2011
4
30 juin 2008 à 20:50
30 juin 2008 à 20:50
Bonsoir Christounet,
Merci beaucoup pour ton aide....aujourd'hui, j'ai encore essayé et jusqu'à maintenant je n'ai pu obtenir quelque chose de satisfaisant, alors j'essaye ce code et te tiens au courant...
Bonne soirée, merci et à bientot.
Merci beaucoup pour ton aide....aujourd'hui, j'ai encore essayé et jusqu'à maintenant je n'ai pu obtenir quelque chose de satisfaisant, alors j'essaye ce code et te tiens au courant...
Bonne soirée, merci et à bientot.
TOUPOU96
Messages postés
49
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
9 juin 2011
4
2 juil. 2008 à 08:12
2 juil. 2008 à 08:12
Bonjour Christounet,
si j'ai pas fait signe hier, c'est que je suis encore en plein taf " il faut courir tous les jours....", voilà j'ai essayé ton code cette nuit et je voudrais savoir s'il marche chez toi car pour moi, il y' a des bugs et j'essaye encore de voir. Par exemple je ne comprends pas, après le premier IF:
iif(DatePart('M',Sejour.Date_Sortie)) < DatePart('M',now()),0,iif(Sejour.Date_Sortie is not NULL,
il sert à quoi le 0 entre eux?
Merci,
Bonne journée et à bientot
si j'ai pas fait signe hier, c'est que je suis encore en plein taf " il faut courir tous les jours....", voilà j'ai essayé ton code cette nuit et je voudrais savoir s'il marche chez toi car pour moi, il y' a des bugs et j'essaye encore de voir. Par exemple je ne comprends pas, après le premier IF:
iif(DatePart('M',Sejour.Date_Sortie)) < DatePart('M',now()),0,iif(Sejour.Date_Sortie is not NULL,
il sert à quoi le 0 entre eux?
Merci,
Bonne journée et à bientot
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 389
2 juil. 2008 à 11:01
2 juil. 2008 à 11:01
Bonjour Toupou96,
Oui, le code fonctionne chez moi, j'ai crée deux tables (Clients et Sejour) avec quelques donnée, tu trouveras une image de mes données et résultat ici, ici et ici.
Concernant ta 2ème question, l'instruction IIF à toujours trois arguments, le premier est la condition à testé, le second est le résultat quand la condition est vraie, et le troisième quand la condition est fausse. Dans le cas du premier, si le mois de la date de sortie est plus petit que le mois en cours, le sejour_mensuel est mis à zéro.
N'hésite pas si tu as d'autres questions.
A plus
Oui, le code fonctionne chez moi, j'ai crée deux tables (Clients et Sejour) avec quelques donnée, tu trouveras une image de mes données et résultat ici, ici et ici.
Concernant ta 2ème question, l'instruction IIF à toujours trois arguments, le premier est la condition à testé, le second est le résultat quand la condition est vraie, et le troisième quand la condition est fausse. Dans le cas du premier, si le mois de la date de sortie est plus petit que le mois en cours, le sejour_mensuel est mis à zéro.
N'hésite pas si tu as d'autres questions.
A plus
TOUPOU96
Messages postés
49
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
9 juin 2011
4
2 juil. 2008 à 13:56
2 juil. 2008 à 13:56
MERCI CHRISTOUNET,
Dans ta requete, quel est le moment du calcul, Now() implique la date actuel car en nous plaçant debut du mois de juillet, le 02 juillet 2008 par exemple, celà marche très bien. Est il possible de sortir une requete avec les personnes présentes au mois de fevrier 2008?
Je vais d'abord revoir mon code car jusqu'à maintenet, je n'obtiens pas toujours le resultat attendu. Je reprends tout et je te dirai. Merci et à bientot.
Dans ta requete, quel est le moment du calcul, Now() implique la date actuel car en nous plaçant debut du mois de juillet, le 02 juillet 2008 par exemple, celà marche très bien. Est il possible de sortir une requete avec les personnes présentes au mois de fevrier 2008?
Je vais d'abord revoir mon code car jusqu'à maintenet, je n'obtiens pas toujours le resultat attendu. Je reprends tout et je te dirai. Merci et à bientot.
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 389
2 juil. 2008 à 14:18
2 juil. 2008 à 14:18
Bonjour Toupou96,
Pour trouver toutes les personnes présentes en Février 2008, la requête devrait être la suivante
A plus
Pour trouver toutes les personnes présentes en Février 2008, la requête devrait être la suivante
SELECT Clients.Nom, Clients.Prénom, Sejours.Date_entree, Sejours.Date_sortie FROM Clients INNER JOIN Sejours ON Clients.ClientId = Sejours.ClientId WHERE Sejours.Date_entree<=#2/29/2008# AND (Sejours.Date_sortie>=#2/1/2008# or Sejours.Date_sortie is NULL);
A plus
TOUPOU96
Messages postés
49
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
9 juin 2011
4
3 juil. 2008 à 16:17
3 juil. 2008 à 16:17
Bonjour Christounet,
oui, je sais celà et je voulais en fait poser la question au cas ou je voudrais avoir les personnes présentes en Fevirier 2008, je conserve donc le premier code auquel j' ajoute la clause WHERE...... Ai je bien compris?
Pour le moment, le code est passé, mais je petits soucis pour le debogage. Je te tiens au courant et merci.
A bientot.
oui, je sais celà et je voulais en fait poser la question au cas ou je voudrais avoir les personnes présentes en Fevirier 2008, je conserve donc le premier code auquel j' ajoute la clause WHERE...... Ai je bien compris?
Pour le moment, le code est passé, mais je petits soucis pour le debogage. Je te tiens au courant et merci.
A bientot.
TOUPOU96
Messages postés
49
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
9 juin 2011
4
8 juil. 2008 à 14:57
8 juil. 2008 à 14:57
Salut Christounet,
Après beaucoup de prise de tete et grace à tes requetes, je suis venu à bout de mon problème te je te remercie vivement.
Tout est ok.
A bientot. TOUPOU96
Après beaucoup de prise de tete et grace à tes requetes, je suis venu à bout de mon problème te je te remercie vivement.
Tout est ok.
A bientot. TOUPOU96
TOUPOU96
Messages postés
49
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
9 juin 2011
4
8 juil. 2008 à 14:59
8 juil. 2008 à 14:59
MERCI, LE PROBLEME EST ENFIN SOLUTIONNÉ...!
TOUPOU96
Messages postés
49
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
9 juin 2011
4
8 juil. 2008 à 15:02
8 juil. 2008 à 15:02
MERCI A TOUS ET A CCM
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 389
8 juil. 2008 à 15:10
8 juil. 2008 à 15:10
Salut Toupou96,
Heureux que ton problème soit résolu.
A plus
Heureux que ton problème soit résolu.
A plus
26 juin 2008 à 15:32
je ne comprends pas très bien ce que tu entends par la definition de mes tables, sinon voilà :
Tables:
CLIENTS(Nom, prenom, Date_naissance, Ville_origine, Profession)
SEJOUR(Prénom, Sexe, Date-Entree, Date_Sortie, Sejour_Mensuel, Sejour_Total)
La requete construite doit me lister les nom, prenom, sexe, Date_Naissance, Sejour_Mensuel, Sejour_Total
et je voudrais calculer le nombre de jours passés par une personne dans le mois en cours, Sejour_Mensuel.
Merci Chris et à bientot, j'espère