none
Verschiedene Bedingungen aus einem DataSet - Visual Studio RRS feed

  • Allgemeine Diskussion

  • Hallo,

    ich suche seit längerem eine Lösung um 2 verschiedene Bedingungen in ein DataSet zu bekommen. Es geht um 2 Spalten, und sobald in der einen ein bestimmter Wert erfüllt ist (Diese Bedingung habe ich bereits im DesignViewer mit SQL Code erstellt) sollen die entsprechenden Werte aus der anderen Spalte ausgegeben werden.

    In der nächsten Zeile meiner dargestellten Tabelle will ich genau die entgegengesetzten Ergebnisse haben, also alle, die in der Bedingung nicht erfüllt sind. Die einzige Möglichkeit, die ich hier sehe ist das über den DesignViewer zu machen. Das geht aber nicht, weil keine 2 DataSets gleichzeitig verwendet werden dürfen. 

    Gibt es denn keine Möglichkeit das alles über SQL Code zu steuern?

    Vielen Dank

    Dienstag, 6. März 2018 17:05

Alle Antworten

  • Hi,

    so wirklich hab ich nicht verstanden, was Du da machen willst.

    Du sprichst von zwei Zeilen. Eine soll angezeigt werden, wenn eine Bedingung erfüllt ist, die nächste, wenn die Bedingung nicht erfüllt ist. Was genau soll man sich darunter vorstellen?

    Poste bitte mal Beispieldaten und das gewünschte Ergebnis dazu.

    Dazu bitte noch Informationen, welches DBMS und welche Projektart (WinForms, WPF, ...) Du verwendest.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Dienstag, 6. März 2018 17:50
    Moderator
  • Ich benutze das Microsoft SQL Management Studio und möchte einen Report mit Visual Studio und der Endung .rdl erstellen.

    Meine Tabellen im Dataset sind Farben und zugehörige Werte aus denen die Summe gebildet werden soll.

    rot     5

    blau   3

    rot     4

    blau   1

    angezeigt werden soll mir eine Tabelle mit den jeweiligen Bedingungen

    rot    9

    blau  4

    Den passenden SQL Text habe ich, aber in Visual Studio komme ich damit nicht weit.

    SELECT sum(farbe.bez)
    FROM farbe
    INNER JOIN menge on farbe.mengeID = menge.mengeID
    WHERE bez = 'rot'

    Dazu die eine Frage, ob man diesen SQL Text nicht irgendwo  in den Report einfügen kann? Soweit ich gesehen habe, geht das nur zur Erstellung eines Datasets? Wenn das nicht geht, wie ich zwei verschiedene Bedingungen in meinen Report kriege. Hatte schon die Idee das über zwei Datasets zu machen, aber es dürfen nicht zwei gleichzeitig benutzt werden.

    Danke für die Hilfe!

    Mittwoch, 7. März 2018 05:53
  • Hi,

    auch wenn ich immer noch Schwierigkeiten damit habe, deinen Text zu verstehen (irgendwie will mir nicht in den Kopf, was da wo wann und wie "gewechselt" werden soll, was zwei Datasets dir bringen würden, was genau das alles mit Reports zu tun hat, ... würde ich behaupten, dass dein SQL Statement einfach falsch ist.

    SELECT   f.farbe,
             SUM( m.menge ) AS menge
    FROM     mengen m
             INNER JOIN farben f = m.mengeID = f.MengeID
    GROUP BY f.farbe

    Damit erhältst Du in der SQL Rückgabe das von dir gezeigte Beispiel (nur ggfs. anders sortiert, das könntest Du dann mit ORDER BY f.farbe DESC lösen, ansonsten solltest Du in die Tabelle "farben" eine Spalte integrieren, die die gewünschte Sortierung beinhaltet.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Mittwoch, 7. März 2018 07:59
    Moderator