none
Saldovortrag bei gruppiertem Bericht RRS feed

  • 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

    Samstag, 25. Mai 2013 20:02

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

    Sonntag, 2. Juni 2013 08:27

Alle Antworten

  • Montag, 27. Mai 2013 16:31
    Moderator
  • 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

    Dienstag, 28. Mai 2013 16:54
  • 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

    Sonntag, 2. Juni 2013 08:27
  • Hallo Jochen,

    Es freut uns, dass Du Dein Problem lösen konntest und danke, dass Du Deine Lösung hier im Forum gepostet hast. Jetzt können auch andere die das gleiche Problem haben unter Umständen davon profitieren.

    Danke und Gruss,

    Ionut

    Montag, 3. Juni 2013 08:27
    Moderator