Benötige unterstützung bei Linq und _dt group by

  • VB.NET
  • .NET (FX) 4.0

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von michl75.

    Benötige unterstützung bei Linq und _dt group by

    Hallo,

    ich benötige kurz eure Hilfe. Zum ersten mal bin ich "gezwungen" (weil mir kein anderer Weg einfällt) Linq zu benutzen.

    Habe eine Datatable (_dt) die ich wie folgt gefüllt habe:

    AAID
    PNR
    19
    108
    19
    109
    20
    111
    21
    33

    Jetzt soll aber nicht jede Zeile der _dt einzeln ausgegeben werden über FOR EACH, sondern nur so (also gruppiert und Count von AAID):

    1. Zeile: 19 2
    2. Zeile: 20 1
    3. Zeile 21 1

    Mein Ansatz:

    VB.NET-Quellcode

    1. Dim query = From rw In MSDB3DataSet.WWBatchTempor Group By rw.wwbNewAAID Into Count(rw.wwbNewAAID)
    2. For Each x In query 'MSDB3DataSet.WWBatchTempor
    3. MsgBox(x.wwbNewAAID)
    4. Next


    Finktioniert aber nicht, ausgegeben wird (über MsgBox) 19 19, 20, 21... also nix guppiert.

    Was mache ich da falsch?

    Viele Grüße
    Michl


    EDIT:

    Und so versucht:

    VB.NET-Quellcode

    1. Dim query = From rw In MSDB3DataSet.WWBatchTempor
    2. Group rw By A = rw.wwbNewAAID Into B = Count(rw.wwbNewAAID)
    3. For Each x In query 'MSDB3DataSet.WWBatchTempor
    4. MsgBox(x.A & " - " & x.B)
    5. Next


    Aber... es kommt 4mal die MSGBox...
    und er zählt hoch wie in einer normalen Abfrage.

    so:

    1.msgbox: 19 1
    2.msgbox: 19 2
    3.msgbox: 20 1
    usw.

    Was mache ich falsch?


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „michl75“ ()

    Danke für deine Antwort :)

    Er wollte dennoch immer das Into haben...

    Hab nochmal gelesen in MSDN und per Into Group funktioniert es

    VB.NET-Quellcode

    1. Dim query = From rw In MSDB3DataSet.WWTABDruckAuftraege Order By rw.wwUANR Group By rw.wwUANR Into Group
    2. For Each x In query
    3. MsgBox(x.wwUANR)
    4. Next