Benutzer mit den meisten Antworten
Saldovortrag bei gruppiertem Bericht

Frage
-
Guten Abend,
ich verwende den ReportViewer von VS 2010 pro / Visual Basic, um gruppierte Berichte zu erstellen. Funktioniert an sich auch bestens.
Für Zwecke einer Finanzbuchhaltung ist es erforderlich, nicht nur die laufende Summe (RunningValue) auszugeben, sondern auch einen Saldovortrag.
Sonst fängt der RunnigValue nämlich immer mit 0 an, obwohl Finanzkonten (z.B. ein Bankkonto) auch zu Beginn des selektierten Zeitraums bereits einen Bestand <>0 aufweisen.
Rechnerisch wäre das ganz einfach: der RunnigValue müßte als Startwert mit der Summe der früheren (= nicht selektierten) Beträge anfangen. Unter Access hatte ich das mit wenigen (<8) Zeilen programmiert, doch wie bekomme ich das in einen ReportViewer?
Jochen
Antworten
-
Kleines Feedback an die Gemeinde:
Der Link von Ionut enthielt für mich den richtigen Ansatz, mit dem das Problem gelöst ist:
Der Starttermin wird nicht als BindingSource.Filter übergeben, sondern nur als Parameter.
Die früheren Zeilen werden sodann einfach mit
hidden=Fields!Datum.Value<Parameters!StartDatum.Value
ausgeblendet. Bei zeitlich gruppierten Berichten würde das nicht funktionieren, aber darum kümmere ich mich später (wenn überhaupt).
Schönen Sonntag noch allerseits!
j
- Als Antwort markiert Ionut DumaModerator Montag, 3. Juni 2013 08:25
Alle Antworten
-
Hallo Jochen,
Vielleicht hilft Dir dass weiter http://social.msdn.microsoft.com/forums/en-us/vsreportcontrols/thread/E68A8231-3F2B-4013-B0C6-FAC2D69CF301
Gruss,
Ionut
-
Vielen Dank,
aber da u.a. nach Konten gruppiert wird, muss der Anfangsbestand für jedes Konto ermittelt werden. Das wären erstens viel zu viele, und zweitens werden diese erst vom Benutzer konfiguriert, sind für also unvorhersehbar.
Unter Acces war es so schön einfach, ich verwendete ungebundene Felder und zählte die einfach hoch:
Private Sub Gruppenkopf0_Format(Cancel As Integer, FormatCount As Integer)
Anfangsbestand = FibuKontoStand(KNr, Form_Finanzbuchhaltung.lstUnternehmen, Form_Finanzbuchhaltung.Anfangszeit - 1)
LfdSumme = Anfangsbestand
End Sub
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
If FormatCount = 1 Then LfdSumme = LfdSumme + NomBetrag
Saldo = LfdSumme
End Sub
Noch eine Idee?
Jochen
-
Kleines Feedback an die Gemeinde:
Der Link von Ionut enthielt für mich den richtigen Ansatz, mit dem das Problem gelöst ist:
Der Starttermin wird nicht als BindingSource.Filter übergeben, sondern nur als Parameter.
Die früheren Zeilen werden sodann einfach mit
hidden=Fields!Datum.Value<Parameters!StartDatum.Value
ausgeblendet. Bei zeitlich gruppierten Berichten würde das nicht funktionieren, aber darum kümmere ich mich später (wenn überhaupt).
Schönen Sonntag noch allerseits!
j
- Als Antwort markiert Ionut DumaModerator Montag, 3. Juni 2013 08:25
-