1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    décembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2012
    Messages : 2
    Points : 1
    Points
    1

    Par défaut Addition du nombre de colonne voulu

    Nom : Screenshot.png
Affichages : 94
Taille : 115,3 KoNom : Screenshot - Copie.png
Affichages : 92
Taille : 76,2 Ko
    Salut à toutes et tous,
    Je travaille sur les plans.
    J'ai un problème sur le plan ABSENCES/CONGES

    J'ai 2 tables, une table personnel et une table congé.
    Normalement lorsque je clicque sur une ligne de la table personnel,la liste des congés s'affiche dans la table congé.
    C'est à dire, pour chaque personne on a une liste.
    Ce qui fonctionne déjà à la perfection.

    Mon problème se situe au niveau de la table congé.
    J'aimerais que le calcul se fasse en fonction de l'état de la colonne soustraire.

    NB: si l'interrupteur soustraire est coché, alors la colonne soustraire prend la valeur OUI dans le cas contraire elle prend la valeur NON.

    Comme je l'avais dis, j'aimerais que le calcul se fasse en fonction de l'état de la colonne soustraire.
    c'est à dire faire la SOMME de toutes les lignes dans de la colonne nombre de jours dont la colonne soustraire est égale à OUI.
    -Une fois le total obtenu, il faut faire la diference(soustraction) entre le mois(30jours) et le total obtenu.




    Voici mon code.
    J'ai inséré ce code sous la table personnel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #Selection d'une ligne de table personnel
    
    POUR TOUTE LIGNE DE TABLE_CONGE
    	SI TABLE_CONGE.COL_Soustraire="OUI" ALORS
    	
    	COL_Nbr_jours[ligneTotal]=COL_Nbr_jours[ligneTotal]+1
    	
    	FIN
    FIN
    LIB_Libellé82=COL_Nbr_jours[ligneTotal]..Valeur-30


    J'ai vraiment besoin de votre aide.
    Merci à vous

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    décembre 2013
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : décembre 2013
    Messages : 1 414
    Points : 2 980
    Points
    2 980

    Par défaut

    Je vais être désagréable, mais tant pis.

    On a l'impression que tu mets un morceau de code au hasard.
    Dans ton code, tu ne te sers pas des données de la colonne Nombre-de-jours. Ni des colonnes date_début et date_fin. Donc c'est mal parti.

    Tu te sers d'une constante qui s'appelle ligneTotal. Bon pourquoi pas, mais recherche LigneTotal dans l'aide, et tu vas voir que ta configuration n'est pas adaptée.

    Et enfin, là ce n'est pas de la programmation mais de la comptabilité, je pense que si un individu est en congés du 21 au 22 août, ça fait 2 jours et pas 1. Et s'il est en vacances du 11 au 25 août, ça fait 2 semaines plus une journée, et a priori, ce qui t'intéresse, c'est le nombre de jours ouvrés, et donc, ça fait probablement 2 semaines de 5 jours, plus 1 jour, soit 11 jours.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    juin 2017
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : juin 2017
    Messages : 70
    Points : 117
    Points
    117

    Par défaut

    Comme le soulignait tbc92 ta question soulève 2 problèmes :
    -La manière de calculer le nombre total de jours à décompter (ta question initiale.)
    -Le mode de calcul de ces jours.

    Prenons les choses dans l'ordre.
    1-Récapitulation du total de jours à décompter
    Une requête devrait suffire nous l'appelerons REQ_DuréeCongés.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT 
      VACANCES.Décompter AS Décompter,  
      SUM(VACANCES.DuréeVacances) AS CongésADécompter
    FROM 
      VACANCES
    WHERE 
      wl.Majuscule(VACANCES.Décompter) "OUI"
    GROUP BY 
      VACANCES.Décompter
    Il te reste alors à soustraire REQ_DuréeCongés.CongésADécompter au "capital congé" initial de l'employé.

    Remarque
    Plutôt que d'utiliser une chaîne pour ta rubrique soustraire (la chaîne est sensible à la casse d'où l'utilisation de la fonction Majuscule)

    2-La mode de calcul des jours à décompter
    Si le calcul doit se faire automatiquement il y a plusieurs choses à prendre en compte (cf remarque de tbc92)
    2.1 DateFin
    Dans ton cas, DateFin correspond plutôt à la date de retour
    2.2 Nombre de jours
    Je ne sais pas comment fonctionne la législation en Côte d'Ivoire
    - tous les jours sont-il décomptés
    - seul les jours ouvrables sont-ils décomptés ...
    - vérification des chevauchements de vacances. Dans ton exemple, ton employé est en congé 2 fois pendant la même période, avec une partie à décompter (14j) une autre non, (5j) donc dans ce cas, seuls 9j devraient être décomptés. Si les 2 congés devaient être décomptés, on lui aurait décompté 5 jours de plus.

    Par exemple en France il y a quelques années (moins de 30 ans,) tous les jours étaient décomptés, sauf le premier et le dernier week end.
    Il y a peut être plus simple, mais ça tourne

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    mai 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : mai 2003
    Messages : 138
    Points : 225
    Points
    225

    Par défaut

    Bonjour,

    Il manque également la prise en compte des jours fériés au milieu de la semaine de vacance.

    Juste pour info, il est préférable d'utiliser UPPER à wl.Majuscule, c'est ainsi plus facile de porter la requête sur un autre SGBD.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  5. #5
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    juin 2017
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : juin 2017
    Messages : 70
    Points : 117
    Points
    117

    Par défaut

    Citation Envoyé par philouZ Voir le message
    Il manque également la prise en compte des jours fériés au milieu de la semaine de vacance.
    C'était pour moi sous-entendu dans : "seul les jours ouvrables sont-ils décomptés"

    Je vais reprendre mon exemple sur mon décompte de jours au début des années 1990 :
    "tous les jours étaient décomptés, sauf le premier et le dernier week end"
    ce qui signifiait que pour un congé pris entre le samedi 8 juillet et le dimanche 23 juillet inclus (total 16 jours) on décomptait 16j moins le WE de début et celui de fin (4j au total) soit 12j le 14 Juillet, (férié en France) n'était pas pas pris en compte.
    Il faut voir ensuite avec la législation en vigueur en Côte d'Ivoire.

    Citation Envoyé par philouZ Voir le message
    Juste pour info, il est préférable d'utiliser UPPER à wl.Majuscule, c'est ainsi plus facile de porter la requête sur un autre SGBD.
    En effet, j'étais en manque de caféïne lors de la rédaction de mon poste
    Il y a peut être plus simple, mais ça tourne

  6. #6
    Membre actif
    Homme Profil pro
    Inscrit en
    mai 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : mai 2003
    Messages : 138
    Points : 225
    Points
    225

    Par défaut

    Citation Envoyé par Voroltinquo Voir le message
    C'était pour moi sous-entendu dans : "seul les jours ouvrables sont-ils décomptés"
    J'avais pas non plus tout lu, faut peut-être que je me mette à la caféine...
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  7. #7
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    juin 2017
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : juin 2017
    Messages : 70
    Points : 117
    Points
    117

    Par défaut

    Il est vrai que parfois "ça va sans le dire mais a va mieux en le disant."
    Maintenant que la caféine a agit, je compléterais mes "..." par la gestion ou non des ponts.

    Dans un autre registre, le "capital congé" est de 30 dans le cas évoqué. Il faut aussi penser au report éventuel d'une année sur l'autre et dans ce cas éviter de le mettre "en dur".
    Que de problèmes soulevés pour une requête ......
    Il y a peut être plus simple, mais ça tourne

  8. #8
    Membre éprouvé Avatar de romulus001
    Homme Profil pro
    Développeur VB.NET et Windev (21) sur produits SAGE
    Inscrit en
    mai 2009
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur VB.NET et Windev (21) sur produits SAGE

    Informations forums :
    Inscription : mai 2009
    Messages : 1 012
    Points : 1 190
    Points
    1 190

    Par défaut

    Bonjour, avant de vous lancer dans le code en wlangage, avez-vous réalisé un algorithme?
    Chat alors!

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  9. #9
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    juin 2017
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : juin 2017
    Messages : 70
    Points : 117
    Points
    117

    Par défaut

    Quelques fonctions utiles pour gérer les week-end, et jours fériés :
    JourFériéAjoute
    JourFérié
    DateVersJours
    Paques().
    L'ascension est 40 jours après Pâques et la Pentecôte 10 jours après l'Ascension.
    Il y a peut être plus simple, mais ça tourne

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    décembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2012
    Messages : 2
    Points : 1
    Points
    1

    Par défaut

    Merci pour vos réponses, je prendrai tous ces details afin de resoudre ce problème.
    Qaund j'aurai fini, je vais vous faire un feedback.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Développeur informatique autodidacte
    Inscrit en
    septembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique autodidacte

    Informations forums :
    Inscription : septembre 2017
    Messages : 13
    Points : 17
    Points
    17

    Par défaut

    Citation Envoyé par x-kerensky Voir le message
    Comme je l'avais dis, j'aimerais que le calcul se fasse en fonction de l'état de la colonne soustraire.
    c'est à dire faire la SOMME de toutes les lignes dans de la colonne nombre de jours dont la colonne soustraire est égale à OUI.
    -Une fois le total obtenu, il faut faire la diference(soustraction) entre le mois(30jours) et le total obtenu.

    Merci à vous
    Bonjour,

    Dans le problème posé, vous partez avec un nombre de 30 jours.
    1. Vous n'avez pas prévu les reliquats de congé
    2. Vous attribuez un droit de congé identique de 30 jours, pour tout le personnel, sans tenir compte :
    - de la réglementation propre à votre pays
    - date de recrutement de l'agent (mois travaillés)
    - la notion de période de référence

    Par exemple, en Algérie, la réglementation prévoit à ce sujet :
    - un droit de congé de 2.5 jours par mois travaillé
    - la période de référence qui s'étend du 01/07/n-1 au 30/06/n
    - le congé avec une durée de 30 jours calendaires maximum par année de travail.

    Comme vous pouvez le constater, dans mon cas, la période de référence chevauche sur 2 exercices.
    Dans mon programme, j'ai prévu une rubrique qui peut contenir, selon le cycle, des valeurs 2015/2016,
    2016/2017 etc...

    Il se pourrait que dans la vôtre, cette période coïncide avec l'année civile.
    Dans ce cas, les valeurs seront par exemple 2015, 2016, 2017 etc...

    Dans votre programme, raisonnez par cycle : droits, sorties, reliquat.

    Le nombre de jours restant est :
    - soit égal au total des différents reliquats par cycle
    - ou bien égal au résultat de (Total des droits - Total des sorties) tous cycles confondus

    Pour conclure, le programme doit être en mesure de ressortir :
    1. l'historique des droits de congé
    2. l'historique des sorties en congé
    3. une synthèse par cycle soit :
    - droits de congé
    - sorties en congé
    - reliquat de congé

    Le voyage est long, revenez avec quelque chose qui puisse tenir la route.

Discussions similaires

  1. [T-SQL] Connaître le nombre de colonnes retourner par une PS
    Par NeoMan dans le forum MS SQL-Server
    Réponses: 3
    Dernier message: 28/12/2005, 11h30
  2. Nombre de colonnes avec le nom de la table
    Par benji41 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/07/2005, 20h17
  3. [débutant] nombre de colonne dan sun fichier csv
    Par mandagor dans le forum C++
    Réponses: 18
    Dernier message: 15/06/2005, 15h42
  4. [JTextArea]changer dynamiquement le nombre de colonnes
    Par MrDuChnok dans le forum Textuels
    Réponses: 9
    Dernier message: 27/04/2004, 13h31
  5. [RDB$PRIMARY] Nombre de colonnes
    Par Lucien dans le forum InterBase
    Réponses: 4
    Dernier message: 17/01/2004, 12h55

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