SQL

wayne2017
Messages postés
57
Date d'inscription
jeudi 23 février 2017
Statut
Membre
Dernière intervention
10 mai 2017
- Modifié le 29 mars 2017 à 14:30
cs_JMO
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
- 30 mars 2017 à 19:26
Bonjour, a tous

Je voudrais calculer en heure et minute la somme total d'heures de chacun des employe de ma base de donnee j'ai utlise cette requette mais cette requete marche pas du tout.
je vous pries de me donner des idees , merci bien

SELECT COUNT temps_travail.table_employe WHERE temp_travail>debut_projet AND temp_travail<fin_projet

4 réponses

cs_JMO
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
30 mars 2017 à 09:14
Bonjour wayne2017

Dans ta requête, je ne vois pas de "FROM [nom_table]".

Peux-tu nous préciser :
- le nom de ta table;
- les champs et type de données.


jean-marc
0
wayne2017
Messages postés
57
Date d'inscription
jeudi 23 février 2017
Statut
Membre
Dernière intervention
10 mai 2017

Modifié le 30 mars 2017 à 09:31
Bonjour a tous
Bonjour cs_JMO

Ma table se nomme :RequêteGENERALE

elle est constituee de sept(8) champs et tous les champs sont de type court, a part les champs Heures_Debut, et Heures_Fin, Date _de_demarrage_Projet et Date_de_Fin_Projet qui sont de type [DATE/HEURE]

en gros voici :
Code, Nom,Prenom,Heures_Debut, Heures_Fin, Date _de_demarrage_Projet et Date_de_Fin_Projet,Ref_projet

NB: Ma table est une requette
0
cs_JMO
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
30 mars 2017 à 14:07
wayne2017, re-bonjour,

Pour info, tu aurais dû ouvrir cette discussion dans le forum VB.Net

Exemple sur le même principe de ta précédente discussion (Accès BDD).
Public Class Personnel
    Public Property Employe As String
    Public Property Code As String
    Public Property Ref_Projet As String
    Public Property Date_demarrage_Projet As Date
    Public Property Heures_debut As Date
    Public Property Date_fin_Projet As Date
    Public Property Heures_fin As Date
    Public Property Total_Heures As String
End Class
Option Strict On
Option Explicit On
Imports System.Data.OleDb

