Benutzer mit den meisten Antworten
Laufende Summe im DataRepeater II

Frage
-
Hallo,
bezogen auf meine letzte Anfrage mit selben Titel, wüßte ich gerne, ob mir jemand
die nachfolgenden Zeilen (So hatte ich sie mal in Access geschrieben) für den
Visual Basic Abfrage-Generator umschreiben kann, bzw. mir sagen kann, ob dieses
überhaupt möglich ist?
SELECT Gesamtumsatz.ID AS ID1, DSum("Betrag","Gesamtumsatz","[ID]<=" & [ID1]) AS Saldo
FROM Gesamtumsatz
WHERE (((Gesamtumsatz.Auftragskonto)=4711))
GROUP BY Gesamtumsatz.ID;
Für Eure Hilfe wäre ich dankbar!
Steffen
Antworten
-
Hallo Steffen,
in "richtigem" SQL - DSUM sollte man auch in Access dafür eher meiden, wäre das eine Unterabfrage:SELECT g.ID AS ID1, (SELECT Sum(Betrag) FROM Gesamtumsatz AS gs WHERE gs.ID <= g.ID) AS Saldo FROM Gesamtumsatz AS g WHERE g.Auftragskonto = 4711 GROUP BY g.ID;
Was die Frage I + II zum DataRepeater angeht:
Verwendest Du für die Daten Linq To SQL wie ich anhand einer anderen Frage von Dir vermute?
Denn für die Beantwortung der Kernfrage:
- Wie implementiere ich eine laufende Summe?
Skizziere wie Deine Tabelle Gesamtumsatz aussieht bzw.
welche Art von Daten Du dort anzeigen möchtest.
Gruß Elmar
- Als Antwort markiert Steffen01 Dienstag, 21. Juli 2009 07:35
Alle Antworten
-
Hallo Steffen,
in "richtigem" SQL - DSUM sollte man auch in Access dafür eher meiden, wäre das eine Unterabfrage:SELECT g.ID AS ID1, (SELECT Sum(Betrag) FROM Gesamtumsatz AS gs WHERE gs.ID <= g.ID) AS Saldo FROM Gesamtumsatz AS g WHERE g.Auftragskonto = 4711 GROUP BY g.ID;
Was die Frage I + II zum DataRepeater angeht:
Verwendest Du für die Daten Linq To SQL wie ich anhand einer anderen Frage von Dir vermute?
Denn für die Beantwortung der Kernfrage:
- Wie implementiere ich eine laufende Summe?
Skizziere wie Deine Tabelle Gesamtumsatz aussieht bzw.
welche Art von Daten Du dort anzeigen möchtest.
Gruß Elmar
- Als Antwort markiert Steffen01 Dienstag, 21. Juli 2009 07:35
-
Hallo Elmar,
kurz zu meinem eigentlichem Anliegen.
Als zertifizierter Anwendungsentwickler für SAP Software (ABAP, MySQL) und zertifizierter Programmierer der Software Sage KHK (Access), beides Anwendungen im kaufmännischen Bereich, habe ich es eher mit der Programmierung "alter Schule" zu tun.
Nun wird es an der Zeit, dass ich mit der Zeit gehe und beschäftige mich privat mit Visual Studio um die verschiedenen Tools, Datentypen, Datenzugriffsmöglichenkeiten usw. kennenzulernen.
Dazu verwende ich eine einfache Tabelle: ID, Auftragskonto , Valutadatum, Buchungsdatum, Begünstigter, Verwendungszweck, Betrag, Saldo, Gebucht(bit), Erledigt(bit), also Informationen wie ich sie auf jedem Kontoauszug vorfinde. Mein kleines "Projekt" erfasst die Posten verschiedener
Konten per Textfile (.csv, online abgerufen) und gibt sie verschiedentlich, experimentellerweise im DataRepeater,DataGridView uvm. wieder.
Dabei möchte ich die verschiedenen Möglichkeiten der Datenanbindungen und Verwaltung kennen lernen.
Vielen Dank für Deine Lösung!
Gruß Steffen
P.S Es ist LINQ to SQL -
Hallo Elmar,
Dein Lösungsvorschlag ist nun den Erfordernissen entsprechend erweitert und angepasst.
Die Gruppierung der Haupt-Abfrage musste verworfen werden, da sie weitere Angaben zu Aggregat- bzw. Gruppenzugehörigkeit
von hinzugefügten Bedingungen erforderlich machte und ausserdem zu Dublikaten in der Ausgabeliste führte.
Hier nun die Abfrage die meinen Erfordernissen entspricht.
SELECT Auftragskonto, Valutadatum, Betrag,
(SELECT SUM(Betrag) AS Summe
FROM Gesamtumsatz AS Gesamtumsatz1
WHERE (Valutadatum <= Gesamtumsatz.Valutadatum) AND (ID <= Gesamtumsatz.ID)
AND (Auftragskonto = @Auftragskonto) AND (Bank = 1) AND (Gebucht = 1)
AND (Erledigt = 0)) AS Saldo
FROM Gesamtumsatz
WHERE (Valutadatum >= @DatumVon AND Valutadatum < @DatumBis)
ORDER BY Bank DESC, Valutadatum, ID
Gruß
Steffen