vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Linq2Dataset Abfrage mit 'Null' Werten 
Autor: Theo_kkv
Datum: 18.04.20 12:24

Hallo,
Dein Beispiel hat teilweise zur Aufhellung beigetragen. Ich habe dennoch versucht, die Funktion in die LINQ Abfrage einzubauen. Es ging nach etwas probieren doch überraschend gut mit diesem Code.
Dim res = (From rechnungen In loc_ds.Tables("Rechnungen").AsEnumerable()
          Where  Where umwandler(rechnungen.Field(Of Nullable(Of Decimal))( _
            "Zahlung1"), rechnungen.Field(Of Nullable(Of Decimal))("Zahlung2"), _
            rechnungen.Field(Of Decimal)("Rechnungsbetrag")) = True)
          Select New Class_rechnung With
                        {.Rechnungsbetrag = rechnungen.Field(Of Decimal)( _
                          "Rechnungsbetrag")}).ToList
 
	Return res
Die Funktion 'umwandler' reagiert jedoch nicht bei der Eigenschaft 'hasvalue', weil bei Leerwerten 'Nothing' übergeben wird.
 Public Shared Function umwandler(ByVal Zahlung1 As Nullable(Of Decimal), ByVal _
   Zahlung2 As Nullable(Of Decimal), ByVal Rechnungsbetrag As Decimal) As _
   Boolean
        If Zahlung1 Is Nothing Then
            Zahlung1 = 0
            If Zahlung2 Is Nothing Then
                Zahlung2 = 0
                If Zahlung1.Value + Zahlung2.Value < Rechnungsbetrag Then
                    Return True
                End If
            Else
                If Zahlung1.Value + Zahlung2.Value < Rechnungsbetrag Then
                    Return True
                Else
                    Return False
                End If
            End If
            Return False
        Else
            If Zahlung2 Is Nothing Then
                Zahlung2 = 0
                If Zahlung1.Value + Zahlung2.Value < Rechnungsbetrag Then
                    Return True
                Else
                    Return False
                End If
            Else
                If Zahlung1.Value + Zahlung2.Value < Rechnungsbetrag Then
                    Return True
                Else
                    Return False
                End If
            End If
        End If
        Return False
     End Function
Mit diesem Code läuft alles wie erhofft und gewollt. Für mich war es ein Lernerfolg, wie eine Funktion in LINQ eingefügt werden kann. Ich denke, damit künftig komplexere Vorgänge auslagern zu können.
Nochmals Dank an Manfred X für den Denkanstoss.

Grüße
Tom
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Linq2Dataset Abfrage mit 'Null' Werten774Theo_kkv14.04.20 18:41
Re: Linq2Dataset Abfrage mit 'Null' Werten483Manfred X14.04.20 20:31
Re: Linq2Dataset Abfrage mit 'Null' Werten493Theo_kkv15.04.20 14:00
Re: Linq2Dataset Abfrage mit 'Null' Werten479Manfred X15.04.20 18:54
Re: Linq2Dataset Abfrage mit 'Null' Werten421Theo_kkv18.04.20 12:24

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel