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 :

Requete conditionnelle sous ACCESS


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Requete conditionnelle sous ACCESS
    Bonjour à tous,
    Voilà, j'ai une requête sous access pour compter les jours pendant lesquels un visiteur reste dans ma structure, le problème vient du fait que j'ai un jour en plus dans mon décompte et je ne vois pas ou est l'erreur.

    J'ai deux tables:
    FAM(Id_FAM,NOM,PRENOM,DATE_NAISSANCE,VILLE_ORIGINE)
    SEJOURS(Id__SEJ,Id_FAM,ENTREE_SEJ,SORTIE_SEJ)
    j'ai fabriqué une requete qui me permet de calculer les jours passés par un visiteur
    dans mon hotel. Par exemple:

    ENTREE_SEJ SORTIE_SEJ NBR_JOURS_MOIS_EN_COURS

    02/07/2008 21/07/2008 20
    22/12/2007 13/07/2008 13
    01/04/2008 02/07/2008 2

    NBR_JOURS_MOIS_EN_COURS:
    DiffDate("j";VraiFaux(SEJOURS.ENTREE_SEJ<Date()*-Jour(Date())+1;Date()-Jour(Date())+1;SEJOURS.ENTREE_SEJ);Vr*a
    iFaux(VraiFaux(EstNull(SEJOURS.SORTIE_SEJ);Date();SEJOURS.SO*RTIE_SEJ)>Date();Date();VraiFaux(EstNull(SEJOURS
    .SORTIE_SEJ);Date();SEJOURS.SORTIE_SEJ)))+1

    Or, normallement la différence de nuitées entre le 02juillet et le 21
    juillet est 19 jours et non 20. Pouvez vous m'aider à ajuster ma formule svp?
    Je ne connais pas encore le VB, si quelqu'un peut me proposer un module car on dirait que mon problème ne peut etre resolu par SQL!!!! Merci d'avance à tous.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    Salut,

    ca ne viendrait pas simplement du +1 en fin de formule?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DiffDate("j";VraiFaux(SEJOURS.ENTREE_SEJ<Date()*-Jour(Date())+1;Date()-Jour(Date())+1;SEJOURS.ENTREE_SEJ);Vr*a
    iFaux(VraiFaux(EstNull(SEJOURS.SORTIE_SEJ);Date();SEJOURS.SO*RTIE_SEJ)>Date();Date();VraiFaux(EstNull(SEJOURS
    .SORTIE_SEJ);Date();SEJOURS.SORTIE_SEJ)))+1

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut NON !!!
    Salut 6ril25, merci pour ton intervention, celà ne vient pas du +1 de la fin. En fait, avec +1 à la fin j'obtiens un nombre coherent pour le nombre de jours juqu'à la fin du mois mais la différence de jours dans le mois n'est plus juste.

    ENTREE_SEJ SORTIE_SEJ NBR_JOURS_MOIS
    02/07/2008 21/07/2008 20
    22/12/2007 3/07/2008 13
    01/04/2008 02/07/2008 2
    28/06/2008 31/07/2008 31


    C'est ce que je voudrais obtenir comme résultat....

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    ho!! ho!! Nombre de Jours, si on compte le 1 et dernier jour c'est normal de trouver 20 entre le 2 et le 21 Juillet, puis on passe au nombre de nuit .... là effectivement c'est 19, "faut savoir ce qu'on veut...." DateDiff "d" donnera bien 19 (nombre de nuitées). ensuite la différence entre le 22/12/2007 et le 13/07/2008 c'est 204 jours ça je pense que tu le sais, si tu veux 13 jours il suffit de demander "jour" de la date de départ quand le mois est commencé, tout cela se règle facilement par des requêtes encore faut-il être précis sur ce que l'on veut..... Ex. du 22/12/2007 3/07/2008 = 13 !!!! dans ton dernier post "erreur de frappe" probablement car dans le 1er c'est 13/7....
    soyons précis l'informatique demande beaucoup de rigueur.

    ex: requête qui te donne un peu tout "j'en connais un qui, s'il passe par là va nous en sortir une pas piquée des vers !!!!"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT SEJOURS.Id_SEJ, SEJOURS.Id_fFAM, SEJOURS.ENTREE_SE, SEJOURS.SORTIE_SE, DateDiff("d",[ENTREE_SE],[SORTIE_SE]) AS NOMBRE_NUIT, DateDiff("d",[ENTREE_SE],[SORTIE_SE])+1 AS NOMBRE_JOUR, Day([SORTIE_SE]) AS NOMBRE_JOUR_MOIS
    FROM SEJOURS;
    bon courage à +

  5. #5
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonsoir,

    TOUPOU96, tu pourrais mettre les balises codes, j'en ai mal aux yeux ce soir...

    @LE VIEUX
    "j'en connais un qui, s'il passe par là va nous en sortir une pas piquée des vers !!!!"
    Tu penses à qui

    @TOUPOU96
    le problème vient du fait que j'ai un jour en plus dans mon décompte et je ne vois pas ou est l'erreur.
    Alors un -1, en même temps 6ril25 n'a peut-être pas tord...

    Sinon par mois tu extrais les jours et fait la différence 21 - 2 =19 !


Discussions similaires

  1. Requete Fusion sous Access
    Par askan dans le forum Access
    Réponses: 8
    Dernier message: 28/09/2006, 22h12
  2. [VBA-A ] requete paramétrée sous access
    Par mymeal dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/08/2006, 17h54
  3. Recherche de requete sql sous access
    Par climz dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 15/05/2006, 09h16
  4. [sql]Probleme de count dans une requete sql (sous access)
    Par castelligreg dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/04/2006, 16h06
  5. Problème avec une requete SQL sous access
    Par Luther13 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 14/12/2005, 10h39

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