Public Class FrmROUGRAPH
    Private pathbase As String = Application.StartupPath & "\V_Techno_DB_be.mdb"
    Private connStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & pathbase

    Private ListePersonnel As List(Of Personnel)

    Private da As OleDb.OleDbDataAdapter
    Private ds As DataSet = New DataSet
    Private dtPersonnel As DataTable = New DataTable("Personnel")


    Private Sub FrmROUGRAPH_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Initialize()
    End Sub


    Sub Initialize()
        Using conn As New OleDbConnection(connStr)
            conn.Open()
            Dim querypersonnel As String = " Select * From [requêteGENERALE] " & _
                                            "         Where [Date_demarrage_Projet] Is Not Null And " & _
                                            "               [Date_fin_Projet] Is Not Null "

            da = New OleDb.OleDbDataAdapter(querypersonnel, conn)
            da.Fill(ds, "Personnel")
        End Using

        dtPersonnel = ds.Tables("Personnel")

        ' Initialisation DataGridView1
        With Me.DataGridView1
            .ColumnCount = 6
            .Columns(0).Name = "Personnel"
            .Columns(1).Name = "Code"
            .Columns(2).Name = "Projet"
            .Columns(3).Name = "Début Projet"
            .Columns(4).Name = "Fin Projet"
            .Columns(5).Name = "Total Heures"
            .Columns(0).Width = 140
            .Columns(3).Width = 100
            .Columns(4).Width = 100
            .Columns(5).Width = 100
        End With

        ListePersonnel = (
            From row In dtPersonnel.AsEnumerable()
            Order By row.Field(Of String)("Nom"), row.Field(Of String)("Prenom"), row.Field(Of String)("Code") Ascending
            Select New Personnel With {
                .Employe = row.Field(Of String)("Nom") & New String(" "c, 1) & row.Field(Of String)("Prenom"),
                .Code = row.Field(Of String)("Code"),
                .Ref_Projet = row.Field(Of String)("Ref_Projet"),
                .Date_demarrage_Projet = row.Field(Of Date)("Date_demarrage_Projet"),
                .Heures_debut = row.Field(Of Date)("Heures_debut"),
                .Date_fin_Projet = row.Field(Of Date)("Date_fin_Projet"),
                .Heures_fin = row.Field(Of Date)("Heures_fin"),
                .Total_Heures = returnTotalHeures(row.Field(Of Date)("Date_demarrage_Projet") & New String(" "c, 1) & _
                                                  row.Field(Of Date)("Heures_debut"), _
                                                  row.Field(Of Date)("Date_fin_Projet") & New String(" "c, 1) & _
                                                  row.Field(Of Date)("Heures_fin"))
            }).ToList

        For Each item In ListePersonnel
            With Me.DataGridView1.Rows
                .Add(item.Employe, _
                     item.Code, _
                     item.Ref_Projet, _
                     item.Date_demarrage_Projet.ToString("yyyy/MM/dd") & New String(" "c, 1) & item.Heures_debut.ToString("HH:mm"), _
                     item.Date_fin_Projet.ToString("yyyy/MM/dd") & New String(" "c, 1) & item.Heures_fin.ToString("HH:mm"), _
                     item.Total_Heures)
            End With
        Next
    End Sub

    Function returnTotalHeures(ByVal debut As String, ByVal fin As String) As String
        Dim days As Long = DateDiff(DateInterval.Minute, CDate(debut), CDate(fin))
        Dim iSpan As TimeSpan = TimeSpan.FromMinutes(days)
        Dim iHour As String = CStr(((iSpan.Days * 24) + iSpan.Hours)).PadLeft(2, "0"c) & " h " & _
            iSpan.Minutes.ToString.PadLeft(2, "0"c)
        Return iHour
    End Function
End Class



jean-marc
0
wayne2017
Messages postés
57
Date d'inscription
jeudi 23 février 2017
Statut
Membre
Dernière intervention
10 mai 2017

30 mars 2017 à 14:49
D'accord c'est compris merci , je déplace maintenant cette suite
après quoi je complète le programme et je te dis quoi tantôt
merci beaucoup
0
wayne2017
Messages postés
57
Date d'inscription
jeudi 23 février 2017
Statut
Membre
Dernière intervention
10 mai 2017

30 mars 2017 à 14:56
merci d'avoir deplace a l'avance
0
cs_JMO
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26 > wayne2017
Messages postés
57
Date d'inscription
jeudi 23 février 2017
Statut
Membre
Dernière intervention
10 mai 2017

30 mars 2017 à 14:59
c'est pas moi !!! Je ne suis qu'un lambda bénévole.
Donc merci au modérateur qui a déplacé cette discussion dans le bon forum.
0
wayne2017
Messages postés
57
Date d'inscription
jeudi 23 février 2017
Statut
Membre
Dernière intervention
10 mai 2017
> cs_JMO
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018

30 mars 2017 à 15:54
Stp cs_JMO

a ce niveau :


da = New OleDb.OleDbDataAdapter(querypersonnel, conn)
da.Fill(ds, "Personnel")


il me souligne " da " et lorsque le systeme me propose si j'accepte qu'il genere un stub de propriete et apres que j'appuie sur "demarrer" il me renvoit ceci coe sms :

Aucune valeur donnée pour un ou plusieurs des paramètres requis


a quoi est du ceci ?
0
cs_JMO
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26 > wayne2017
Messages postés
57
Date d'inscription
jeudi 23 février 2017
Statut
Membre
Dernière intervention
10 mai 2017

30 mars 2017 à 15:57
voir ligne 11 : Private da As OleDb.OleDbDataAdapter
Effectivement, dans mon script de test, j'ai renommé certaines variables.
0
cs_JMO
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
30 mars 2017 à 16:01
Fait une pause !!!
Je vais reprendre ton script pour l'optimiser.

jean-marc
0