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

WinDev Discussion :

Valeur entre deux périodes dans un intervalle de dates


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    87
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 87
    Points : 17
    Points
    17
    Par défaut Valeur entre deux périodes dans un intervalle de dates
    bonsoir je galére avec un requete j'ai deux date date1 ET date2 que je vais le nommer un intervalle , je veux afficher le nombre de jour entre deux date de l'intervalle exemple un ouvrier travailler du 23/08/2013 au 05/09/2013 ça fait 14 JOURS alors moi je veux juste afficher le nombre de jour travailler entre le 01/09/2013 au 05/09/2013

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 451
    Points
    2 451
    Par défaut
    Bonsoir, bonjour,

    Voyez DateDifférence().

    Hemgé

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    87
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 87
    Points : 17
    Points
    17
    Par défaut
    REQ_JOURNALPAIEMOIS.date1=SAI_Date2
    REQ_JOURNALPAIEMOIS.date2=SAI_Date3
    HExécuteRequête(REQ_JOURNALPAIEMOIS)
    TableAffiche(TABLE_REQ_JOURNALPAIEMOIS,taDébut)


    mais je sais pas ou ajouter datediffrence

  4. #4
    Membre habitué Avatar de elfasys
    Homme Profil pro
    Ingénieur automatismes industriels, conception et réalisation
    Inscrit en
    Octobre 2010
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur automatismes industriels, conception et réalisation
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 81
    Points : 144
    Points
    144
    Par défaut
    Bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mais je sais pas ou ajouter datediffrence
    Peut-être simplement un libellé ?

    Libellé = DateDifférence(DateDeb, DateFin) + " jours"

    avec le format convenable AAAAMMJJ et en ajoutant les tests pour les durées nulles, négatives ou < 1...

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Bonjour,

    Je pense qu'il faut coder votre propre fonction.

    Elle doit prendre en compte les jours ouvrés et les jours fériés.

    Grossièrement il s'agit de faire un boucle qui part du premier jour de l'intervalle jusqu'au dernier en comptant les jours ouvrés non fériés.

    Au mieux vous pouvez créer une procédure stockée pour pouvoir l'exploiter dans le cadre d'une requête.

  6. #6
    R&B
    R&B est déconnecté
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2005
    Messages : 571
    Points : 1 263
    Points
    1 263
    Par défaut
    Bonjour

    1- on n'a pas la structure du fichier duquel vous voulez extraire lesdites données

    En conséquence on va partir, selon votre présentation, d'un fichier des jours travaillés par ouvriers avec un code salarié et une date.

    2- on va en déduire la requête qui consiste à compter les enregistrement pour le salarié et pour la période. la technique consiste à borner la date, et compter les enregistrement qui sortent pour le salarié. Notez que les fonctions SQL de comptage sont à utiliser sur des lignes groupées... on obtient alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    cSQL est une chaine
    cSQL = "SELECT SALARIE, COUNT(*) AS NB FROM JOURSTRAVAILLES "...
    // on détermine la condition sur le salarié
    cSQL += " WHERE SALARIE = '"+codeSalarié+"' 
    // on limite sur la période avec des simple < > ou la clause BETWEEN si on est sur d'avoir les deux dates
    cSQL += " AND DATE BETWEEN "'+dateDeb+"' AND '"+dateFin+"'"
    // et on groupe pour le comptage sur le salarié
    cSQL += " GROUP BY SALARIE"
     
    // Exécution de la requète
    sSQL est une source de données
    nNbJours est un entier
    SI PAS HExécuteRequêteSQL(sSQL,hRequêteDéfaut,cSQL) ALORS
       Erreur(HerreurInfo())
    SINON
       HLitPremier(sSQL)
       nNbJours = sSQL.NB
    FIN
    HAnnuleDeclaration(sSQL)
    Info(nNbJours)
    Hop !

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    87
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 87
    Points : 17
    Points
    17
    Par défaut
    merci pour votre réponse c'est ce que je cherche mais je vous met la structure du fichier pour comprendre bien

    ouvrier avec un idouvrier
    saijour avec date et nbrjour et idouvrier

    je sais pas ou implémenter le code

  8. #8
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    87
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 87
    Points : 17
    Points
    17
    Par défaut CODE SQL REQUETE
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    SELECT DISTINCT 
    	COUNT(SAIJOUR.DATE) AS Comptage_1,	
    	GROUPE.IDDOMAINE AS IDDOMAINE,	
    	Lignesaijour.IDOUVRIER AS IDOUVRIER,	
    	Lignesaijour.nom AS nom,	
    	Lignesaijour.prenom AS prenom,	
    	OUVRIER.FonCtions AS FonCtions,	
    	SUM(Lignesaijour.BRUT) AS la_somme_BRUT,	
    	SUM(Lignesaijour.Njrs) AS la_somme_Njrs,	
    	SUM(Lignesaijour.CNSS) AS la_somme_CNSS,	
    	SUM(Lignesaijour.AMO) AS la_somme_AMO,	
    	SUM(GROUPE.REGULARAISATION*Lignesaijour.Njrs) AS PRIMERPANIER,	
    	SUM(Lignesaijour.SALAIRE) AS la_somme_SALAIRE,	
    	OUVRIER.SALAIREB AS SALAIREB
    FROM 
    	DOMAINE,	
    	GROUPE,	
    	SAIJOUR,	
    	Lignesaijour,	
    	OUVRIER
    WHERE 
    		GROUPE.IDDOMAINE	=	DOMAINE.IDDOMAINE
    	AND	SAIJOUR.IDDOMAINE	=	DOMAINE.IDDOMAINE
    	AND	Lignesaijour.IDSAIJOUR	=	SAIJOUR.IDSAIJOUR
    	AND	Lignesaijour.IDOUVRIER	=	OUVRIER.IDOUVRIER
    	AND
    	(
    		SAIJOUR.DATE BETWEEN {date1} AND {date2}
     
    	)
     
    GROUP BY 
    	Lignesaijour.IDOUVRIER,	
    	Lignesaijour.nom,	
    	Lignesaijour.prenom,	
    	OUVRIER.FonCtions,	
    	GROUPE.IDDOMAINE,	
    	OUVRIER.SALAIREB
    ORDER BY 
    	Comptage_1 ASC,	
    	nom ASC,	
    	FonCtions ASC

  9. #9
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    87
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 87
    Points : 17
    Points
    17
    Par défaut
    Aider moi svp car je n'ai besoin d'urgence

  10. #10
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Citation Envoyé par moradsoft Voir le message
    Aider moi svp car je n'ai besoin d'urgence
    Difficile de te répondre en l'état...

    Il faut être un peu plus précis sur ton analyse (fichiers/rubriques/liaisons)

    Ça serait bien de préciser également ce que tu veux obtenir pour chaque colonne du résultat (surtout celles calculées)

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Imprimeur
    Inscrit en
    Juin 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Imprimeur

    Informations forums :
    Inscription : Juin 2020
    Messages : 4
    Points : 0
    Points
    0
    Par défaut Différence entre deux dates
    Il s'agit simplement de mettre les deux dates dans la parenthèse et séparé d'une virgule

Discussions similaires

  1. [AC-2003] requete trie entre deux champs et un intervalle de dates
    Par papou23 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 10/01/2011, 15h39
  2. Réponses: 1
    Dernier message: 30/11/2010, 21h02
  3. Réponses: 10
    Dernier message: 14/06/2007, 14h27
  4. calcul entre deux champs dans une table
    Par pomar dans le forum Access
    Réponses: 7
    Dernier message: 29/11/2006, 18h27
  5. Choix entre deux champs dans une requete
    Par Pico10 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 27/07/2005, 15h36

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