"select * from Requête SommeTotalHeures"
"Select * From [Requête SommeTotalHeures]"
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 dts As New DataSet Private dtt As DataTable Private Sub FrmROUGRAPH_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Using conn As New OleDbConnection(connStr) Dim query As String = "Select * From [Requête SommeTotalHeures]" Dim cmd As OleDbCommand = New OleDbCommand(query) Dim dta As OleDbDataAdapter = New OleDbDataAdapter(cmd) conn.Open() cmd.Connection() = conn dta.Fill(dts, "TableHeures") dtt = dts.Tables("TableHeures") conn.Close() End Using MessageBox.Show(CStr(dtt.Columns.Count), "columns") MessageBox.Show(CStr(dtt.Rows.Count), "rows") End Sub End Class
Public Class Personnel Public Property Employe As String Public Property Code As String Public Property Ref_Projet As String Public Property SommeHeure_Journalier As String Public Property Date_demarrage_Projet As Date Public Property Total_jours As String End Class
Option Strict On Option Explicit On Imports System.Data.OleDb Public Class FrmROUGRAPH Private pathbase As String = Application.StartupPath & "\Database11.accdb" 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 Sub FrmROUGRAPH_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Using conn As New OleDbConnection(connStr) Dim query As String = "Select * From [table requête]" Dim cmd As OleDbCommand = New OleDbCommand(query) Dim dta As OleDbDataAdapter = New OleDbDataAdapter(cmd) conn.Open() cmd.Connection() = conn dta.Fill(dts, "Table") dtt = dts.Tables("Table") conn.Close() End Using ListePersonnel = ( From row In dtt.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"), .SommeHeure_Journalier = row.Field(Of String)("SommeHeure_Journalier"), .Date_demarrage_Projet = row.Field(Of Date)("Date_demarrage_Projet"), .Total_jours = row.Field(Of String)("Total_jours") }).ToList ' Dim NameEmploye = (From y In ListePersonnel.GroupBy(Function(x) x.Employe)).ToList For Each value In NameEmploye.Where(Function(x) x.Key <> Nothing) 'MessageBox.Show(value.Key.ToString, "Nom-Prénom du Personnel") Next ' Initialisation DataGridView1 With Me.DataGridView1 .ColumnCount = 6 .Columns(0).Name = "Personnel" .Columns(1).Name = "Code" .Columns(2).Name = "Projet" .Columns(3).Name = "Total Heures" .Columns(4).Name = "Date démarrage Projet" .Columns(5).Name = "Total jours" .Columns(0).Width = 140 .Columns(4).Width = 140 End With ' Exemple : sélection d'une personne Dim exempleEmploye As String = NameEmploye.Item(0).Key For Each item In ListePersonnel.Where(Function(x) x.Employe = exempleEmploye) With Me.DataGridView1.Rows .Add(item.Employe, item.Code, item.Ref_Projet, item.SommeHeure_Journalier, _ item.Date_demarrage_Projet.ToString("dd/MM/yyyy"), item.Total_jours) End With Next End Sub End Class
.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"),
.SommeHeure_Journalier = row.Field(Of String)("SommeHeure_Journalier"),
.Date_demarrage_Projet = row.Field(Of Date)("Date_demarrage_Projet"),
.Total_jours = row.Field(Of String)("Total_jours")
}).ToList
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"),
.SommeHeure_Journalier = row.Field(Of String)("SommeHeure_Journalier"),
.Date_demarrage_Projet = row.Field(Of Date)("Date_demarrage_Projet"),
.Total_jours = row.Field(Of String)("Total_jours")
}).ToList
Dim query As String = "Select * From [table requête] Where [Date_demarrage_Projet] Is Not Null"
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 Sub FrmROUGRAPH_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Using conn As New OleDbConnection(connStr)
Dim query As String = "Select * From [Requête SommeTotal_Jours] Where [Date_de_demarrage_Projet] Is Not Null"
Dim cmd As OleDbCommand = New OleDbCommand(query)
Dim dta As OleDbDataAdapter = New OleDbDataAdapter(cmd)
conn.Open()
cmd.Connection() = conn
dta.Fill(dts, "Requête SommeTotal_Jours")
dtt = dts.Tables("Requête SommeTotal_Jours")
conn.Close()
End Using
ListePersonnel = (
From row In dtt.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"),
.Ref_Projet = row.Field(Of String)("Ref_Projet"),
.Heures_Depart = row.Field(Of String)("Heures_Depart"),
.Heures_FIN = row.Field(Of String)("Heures_FIN"),
.Designation_Tache = row.Field(Of String)("Designation_Tache"),
.Date_de_demarrage_Projet = row.Field(Of Date)("Date_de_demarrage_Projet"),
.Date_de_Fin_Projet = row.Field(Of Date)("Date_de_Fin_Projet"),
.Total_jours = row.Field(Of Integer)("Total_jours")
}).ToList
'
Dim NameEmploye = (From y In ListePersonnel.GroupBy(Function(x) x.Employers)).ToList
For Each value In NameEmploye.Where(Function(x) x.Key <> Nothing)
MessageBox.Show(value.Key.ToString, "Nom-Prénom du Personnel")
Next
' Initialisation DataGridView1
With Me.DataGridView1
.ColumnCount = 9
.Columns(0).Name = "Personnel"
.Columns(1).Name = "Code"
.Columns(2).Name = "Ref_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 = "Designation_Tache"
.Columns(0).Width = 140
.Columns(8).Width = 140
End With
' Exemple : sélection d'une personne
Dim exempleEmploye As String = NameEmploye.Item(0).Key
For Each item In ListePersonnel.Where(Function(x) x.Employers = exempleEmploye)
With Me.DataGridView1.Rows
.Add(item.Employers, item.Code, item.Ref_Projet, item.Heures_Depart, item.Heures_FIN, item.Date_de_Fin_Projet.ToString("dd/MM/yyyy"), _
item.Date_de_demarrage_Projet.ToString("dd/MM/yyyy"), item.Total_jours, item.Designation_Tache)
End With
Next
End Sub
Private Sub FrmProjets_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CboCode.Items.Clear()
remplirCoboCode()
End Sub
'---Remplissage comboBoxCode avec les codes
Sub remplirCoboCode()
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 Code from Employers ", cn)
cn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader
Do While dr.Read
CboCode.Items.Add(dr.GetValue(0))
Loop
dr.Close()
cn.Close()
Catch ex As Exception
'MsgBox(ex.Message)
End Try
End Sub
Public Class Personnel
Public Property Employers As String
Public Property Code As String
Public Property Ref_Projet As String
Public Property Heures_Depart As String
Public Property Heures_FIN As String
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
End Class
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPublic Class Personnel Public Property Employe As String Public Property Code As String Public Property Ref_Projet As String Public Property SommeHeure_Journalier As String Public Property Date_demarrage_Projet As Date Public Property Total_jours As Integer End Class Public Class Employers Public Property Code 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 CodeEmployers As List(Of Employers) Private da As OleDb.OleDbDataAdapter Private ds As DataSet = New DataSet Private dtPersonnel As DataTable = New DataTable("Personnel") Private dtEmployers As DataTable = New DataTable("Employers") Private Sub FrmROUGRAPH_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Initialize() End Sub Sub Initialize() ' OUverture de la base Access et extraction des deux tables Using conn As New OleDbConnection(connStr) conn.Open() Dim querypersonnel As String = " Select * From [table requête] Where [Date_demarrage_Projet] Is Not Null " da = New OleDb.OleDbDataAdapter(querypersonnel, conn) da.Fill(ds, "Personnel") Dim queryemployers As String = " Select Distinct Code From [Employers] " da = New OleDb.OleDbDataAdapter(queryemployers, conn) da.Fill(ds, "Employers") conn.Close() End Using ' Extraction data de la base Access terminée ... Fermeture de la base dtPersonnel = ds.Tables("Personnel") dtEmployers = ds.Tables("Employers") ' Initialisation DataGridView1 With Me.DataGridView1 .ColumnCount = 6 .Columns(0).Name = "Personnel" .Columns(1).Name = "Code" .Columns(2).Name = "Projet" .Columns(3).Name = "Total Heures" .Columns(4).Name = "Date démarrage Projet" .Columns(5).Name = "Total jours" .Columns(0).Width = 140 .Columns(4).Width = 140 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"), .SommeHeure_Journalier = row.Field(Of String)("SommeHeure_Journalier"), .Date_demarrage_Projet = row.Field(Of Date)("Date_demarrage_Projet"), .Total_jours = row.Field(Of Integer)("Total_jours") }).ToList For Each item In ListePersonnel With Me.DataGridView1.Rows .Add(item.Employe, item.Code, item.Ref_Projet, item.SommeHeure_Journalier, _ item.Date_demarrage_Projet.ToString("dd/MM/yyyy"), item.Total_jours) End With Next CodeEmployers = ( From row In dtEmployers.AsEnumerable() Order By row.Field(Of String)("Code") Ascending Select New Employers With { .Code = row.Field(Of String)("Code") }).ToList Me.ComboBoxCode.Items.Add("Code") For Each item In CodeEmployers Me.ComboBoxCode.Items.Add(item.Code) Next Me.ComboBoxCode.SelectedIndex = 0 End Sub End Class
ublic Class Personnel
Public Property Employe As String
Public Property Code As String
Public Property Ref_Projet As String
Public Property Date_de_demarrage_Projet As Date
Public Property Heures_Depart As String
Public Property Date_de_Fin_Projet As Date
Public Property Heures_FIN As String
Public Property Total_Heures As String
End Class
ption 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
Me.Text = "Mon application en cours de développement"
ExtractDataBase()
Initialize()
End Sub
Sub ExtractDataBase()
Using conn As New OleDbConnection(connStr)
conn.Open()
Dim query As String
query = " Select Nom, Prenom, Code, Ref_Projet, Date_de_demarrage_Projet, " & _
" Heures_Depart, Date_de_Fin_Projet, Heures_FIN" & _
" From Employers " & _
" Where Date_de_demarrage_Projet Is Not Null And " & _
" Date_de_Fin_Projet Is Not Null "
da = New OleDb.OleDbDataAdapter(query, conn)
da.Fill(ds, "Personnel")
End Using
dtPersonnel = ds.Tables("Personnel")
End Sub
Sub Initialize()
ListePersonnel = (
From row In dtPersonnel.AsEnumerable()
Order By row.Field(Of String)("Nom"), row.Field(Of String)("Prenom"), row.Field(Of String)("Ref_Projet") Ascending
Select New Personnel With {
.Employe = row.Field(Of String)("Nom").ToUpper & New String(" "c, 1) & row.Field(Of String)("Prenom"),
.Code = row.Field(Of String)("Code"),
.Ref_Projet = row.Field(Of String)("Ref_Projet"),
.Date_de_demarrage_Projet = row.Field(Of Date)("Date_de_demarrage_Projet"),
.Heures_Depart = row.Field(Of String)("Heures_Depart"),
.Date_de_Fin_Projet = row.Field(Of Date)("Date_de_Fin_Projet"),
.Heures_FIN = row.Field(Of String)("Heures_FIN"),
.Total_Heures = returnTotalHeures(row.Field(Of Date)("Date_de_demarrage_Projet") & New String(" "c, 1) & _
row.Field(Of String)("Heures_Depart"), _
row.Field(Of Date)("Date_de_Fin_Projet").ToString("yyyy/MM/dd") & New String(" "c, 1) & _
row.Field(Of String)("Heures_FIN"))
}).ToList
' Initialistion ComboBox_NomProjet
Me.ComboBox_NomProjet.Items.Add("Codes Projet")
For Each item In ListePersonnel.Select(Function(c) c.Code).Distinct.OrderBy(Function(c) c.ToString)
Me.ComboBox_NomProjet.Items.Add(item.ToString)
Next
Me.ComboBox_NomProjet.SelectedIndex = 0
' Initialisation ComboBox_Personnel
Me.ComboBox_Personnel.Items.Add("Personnel")
For Each item In ListePersonnel.Select(Function(c) c.Employe).Distinct.OrderBy(Function(c) c.ToString)
Me.ComboBox_Personnel.Items.Add(item.ToString)
Next
Me.ComboBox_Personnel.SelectedIndex = 0
' 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
For Each item In ListePersonnel
With Me.DataGridView1.Rows
.Add(item.Employe, _
item.Code, _
item.Ref_Projet, _
item.Date_de_demarrage_Projet.ToString("yyyy/MM/dd") & New String(" "c, 1) & item.Heures_Depart, _
item.Date_de_Fin_Projet.ToString("yyyy/MM/dd") & New String(" "c, 1) & item.Heures_FIN, _
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 ButtonClose_Click(sender As Object, e As EventArgs) Handles Button_Close.Click
Me.Close()
End Sub
End Class
22 mars 2017 à 08:08
salut cs_JMO stp jai utilise le programme mais il m'affiche rien sur la datagridview et en plus je n'ai pas d'erreur tout est nickel .
Enfet mon windows form contient une datagridview , deux DATETIMEPICKER ( qui me permettra a travers le bouton recherche de me donner une liste d'heure entre deux dates , et autres champ selectionner avec ma requette) et un bouton recherche. j'arrive pas a afficher ma requette ( Je n'ai pas fait de requete sql mais jai juste travaille avec champ ,regroupement et somme)
Je suis a la fin de mon projet et c'est la seul chose qui me reste a faire afin que mon programme marche je vous en prie de m'aider .merci
NB: j'ai deux requetes issu d'une seule table
-La 1er est la "sommeTotalHeures"
- La 2nd est "Requete general" sur tous les heures des employe
22 mars 2017 à 08:28
Que t'affiche
22 mars 2017 à 08:39
avec le nombre de colonnes et quand je ferme la case ,il m'affiche une deuxieme case avec un autres chiffre
22 mars 2017 à 08:44
22 mars 2017 à 08:50
Le but, c'est :
- ouvrir ta base Access;
- charger la table "Requête SommeTotalHeures" dans une datatable;
- fermer ta base Access;
- manipuler la datatable.
Peux-tu nous énumérer les champs (nom de chaque colonne) de ta table [Requête SommeTotalHeures] et dire de tel type est chaque champ (Texte, Date, Integer)