Hallo ERBRU,
wenn ich das richtig verstanden habe, willst du in der Tabelle Lagerliste alle Einträge finden, die die gleiche Maximo-Nummer haben?
Du braucht dazu 2 DataGridView und 2 BindingSource.
Beispiel:
'Zeigt alle vorkommenden Maximo-Nummern und die Anzahl
With AnzahlenDataGridView
.AllowUserToDeleteRows = False
.AllowUserToAddRows = False
.ReadOnly = True
.MultiSelect = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.AutoGenerateColumns = True
.DataSource = AnzahlenBindingSource
End With
'Zeigt die Einträge in der Lagerliste, einer Maximo-Nummer.
With LagerlisteAusgabeDataGridView
.AllowUserToDeleteRows = False
.AllowUserToAddRows = False
.AutoGenerateColumns = True
.DataSource = LagerlisteAusgabeBindingSource
End With
'Testdaten
'Spalten: "Standort", "Artikelbezeichnung", "Maximo"
With DataSet1.Lagerliste.Rows
.Add("Hier", "Lichtschranke", "130T061223")
.Add("Hier", "Türgriff", "130T06456")
.Add("Dort", "Tasse", "130T061234")
.Add("Hier", "Kaffee", "130T061234")
.Add("Dort", "Schnürsenkel", "130T06456")
.Add("Dort", "Sonnenuhr", "130T061228")
.Add("Dort", "Lichtschranke", "130T061223")
.Add("Dort", "Schnürsenkel", "130T06456")
End With Die Abfrage:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles _
Button1.Click
'Abfrage der Tabelle "Lagerliste" im DataSet
Dim Q = From row In DataSet1.Lagerliste
Where Not row.IsMaximoNull
Group By row.Maximo Into Anzahl = Count(), Artikel = Group
Order By Anzahl Descending
AnzahlenBindingSource.DataSource = Q
LagerlisteAusgabeBindingSource.DataSource = AnzahlenBindingSource
LagerlisteAusgabeBindingSource.DataMember = "Artikel"
End Sub Das erste DGV zeigt in der ersten Spalte alle gefundenen Maximo und in der zweiten Spalte die Anzahl der Vorkommen.
Beim auswählen einer Zeile zeigt dann das 2. DGV die dazugehörigen Einträge der Lagerliste an. |