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
da = New OleDb.OleDbDataAdapter(querypersonnel, conn)
da.Fill(ds, "Personnel")
Option Strict On
Option Explicit On
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient
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 dts As New DataSet
Private dtt As DataTable
Private ListePersonnel As List(Of Personnel)
Private ds As DataSet = New DataSet
Private dtPersonnel As DataTable = New DataTable("Personnel")
Private Sub FrmProjets_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ComboPrenom.Items.Clear()
ComboNom.Items.Clear()
remplirComboNom()
remplirComboNomProjet()
remplirComboPrenom()
End Sub
'---Remplissage comboBoxCode avec les codes
Sub remplirComboNom()
Try
Dim cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\V_Techno_DB_be.mdb")
Dim cmd As New OleDbCommand("select DISTINCT Nom from Requête_SommeTotal_Jours ", cn)
cn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader
Do While dr.Read
ComboNom.Items.Add(dr.GetValue(0))
Loop
dr.Close()
cn.Close()
Catch ex As Exception
'MsgBox(ex.Message)
End Try
End Sub
Sub remplirComboPrenom()
Try
Dim cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\V_Techno_DB_be.mdb")
Dim cmd As New OleDbCommand("select DISTINCT Prenom from Requête_SommeTotal_Jours ", cn)
cn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader
Do While dr.Read
ComboPrenom.Items.Add(dr.GetValue(0))
Loop
dr.Close()
cn.Close()
Catch ex As Exception
'MsgBox(ex.Message)
End Try
End Sub
'Traitement en fonction de la colonne où se situe la cellule en cours d'édition
Sub remplirComboNomProjet()
Try
Dim cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\V_Techno_DB_be.mdb")
Dim cmd As New OleDbCommand("select DISTINCT Nom_Projet from Requête_SommeTotal_Jours ", cn)
cn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader
Do While dr.Read
ComboNomProjet.Items.Add(dr.GetValue(0))
Loop
dr.Close()
cn.Close()
Catch ex As Exception
'MsgBox(ex.Message)
End Try
End Sub
' Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'Try
'Dim cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\wayne\Documents\Visual Studio 2012\Projects\VERSCHUERE\VESCHUERE_TECHNO_Apps\VESCHUERE_TECHNO_Apps\bin\Debug\V_Techno_DB_be.mdb")
' Dim cmd As New OleDbCommand("select * from Requête_SommeTotal_Jours where Nom ='" & ComboNom.Text & "'and Nom_Projet ='" & ComboNomProjet.Text & "'and Prenom ='" & ComboPrenom.Text & "'", cn)
' cn.Open()
' Dim da As New OleDbDataAdapter(cmd)
' Dim ds As New DataSet
' da.Fill(ds, "Requête_SommeTotal_Jours")
' da.Update(ds, "Requête_SommeTotal_Jours")
' DataGridView1.DataSource = ds
' DataGridView1.DataMember = "Requête_SommeTotal_Jours"
' cn.Close()
'Catch ex As Exception
'End Try
' End Sub
'Sub blabla()
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 = 10
.Columns(0).Name = "Personnel"
.Columns(1).Name = "Code"
.Columns(2).Name = "Nom_Projet"
.Columns(3).Name = "Heures_Depart"
.Columns(4).Name = "Heures_FIN"
.Columns(5).Name = "Date_de_demarrage_Projet"
.Columns(6).Name = "Date_de_Fin_Projet"
.Columns(7).Name = "Total_jours"
.Columns(8).Name = "Total_Heures"
.Columns(9).Name = "Designation_Tache"
.Columns(5).Width = 100
.Columns(6).Width = 100
.Columns(4).Width = 140
.Columns(7).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 {
.Employers = row.Field(Of String)("Nom") & New String(" "c, 1) & row.Field(Of String)("Prenom"),
.Code = row.Field(Of String)("Code"),
.Nom_Projet = row.Field(Of String)("Nom_Projet"),
.Date_de_demarrage_Projet = row.Field(Of Date)("Date_de_demarrage_Projet"),
.Heures_Depart = row.Field(Of Date)("Heures_Depart"),
.Date_de_Fin_Projet = row.Field(Of Date)("Date_de_Fin_Projet"),
.Designation_Tache = row.Field(Of String)("Designation_Tache"),
.Heures_FIN = row.Field(Of Date)("Heures_FIN"),
.Total_jours = row.Field(Of Integer)("Total_jours"),
.Total_Heures = returnTotalHeures(row.Field(Of Date)("Date_de_demarrage_Projet") & New String(" "c, 1) & _
row.Field(Of Date)("Heures_Depart"), _
row.Field(Of Date)("Date_de_Fin_Projet") & New String(" "c, 1) & _
row.Field(Of Date)("Heures_FIN"))
}).ToList
For Each item In ListePersonnel
With Me.DataGridView1.Rows
.Add(item.Employers, _
item.Code, _
item.Nom_Projet, _
item.Date_de_demarrage_Projet.ToString("yyyy/MM/dd") & New String(" "c, 1) & item.Heures_Depart.ToString("HH:mm"), _
item.Date_de_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
Private Sub BtnSupprimer_Click(sender As Object, e As EventArgs) Handles BtnSupprimer.Click
Try
Dim cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\V_Techno_DB_be.mdb")
Dim cmd As New OleDbCommand("select * from Requête_SommeTotal_Jours where Nom='" & ComboNom.Text & "'", cn)
cn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader
dr.Read()
dr.Close()
Dim da As New OleDbDataAdapter(cmd)
Dim ds As New DataSet
da.Fill(ds, "V_Techno_DB_be")
ds.Tables("V_Techno_DB_be").Rows(0).Delete()
Dim cb As New OleDbCommandBuilder(da)
da.Update(ds, "V_Techno_DB_be")
cn.Close()
MsgBox("Données supprimées !")
ComboPrenom.Items.Clear()
ComboNom.Items.Clear()
remplirComboNom()
remplirComboNomProjet()
remplirComboPrenom()
Catch ex As Exception
'MsgBox(ex.Message)
End Try
End Sub
Private Sub BtnActualisation_Click(sender As Object, e As EventArgs) Handles BtnActualisation.Click
ComboPrenom.Items.Clear()
ComboNom.Items.Clear()
remplirComboNom()
remplirComboNomProjet()
remplirComboPrenom()
End Sub
Private Sub BtnFermer_Click(sender As Object, e As EventArgs) Handles BtnFermer.Click
Me.Hide()
End Sub
End Class
'Code pour la 1ere Grid
Public Class Personnel
Public Property Employers As String
Public Property Code As String
Public Property Nom_Projet As String
Public Property Heures_Depart As Date
Public Property Heures_FIN As Date
Public Property Date_de_demarrage_Projet As Date
Public Property Date_de_Fin_Projet As Date
Public Property Total_jours As Integer
Public Property Designation_Tache As String
Public Property Total_Heures As String
End Class