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

VB.NET Discussion :

Gestion des congés


Sujet :

VB.NET

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 275
    Points : 70
    Points
    70
    Par défaut Gestion des congés
    Bonsoir,
    J'ai
    -une table access contenant 3 colonnes id, Année et nb
    - un form contenant un bouton qui permet d'afficher dans le label le nombre des jours de congé restants sachant que chaque personne(id) a le droit d'avoir 30 jours de congé par ans et que les jours restants pour chauque année seront ajoutés à l'année prochaine(30+nombre de jours restants)
    par exemple si un ouvrier a eu seulement 17 jours de congé en 2013 alors en 2014 il aura 43-Somme(nb) jours
    si non 30-Somme(nb) (cette condition marche correctement)
    SUM(nb) : fait la somme des congés obtenus dans cet année
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    cn.Open()
            Dim ol As New OleDb.OleDbDataAdapter("select SUM(nb) from tab1 where id= '" & TextBox1.Text & "' and Année='" & TextBox2.Text & "' ", cn)
            Dim ds As New DataSet
            ol.Fill(ds)
            Dim re As Object() = ds.Tables(0).Rows(0).ItemArray
            Dim n As Double = 30 - re(0).ToString()
            Label1.Text = n
            cn.Close()
    merci d'avance

  2. #2
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Je ne suis p-e pas bien réveillé mais je discerne mal quelle est la question ou le problème pour lequel tu cherches notre aide.
    Kropernic

  3. #3
    Membre confirmé Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Points : 580
    Points
    580
    Par défaut
    Ca me pique les yeux de voir çà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim n As Double = 30 - re(0).ToString()
    Même si dans ce cas, on est sur qu'il s'agisse bien d'un numérique.

    Sinon j'ai pas vu non plus de point d’interrogation dans son post.
    " Je préfère comprendre les gens qui ne me comprennent pas "

  4. #4
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Egalement je vois pas l'utilité de charger un DataSet avec un oleDbAdapter, de stocker la 1ére ligne du DataSet en array d'Object, de faire un calcul en se basant sur la 1ére ligne d'Array, alors qu'au final tu fais une requête pour un résultat unique car tu poses une contrainte sur l'ID ...
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  5. #5
    Membre confirmé Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Points : 580
    Points
    580
    Par défaut
    Ah oui j'avais même pas fait attention à çà, c'est quoi l’intérêt d'avoir une contrainte sur l'ID ET sur une date ??
    L'ID semble avoir un sens fonctionnel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select SUM(nb) from tab1 where id= '" & TextBox1.Text & "' and Année='" & TextBox2.Text & "' "
    Et je viens de voir autre chose, le nom de la colonne "Année" ==> "é" !!!
    " Je préfère comprendre les gens qui ne me comprennent pas "

  6. #6
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 275
    Points : 70
    Points
    70
    Par défaut
    Bonjour
    J'essaye d'expliquer un peu plus
    j'ai une tableau en acces contenant ceci
    ------------------
    id |Année |nb |
    1 |2012 |4 |
    2 |2013 |10 |
    2 |2013 |7 |
    1 |2014 |15 |
    2 |2014 |8 |
    Le code ci sessus marche correctement: par exemple, En tapant 2 dans le textBox1 et 2013 dans le textBox2 (Cet ouvrier a eu un congé de 10 jours puis un congé de 7 jours) et en appuiant sur le bouton on aura 13 jours restants(c'est à dire 30-(10+7) Mais j'ai besoin maintenant qu'à la fin de chaque année les jours restants seront ajoutés à l'année prochaine par exemple dans le cas de l'ouvrier n2 en 2014 il doit avoir 43 jours de congés (c'est à dire 30+13) et en appuiant sur le bouton il doit afficher 35 jours restants (c'est à dire 43-8)

  7. #7
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Citation Envoyé par Marie_7 Voir le message
    Bonjour
    J'essaye d'expliquer un peu plus
    j'ai une tableau en acces contenant ceci
    ------------------
    id |Année |nb |
    1 |2012 |4 |
    2 |2013 |10 |
    2 |2013 |7 |
    1 |2014 |15 |
    2 |2014 |8 |
    Le code ci sessus marche correctement: par exemple, En tapant 2 dans le textBox1 et 2013 dans le textBox2 (Cet ouvrier a eu un congé de 10 jours puis un congé de 7 jours) et en appuiant sur le bouton on aura 13 jours restants(c'est à dire 30-(10+7) Mais j'ai besoin maintenant qu'à la fin de chaque année les jours restants seront ajoutés à l'année prochaine par exemple dans le cas de l'ouvrier n2 en 2014 il doit avoir 43 jours de congés (c'est à dire 30+13) et en appuiant sur le bouton il doit afficher 35 jours restants (c'est à dire 43-8)
    Pour ma part, ce calcul doit se faire directement au moment de la requête SQL.
    Kropernic

  8. #8
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 275
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par Kropernic Voir le message
    Pour ma part, ce calcul doit se faire directement au moment de la requête SQL.
    oui mais je n'ai pas arrivé à faire le test de l'année

  9. #9
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Citation Envoyé par Marie_7 Voir le message
    oui mais je n'ai pas arrivé à faire le test de l'année
    Je ferais quelque chose comme ceci :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT
            SUM(NB) + ISNULL((SELECT 30-SUM(NB) FROM TAB1 WHERE ID = @ID AND ANNEE = @ANNEE-1),0)
    FROM
            TAB1
    WHERE
            ID = @ID
        AND ANNEE = @ANNEE
    N.B. : Il s'agit de code en t-sql (pour sql server) donc il faudra p-e faire quelques adaptations pour cela fonctionne en Access.

    Je n'ai pas testé (car j'ai écrit la requête directement dans la réponse à la discussion) mais ça te donne l'idée.

    Il y a des manières plus "jolies" d'écrire la requête mais j'ignore les possibilités offertes par access alors j'ai fait dans le bête et méchant (c'est-à-dire la sous-requête dans le select)
    Kropernic

  10. #10
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    As-tu étudié comment faire conceptuellement avant de te lancer dans la programmation ?
    Il pourrait y avoir une colonne reliquat, qui serait mise à jour début janvier (le 1er janvier en traitement automatique), cela te simplifierait la suite. Non ?
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  11. #11
    Membre confirmé Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Points : 580
    Points
    580
    Par défaut
    Sans parler de la clé primaire qui ne doit pas exister sur la table présenté, ou alors mieux vaut éviter de poser deux fois le même nombre de jour de congé la même année!
    " Je préfère comprendre les gens qui ne me comprennent pas "

Discussions similaires

  1. gestion des congés par codes VB ?
    Par rh.finances dans le forum Excel
    Réponses: 6
    Dernier message: 14/08/2009, 16h29
  2. excel et gestion des congés payés
    Par kinna dans le forum Excel
    Réponses: 10
    Dernier message: 30/10/2008, 20h57
  3. Modélisation d'une gestion des congés en UML
    Par slumdunk dans le forum Débuter
    Réponses: 3
    Dernier message: 13/05/2008, 21h23
  4. Gestion des congés sous access
    Par squalito dans le forum Access
    Réponses: 1
    Dernier message: 09/08/2006, 23h34
  5. Thème: gestion des congés
    Par rosah dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 31/08/2005, 13h10

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