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

Windows Forms Discussion :

Calcul d'heure du travail


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 30
    Points : 27
    Points
    27
    Par défaut Calcul d'heure du travail
    bonjours!!
    Je travaille sur un logiciel de pointage, je veux créer un form qui à comme comme rôle de calculer les heures travaillé par un employé donné, sachant que je travail en mode connecté pas avec dataset!!
    voila deux images qui explique un peut comment je vais construire la page et les deux tables de la base de donné que j'utilise pour faire cette fonction!!

    Et merci!!
    Images attachées Images attachées   

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    et la question ?

    si c'est la requete que tu ne sais pas écrire, suffit de chercher comment fonctionne le langage SQL et l'utilisation des dbparameters en vb
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 30
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    et la question ?

    si c'est la requete que tu ne sais pas écrire, suffit de chercher comment fonctionne le langage SQL et l'utilisation des dbparameters en vb
    Merci pour la réponse!!
    J'ai trouver comment faire le calcul du temps du travail, j'ai écrit ce code, il fonctionne très bien:
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    Dim str As String = "Data Source=HP-PC;Initial Catalog=base;Integrated Security=True"
            Dim debut As Date
            Dim fin As Date
            Dim nbHeure As Double
            Dim nbMin As Double
            connec = New SqlConnection(str)
            connec.Open()
            cmd.Connection = connec
            ' cmd = New SqlComma nd("select Nom_groupe from Groupe", connec)
            cmd = New SqlCommand("select Pointage.Id_emp,emp.nom_emp,emp.prenom_emp,heure_debut,heure_fin from emp,pointage where emp.id_emp=Pointage.id_emp and pointage.date_debut='" & DateEdit1.DateTime.Date & "' and pointage.date_fin='" & DateEdit1.DateTime.Date & "'", connec)
            lecteur = cmd.ExecuteReader
     
            Try
                While lecteur.Read()
                    debut = lecteur(3)
                    fin = lecteur(4)
                    nbHeure = DateDiff(DateInterval.Hour, debut, fin)
                    nbMin = (DateDiff(DateInterval.Minute, debut, fin) Mod 60)
                    ' DataGridView1.Rows.Add((lecteur(0)), (lecteur(1)), (lecteur(2)), nbHeure & "H" & ":" & nbMin & "min")
                    Dim item As New ListViewItem(lecteur(0).ToString, 1)
                    item.SubItems.Add(lecteur(1))
                    item.SubItems.Add(lecteur(2))
                    item.SubItems.Add(nbHeure & "H" & ":" & nbMin & "min")
                    ListView1.Items.AddRange(New ListViewItem() {item})
     
                End While
     
            Catch ex As Exception
     
            End Try
            lecteur.Close()
    par jour mai j'ai un petit problème, lorsque un employé a 2 séances le programme m'affiche deux résultats, la résultat pour la première séance et une pour la deuxième séance et moi je veux qu'il m'affiche la somme de tous les heure travaillé par une journée c à d il fait la somme des heures de ces 2 séances!!!
    voila l'image de l'exécution je ne veux pas qu'il m'affiche l'employé N 1 deux fois il faut faire la somme et l'affiche une seule fois!! est ce que c'est possible???
    Et merci d'avance
    Images attachées Images attachées  

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    select sum() ... from ... group by
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 30
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    select sum() ... from ... group by
    merci encore pour la réponse!!
    Je ne peut pas pas faire sommation dans la requête parce j'ai pas fait la sommation des heures travaillé dans la requête je l'ai fait dans le boucle while donc ça n'a pas marché!! est ce qu'il y a une autre solution??

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Bonjour Yamyoung


    Je trouve ton sujet très intéressant , car je boss sur un sujet idem et je suis bloque a ce niveau de calcul d'heure de travail pour chacun des
    employés.

    Pourrais - tu stp me passer ton programme afin que j'arrive a réaliser le mien car je suis débutant et je n'ai pas assez d’idées .Merci bcp



    [EDIT] merci de m'avoir répondu

    est - ce possible que tu mette tout le code du programme , afin que je travail en fonction du mien? merci bcp

  7. #7
    Membre confirmé
    Avatar de nouanda
    Homme Profil pro
    Hobbyist
    Inscrit en
    Mai 2002
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Activité : Hobbyist

    Informations forums :
    Inscription : Mai 2002
    Messages : 246
    Points : 627
    Points
    627
    Par défaut
    Au niveau des idées, peux-tu changer le schéma de ta table Pointage?
    Pourquoi ne pas utiliser le type Datetime pour stocker les heures/jours de début et de fin?
    Tu pourrais utiliser directement la fonction Datediff(), que tu peux mettre dans une somme (un exemple sur stackoverflow).
    " Entre le Savoir et le Pouvoir, il y a le Vouloir "

    Desole pour les accents, je suis en QWERTY...

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Re-Bonjour

    Pourrais m'explique plus brièvement stp car j'arrive pas a comprendre comment utiliser le code. merci bien

    Car j'ai une base de donnée dans laquelle les heures des employes sont comprise

  9. #9
    Membre confirmé
    Avatar de nouanda
    Homme Profil pro
    Hobbyist
    Inscrit en
    Mai 2002
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Activité : Hobbyist

    Informations forums :
    Inscription : Mai 2002
    Messages : 246
    Points : 627
    Points
    627
    Par défaut
    Je viens de me rendre compte que la réponse détaillée que j'avais fait hier n'est pas partie, et que j'ai fermé Chrome entre-temps...

    Version courte: tu changele schéma de ta table pour avoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Colonne | Type
    --------|----------------
    id_emp  | le type actuel (int je suppose)
    debut   | datetime
    fin     | datetime
    Tu peux faire une requete SQL du genre: "SELECT SUM(DATEDIFF(minutes, debut, fin) etc GROUPBY id_emp" et le tour est joué
    " Entre le Savoir et le Pouvoir, il y a le Vouloir "

    Desole pour les accents, je suis en QWERTY...

Discussions similaires

  1. SQL calcul d'heures de travail + jours feries + congés
    Par cedricmail dans le forum Développement
    Réponses: 2
    Dernier message: 25/10/2011, 19h22
  2. [A-03] Création d'un formulaire pour calcul d'heure de travail
    Par Silverscott dans le forum Modélisation
    Réponses: 11
    Dernier message: 30/11/2008, 16h23
  3. Calcul d'heures travaillées
    Par tiftay01 dans le forum Excel
    Réponses: 19
    Dernier message: 31/03/2007, 19h12
  4. cumul des heures de travail
    Par laklak dans le forum Bases de données
    Réponses: 20
    Dernier message: 08/05/2006, 13h52
  5. [VB]Problème d'heure de travail
    Par AlfiQue dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 18/02/2006, 18h57

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