range variable hides a variable...

  • VB.NET
  • .NET (FX) 4.0

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    range variable hides a variable...

    Hallo,

    ich habe das hier:

    Quellcode

    1. Dim sum_nb = From row As DataRow In dtListe4.AsEnumerable()
    2. Let nb = row.Field(Of String)("nb")
    3. Let zahlwert_kd = row.Field(Of Double)("zahlwert_kd")
    4. Group By nb Into sumnb = Sum(zahlwert_kd)
    5. Select sumnb Where nb = "NB"


    Bei "Let nb" bekomme ich die Fehlermeldung: Range variable 'nb' hides a variable in an enclosing block or a range variable previously defined in the query expression.

    nb kommt aber nicht mehrmals als Deklarierung vor.

    Was ist hier bitte das Problem?

    danke.

    EDIT: oberhalb dieses Codeteils habe ich eine Deklaration: dim nb as boolean

    Vielleicht kann das das Problem sein. Aber wenn ich in der linq-query nb umschreibe, dann bekomme ich die Fehlermeldung bei where xxxx, und zwar: Name 'nachbew' is either not declared or not in the current scope.

    EDIT 2: erledigt, ich musste noch nach select auch dieses variable aufführen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „vb_fan“ ()

    und ich muss wieder weinen, weil auf ein typisiertes Dataset untypisiert zugegriffen wird ;(
    richtig musses heißen:

    VB.NET-Quellcode

    1. Dim sum_nb = From row In dtListe4.AsEnumerable()
    2. Let nb = row.nb, zahlwert_kd = row.zahlwert_kd
    3. Group By nb Into sumnb = Sum(zahlwert_kd)
    4. Select sumnb Where nb = "NB"

    (ma abgesehen von der fragwürdigen Logik, also warum du erst gruppierst, und dann doch nur eine einzige Gruppe auswählst - aber ich kanns nicht testen, vlt. musses ja auch so)

    naja - vlt. ists ja auch garkein typisiertes Dataset