IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Requête avec des dates


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Requête avec des dates
    Bonjour

    Qui peut m'aider ?

    J'ai une table avec en autres nom , datedebut, datefin, montant
    exemple:
    toto 01/03/2004 28/02/2007 200
    tata 01/06/2005 31/05/2008 300
    titi 01/04/2005 31/03/2008 500
    tutu 01/01/2006 31/12/2015 200

    Chaque année à la date anniversaire de datedebut, le montant doit être révisé

    J'aimerai créer une requête qui permettrait en fonction de l'année choisie de visualiser les fiches concernées par une revalorisation
    exemple
    année choisie 2008
    tata 01/06/2008
    tutu 01/01/2008

    La solution est sans doute très simple mais je dois chercher les complications, je n'y arrive pô :-(


    Merci d'avance pour vos conseils et solutions

    Danielle80

  2. #2
    Membre actif Avatar de le_dilem
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2005
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Avril 2005
    Messages : 313
    Points : 236
    Points
    236
    Par défaut si j'ai bien comp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select montant 
    from tatable
    where  
    day(datedebut)=day(datefin) and month(datedebut)=month(datefin)

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    et merci de m'aider

    Je suis nouvelle aussi bien sur ce forum que pour Access, donc difficile
    j'ai essayé d'inscrire l'instruction
    cela donne ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT LOCATIONS.Montant
    FROM LOCATIONS
    WHERE (((Day([LOCATIONS].[DateDébut]))=Day([LOCATIONS].[DateFin])) AND ((Month([LOCATIONS].[DateDébut]))=Month([LOCATIONS].[DateFin])));
    je n'ai aucun enregistrement qui s'affiche
    Il faut dire que je ne comprends pas l'instruction
    pour moi cela veut dire cherche le jour identique pour une date début et un date fin ainsi qu'un mois identique pour une date début et une date fin
    ????

    merci de m'éclairer

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    Il me semble que le plus simple serait de créer un champ calculé dans la requete qui permettrait de récupérer l'année de chaque enregistrement.

    Cependant, il y a quelque chose qui m'échappe, tu dis :

    Chaque année à la date anniversaire de datedebut, le montant doit être révisé
    Pourtant dans ton exemple, tu utilises les dates de fin.

    J'aimerai créer une requête qui permettrait en fonction de l'année choisie de visualiser les fiches concernées par une revalorisation
    exemple
    année choisie 2008
    tata 01/06/2008
    tutu 01/01/2008
    Enfin, cela ne change rien au probleme. Nous aurions donc la requete suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Montant, Datedebut, Year(DateDebut) as AnneeRevalorisation FROM LOCATIONS WHERE Year(DateDebut) = [Saisir l'annee concernee par la revalorisation]
    Ceci est une requete parametrée. Au lancement de la requete, une boite de dialogue te demandera l'année de la revalorisation

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonsoir

    merci de m'aider

    oui j'ai cafouillé dans mes exemples

    bon j'ai essayé ton code mais cela affiche les enregistrements où la date de début est égale à l'année que je saisie dans ma boite de dialogue
    ce n'est pas ce que je voudrais

    donc reprenons soit au départ
    nom datedebut datefin montant
    toto 01/03/2004 28/02/2007 200
    tata 01/06/2005 31/05/2008 300
    titi 01/04/2005 31/03/2008 500
    tutu 01/01/2006 31/12/2015 200

    j'aimerai une requête paramétrée où je peux saisir une année par exemple
    2008
    et voir les enregistrements sur lesquels une revalorisation doit être faite donc doit s'afficher
    tutu 01/01/2006 31/12/2015 200
    uniquement
    car pour les autres le contrat est terminé
    A noter le montant doit être revalorisé chaque année à la date anniversaire du début du bail
    donc pour tutu une revalorisation du montant doit être faite à compter du 01/01/2008
    la revalorisation date nouveau montant sera à saisir dans une autre table "suivi"

    si j'indique 2007
    j'aurai
    tata 01/06/2005 31/05/2008 300
    titi 01/04/2005 31/03/2008 500
    tutu 01/01/2006 31/12/2015 200
    un nouveau montant revalorisé pour
    tata à compter du 01/06/2007
    titi à compter du 01/04/2007
    tutu à compter du 01/01/2007

    si j'indique 2009
    tutu 01/01/2006 31/12/2015 200
    un nouveau montant revalorisé pour
    tutu à compter du 01/01/2009

    sachant que j'ajouterai quand j'aurai trouvé comment faire cette première étape, un champ de la table "suivi" avec comme critère Est null car si le montant donc la revalorisation a été saisi dans la table "suivi", l'enregistrement ne doit plus apparaitre mais on n'y est pas encore.

    voilà et encore merci

  6. #6
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    Il faut donc corriger la requete comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Nom, Datedebut, DateFin, Montant, Suivi, Year(DateFin) as AnneeRevalorisation FROM LOCATIONS INNER JOIN SUIVIS ON LOCATIONS.Nom = SUIVIS.Nom WHERE Year(DateFin) < [Saisir l'annee concernee par la revalorisation]AND Suivi Is Null
    J'ai ajouté la liaison entre les deux tables LOCATIONS et SUIVIS en pensant peut-être à tort que le Champ Clé est le Nom (à adapter enconséquence)

Discussions similaires

  1. [MySQL] Requête avec des dates
    Par dam28800 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 19/08/2010, 10h33
  2. Requête avec des dates
    Par Daviloppeur dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/05/2010, 12h28
  3. VB + Excel + SQL + Soucis requête avec des dates
    Par Invité dans le forum Excel
    Réponses: 2
    Dernier message: 12/03/2009, 08h15
  4. requête avec des dates
    Par brigdid dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 28/06/2007, 09h22
  5. SQL Requête avec des dates
    Par dahu29 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/03/2006, 18h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo