Enum auswerten in datatable.select

  • VB.NET

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

    Enum auswerten in datatable.select

    Hallo,

    ich möchte mit einem datatable.select Daten filtern und müsste dazu ein enum auswerten. ich habe alles mögliche versucht aber es will nicht so richtig.

    Das Ganze betrifft einen Dienstplan mit folgendem Enum:

    <Flags()> Enum enumDienste
    <Description("Mo-Fr")> MO_FR = 1
    <Description("Früh")> FRUEH = 2
    <Description("Spät")> SPAET = 4
    <Description("9:30 Uhr")> MO_FR_9_30 = 8
    <Description("Mo-Sa F")> MO_SA_F = 16
    <Description("Di-Sa S")> DI_SA_S = 32
    <Description("Notdienst")> Not = 64
    end enum

    In meiner SQL-Abfrage gibt es die Spalte Dienst als integer der den Enum enthält
    Es können mehrere Dienste möglich sein wie z. Bsp. Früh und Not und somit 2+64 =66

    In SQL kann ich alle Notdienste prima abfragen mit:
    SELECT * from Dienstplan where
    (Dienst & " & 64 & ") >0

    Bei dieser Abfrage bekomme ich den Datensatz mit dem Wert 66 da hier auch die 64 enthalten ist.

    Nun benötige ich aber einen Filter in folgender Form

    dt=tbl.select("(Dienst And 64) > 0").CopyToDataTable

    Das funktioniert leider nicht, auch ein &-Zeichen mag er nicht.

    Ich hoffe es ist nachvollziehbar und mir kann jemand einen Schubser geben.

    Vielen Dank
    pino