Statistik und InterRun

Fragen zum Thema Buchungsfilter und Statistiken
Antworten
Albi
Interessent
Beiträge: 8
Registriert: Mi, 05 Jul, 2006 17:05

Statistik und InterRun

Beitrag von Albi » Di, 05 Sep, 2006 12:41

Hallo,
nun läuft EuroKass bei mir sehr gut, allerdings hab ich ein Problem mit der Statistik (oder wahrscheinlich eher mit der Programmierung in InterRun). Ich möchte gern meine Konten, zum Beispiel Lebensmittel, für den aktuellen Monat, daneben für den Vormonat und daneben für das laufende Jahr bisher auswerfen. Die Eingrenzung für den laufenden Monat bekomme ich ja noch hin - habe ich mit zwei Datumsfeldern gelöst. Was mache ich mit dem Rest (die Funktion AddMonth könnte mir helfen, aber da wirft er mir ständig Fehler aus).
Eine Frage wäre noch, wie ich mir Monats-Mittelwerte (zum Beispiel den durchschnitt der monatlichen Lebensmittelkosten) auswerfen lassen kann.
Gruß
Albi

Benutzeravatar
Team Schauries
Site Admin
Beiträge: 1058
Registriert: Mo, 17 Jan, 2005 20:25
Wohnort: Essen

Beitrag von Team Schauries » Di, 05 Sep, 2006 19:17

Hallo Albi,

schön, dass EuroKass wieder läuft!

Meintest Du Statistik oder Bericht? Statistiken können per InterRun nicht modifiziert werden...

Die Funktion AddMonth erwartet zwei Parameter: zum einen Bezugsdatum und zum anderen die Anzahl Monate, um die das Ergebnis inkrementiert bzw. dekrementiert wird.

Ein Beispiel:
Alle Lebensmittelkosten des letzten Monats
Waehrungsfeld1.Value = ManualFilter(BoM(AddMonth(Date,-1)),EoM(AddMonth(Date,-1)),"",0.00,0.00,"","und","","Lebensmittel","und","")

Wenn man die Klammern von innen nach außen untersucht, liefert Date das heutige Datum, AddMonth(Date,-1) liefert den vorherigen Monat und BoM den Anfang des letzten Monats.

Wegen der Durchschnittswerte schau mal hier...
http://www.eurokass.de/phpBB2/viewtopic ... between%2A

Gruß,
Dirk Schauries
Team Schauries

Albi
Interessent
Beiträge: 8
Registriert: Mi, 05 Jul, 2006 17:05

Beitrag von Albi » Mo, 11 Sep, 2006 7:52

Hallo zusammen,
Danke für die schnelle Antwort. Das funktioniert phantastisch. Eine Frage hätte ich da noch: Ist es möglich Berichte untereinander zu verknüpfen - also z. B. auf ein Währungsfeld eines anderen Berichtes zu verweisen oder dies bei der Addition mit einzubeziehen? Das erspart ja dann doch eine ganze Menge "Klickerei".
Viele Grüße
Albi

:P

Benutzeravatar
Team Schauries
Site Admin
Beiträge: 1058
Registriert: Mo, 17 Jan, 2005 20:25
Wohnort: Essen

Beitrag von Team Schauries » Mo, 11 Sep, 2006 22:07

Hallo Albi,

Ja, das geht. Vorraussetzung: der Bericht muss geöffnet sein.

Hier ein Beispiel:

Procedure Schalter2_OnClick
if Frame("Bericht6").Showing = false
Frame("Bericht6").Show
Frame.Show
EndIf

Eingabefeld2.Text = FloatToStr(Frame("Bericht6").WaehrungsFeld1.Value)
EndProcedure

Erläuterung:

if Frame("Bericht6").Showing = false
ermittelt, ob der Bericht6 geöffnet ist.

Frame("Bericht6").Show
Öffnet den Bericht und setzt den Fokus auf diesen.

Frame.Show
Wechselt den Fokus wieder auf den aktuellen Bericht.

Eingabefeld2.Text = FloatToStr(Frame("Bericht6").WaehrungsFeld1.Value)
Füllt das Textfeld Eingabefeld2 mit dem Zahlenwert von WaehrungsFeld1 aus Bericht6.

Gruß,
Dirk Schauries
Team Schauries

Albi
Interessent
Beiträge: 8
Registriert: Mi, 05 Jul, 2006 17:05

Beitrag von Albi » Fr, 27 Okt, 2006 16:43

Hallo zusammen,

auch das funktio0niert sehr gut. Nun hab ich ein neues Problem in diesem Zusammenhang: Die Verknüpfung der Berichte ist nur dann sinnvoll, wenn die Daten vergleichbar sind, ihnen u. a. exakt der gleiche Zeitraum zu Grunde liegt. Ich möchte deshalb erreichen, dass durch die Schaltfläche nicht nur der verknüpfte Bericht geöffnet und die Zahl aus dem entsprechenden Währungsfeld geholt wird, sonder auch, dass zuvor das Datumvom Ausgangsbericht übernommen und der verknüpfte Bericht aktualisiert wird. Geht das und wenn ja, wie?

Viele Grüße und vielen Dank im voraus! :)
Albi

Benutzeravatar
Team Schauries
Site Admin
Beiträge: 1058
Registriert: Mo, 17 Jan, 2005 20:25
Wohnort: Essen

Beitrag von Team Schauries » Fr, 27 Okt, 2006 19:03

Hallo Albi,

da sehe ich keinen besonderen Unterschied zum oben Besprochenen.
Nehme doch einfach einen administrativen Hauptbericht, der alle Parameter in Form von Auswahlfeldern bereitstellt und übergebe diese als Funktionsparameter den Rechenfunktionen der Unterberichte.
Wird die Schreibarbeit insgesamt sehr umfangreich, kann man auch auf Modul-Variablen ausweichen: Öffne das Programm-Center und klicke dort auf „Modul“. Erstelle zwei Variablen wie

var gVon : String
var gBis : String

und im OnChange-Ereignis eines Datumsfeldes im Hauptbericht schreibst Du:

Procedure Datumsfeld1_OnChange
gVon = Datumsfeld1.Date
Frame(„Unterbericht“).Refresh
EndProcedure

Im Unterbericht kann jetzt die Variable gVon (g für Global) an allen Stellen eingesetzt werden.

Das ist jetzt etwas sehr knapp und auch nicht der beste Stil, zeigt aber, dass über Modulvariablen sehr bequem kommuniziert werden kann.

Kommst Du damit weiter?

Gruß,
Dirk Schauries
Team Schauries

Albi
Interessent
Beiträge: 8
Registriert: Mi, 05 Jul, 2006 17:05

Beitrag von Albi » Mi, 01 Nov, 2006 20:45

Hallo erstmal,
also vielen Dank für die Antwort. Ich dachte ja auch, dass es eigentlich gehen müßte. Nun hab ich mit der Syntax bei Interrun noch so meine Probleme, da ich sonst nur "Anwender" bin. Der Vorschlag mit den Variablen klingt noch interessanter - das werd ich als erstes mal probieren.
Im schlimmsten Fall melde ich mich wieder.

Viele Grüße
Albi

Antworten