Kontostand zum Stichtag
Kontostand zum Stichtag
Hallo Team Schauries,
in den Hilfe-Texten steht: "Berichte stellen die höchte Form der Auswertung dar." . Und genau deshalb sind sie auch so interessant für mich.
Kann man eigentlich in einem Bericht ein Währungsfeld, z.B. Kontostand, mit einem Datumsfeld verknüpfen, um so die Kontostände aller in einem Bericht enthaltenen Konten zu einem beliebig wechselnden Datum (Stichtag) anzuzeigen?
Mit Gruß
Ede
in den Hilfe-Texten steht: "Berichte stellen die höchte Form der Auswertung dar." . Und genau deshalb sind sie auch so interessant für mich.
Kann man eigentlich in einem Bericht ein Währungsfeld, z.B. Kontostand, mit einem Datumsfeld verknüpfen, um so die Kontostände aller in einem Bericht enthaltenen Konten zu einem beliebig wechselnden Datum (Stichtag) anzuzeigen?
Mit Gruß
Ede
- Team Schauries
- Site Admin
- Beiträge: 1058
- Registriert: Mo, 17 Jan, 2005 20:25
- Wohnort: Essen
Hallo Ede,
ja, das geht.
Im Normalfall schreibt man in der Auto-Funktion:
Waerungsfeld1.Value = AccountSum("Bank","01.01.2005",“30.06.2005)
Gemeint ist das Konto Bank mit dem Zeitraum 01.01 – 30.06.2005.
Um den Stichtag dynamisch zu halten, ersetzt man das „30.06.2005“ durch eine Variable wie z.B. ein Datumsfeld.
Das sieht dann so aus:
Waerungsfeld1.Value = AccountSum("Bank","01.01.2005",Datumsfeld1.Date)
Jetzt muss das Datumsfeld nur noch dafür sorgen, dass bei einer Änderung des Datums der Bericht neu errechnet werden soll und das geht so:
Klicke im Designmodus auf das Datumsfeld und im Eigenschaften-Editor auf den Reiter Ereignisse. Mache dann einen Doppelklick auf den ersten Eintrag „Beim Ändern“. Es öffnet sich das Programm-Center und zeigt einen vorgefertigten Text a la
Procedure Datumsfeld1_OnChange
|Ihre Programmzeilen
EndProcedure
Tausche die Zeile |Ihre Programmzeilen aus gegen:
Frame.Refresh
Dieses Datumsfeld kann jetzt für alle möglichen Berechnungen anderer Komponenten dieses Berichts verwendet werden.
Kommst Du damit klar?
Gruß,
Dirk Schauries
ja, das geht.
Im Normalfall schreibt man in der Auto-Funktion:
Waerungsfeld1.Value = AccountSum("Bank","01.01.2005",“30.06.2005)
Gemeint ist das Konto Bank mit dem Zeitraum 01.01 – 30.06.2005.
Um den Stichtag dynamisch zu halten, ersetzt man das „30.06.2005“ durch eine Variable wie z.B. ein Datumsfeld.
Das sieht dann so aus:
Waerungsfeld1.Value = AccountSum("Bank","01.01.2005",Datumsfeld1.Date)
Jetzt muss das Datumsfeld nur noch dafür sorgen, dass bei einer Änderung des Datums der Bericht neu errechnet werden soll und das geht so:
Klicke im Designmodus auf das Datumsfeld und im Eigenschaften-Editor auf den Reiter Ereignisse. Mache dann einen Doppelklick auf den ersten Eintrag „Beim Ändern“. Es öffnet sich das Programm-Center und zeigt einen vorgefertigten Text a la
Procedure Datumsfeld1_OnChange
|Ihre Programmzeilen
EndProcedure
Tausche die Zeile |Ihre Programmzeilen aus gegen:
Frame.Refresh
Dieses Datumsfeld kann jetzt für alle möglichen Berechnungen anderer Komponenten dieses Berichts verwendet werden.
Kommst Du damit klar?
Gruß,
Dirk Schauries
Team Schauries
- Team Schauries
- Site Admin
- Beiträge: 1058
- Registriert: Mo, 17 Jan, 2005 20:25
- Wohnort: Essen
Hallo Ede,
haben wir geändert...Update kommt aber erst in vier Wochen, leider.
Bis dahin kannst Du Dir behelfen, in dem Du den Anfangsbestand manuell dazu addierst.
Schreibe:
Waerungsfeld1.Value = AccountSum("Bank","01.01.2005",Datumsfeld1.Date) + Account("Bank").InputValue
Gruß,
Dirk Schauries
haben wir geändert...Update kommt aber erst in vier Wochen, leider.
Bis dahin kannst Du Dir behelfen, in dem Du den Anfangsbestand manuell dazu addierst.
Schreibe:
Waerungsfeld1.Value = AccountSum("Bank","01.01.2005",Datumsfeld1.Date) + Account("Bank").InputValue
Gruß,
Dirk Schauries
Team Schauries
Hallo Team Schauries,
nach gleicher Vorgehensweise wie bei dem variablen Datum wollte ich ein Auswahlfeld mit variablem Kontoname in ein Währungsfeld einbinden. Also dass ich nicht für alle Konten ein Währungsfeld z.B. "Balance" erstellen muss, sondern nur ein Währungsfeld und im Auswahlfeld immer nur das Konto auswählen, von dem ich den aktuellen Kontostand gerade sehen möchte. Leider funktioniert das nicht. Könnt ihr mir bitte helfen?
Mit Gruß
Ede
nach gleicher Vorgehensweise wie bei dem variablen Datum wollte ich ein Auswahlfeld mit variablem Kontoname in ein Währungsfeld einbinden. Also dass ich nicht für alle Konten ein Währungsfeld z.B. "Balance" erstellen muss, sondern nur ein Währungsfeld und im Auswahlfeld immer nur das Konto auswählen, von dem ich den aktuellen Kontostand gerade sehen möchte. Leider funktioniert das nicht. Könnt ihr mir bitte helfen?
Mit Gruß
Ede
- Team Schauries
- Site Admin
- Beiträge: 1058
- Registriert: Mo, 17 Jan, 2005 20:25
- Wohnort: Essen
Hallo Ede,
ab der Version 5.0 gibt es ein Demo-Kassenbuch „Familienkassenbuch mit vier Berichten“.
Da wird in einem Bericht „KontostandVom“ genau das gemacht, was Du brauchst.
Für die Liste aller Kontonamen braucht man bspw. eine Auswahlliste. Diese wird über die Auto-Funktion Accounts(-1).Names gefüllt.
Der komplette Programmtext lautet:
|Die Namen aller Konten in Auswahlliste laden
Auswahlliste1.Text = Accounts(-1).Names
|Auswahlliste sortiert ausgeben
Auswahlliste1.Sort
|Erstes Konto in der Auswahlliste anwählen
Auswahlliste1.ItemIndex = 0
|Die Anzahl der sichtbaren Einträge bei aufgeklappter Liste von 8 auf 20 erhöhen
Auswahlliste1.DropDownCount = 20
Um jetzt ein Währungsfeld mit dem jeweiligen Kontostand des angewählten Kontos zu füllen, benutzt man das OnChange-Ereignis der Auswahliste.
Klicke die Auswahlliste an und mache im Eigenschaften-Editor im Reiter Ereignisse einen Doppelklick auf den ersten Eintrag „Beim Ändern“.
Es öffnet das Programm-Center mit einem vordefinierten Text.
Tausche den Text durch diesen hier aus:
Procedure Auswahlliste1_OnChange
if Auswahlliste1.SelectText > ""
Waerungsfeld1.Value =
Account(Auswahlliste1.SelectText).Balance
EndIf
EndProcedure
Die Komponentennamen Auswahlliste1 und Waehrungsfeld1 können bei Dir anders lauten, also bitte noch im Quellcode anpassen.
Anders als sonst, beschreibt also hier die Auswahlliste das Währungsfeld. Das erscheint unüblich, ist aber so gewollt.
Wie man sieht, lassen sich alle Parameter auch dynamisch über Komponenten oder sogar über InterRun-Funktionsergebnisse abfragen. Wichtig ist nur, dass die zu erwartenden Daten in den richtigen Komponententyp gespeichert werden. Texte z.B. gehören in ein Beschriftungs-, Eingabe-, oder Listenfeld und numerische Daten in ein Währungs- oder Zählerfeld.
Ich hoffe, Du steigst durch...
Gruß,
Dirk Schauries
ab der Version 5.0 gibt es ein Demo-Kassenbuch „Familienkassenbuch mit vier Berichten“.
Da wird in einem Bericht „KontostandVom“ genau das gemacht, was Du brauchst.
Für die Liste aller Kontonamen braucht man bspw. eine Auswahlliste. Diese wird über die Auto-Funktion Accounts(-1).Names gefüllt.
Der komplette Programmtext lautet:
|Die Namen aller Konten in Auswahlliste laden
Auswahlliste1.Text = Accounts(-1).Names
|Auswahlliste sortiert ausgeben
Auswahlliste1.Sort
|Erstes Konto in der Auswahlliste anwählen
Auswahlliste1.ItemIndex = 0
|Die Anzahl der sichtbaren Einträge bei aufgeklappter Liste von 8 auf 20 erhöhen
Auswahlliste1.DropDownCount = 20
Um jetzt ein Währungsfeld mit dem jeweiligen Kontostand des angewählten Kontos zu füllen, benutzt man das OnChange-Ereignis der Auswahliste.
Klicke die Auswahlliste an und mache im Eigenschaften-Editor im Reiter Ereignisse einen Doppelklick auf den ersten Eintrag „Beim Ändern“.
Es öffnet das Programm-Center mit einem vordefinierten Text.
Tausche den Text durch diesen hier aus:
Procedure Auswahlliste1_OnChange
if Auswahlliste1.SelectText > ""
Waerungsfeld1.Value =
Account(Auswahlliste1.SelectText).Balance
EndIf
EndProcedure
Die Komponentennamen Auswahlliste1 und Waehrungsfeld1 können bei Dir anders lauten, also bitte noch im Quellcode anpassen.
Anders als sonst, beschreibt also hier die Auswahlliste das Währungsfeld. Das erscheint unüblich, ist aber so gewollt.
Wie man sieht, lassen sich alle Parameter auch dynamisch über Komponenten oder sogar über InterRun-Funktionsergebnisse abfragen. Wichtig ist nur, dass die zu erwartenden Daten in den richtigen Komponententyp gespeichert werden. Texte z.B. gehören in ein Beschriftungs-, Eingabe-, oder Listenfeld und numerische Daten in ein Währungs- oder Zählerfeld.
Ich hoffe, Du steigst durch...
Gruß,
Dirk Schauries
Team Schauries
Hallo Team Schauries,
also der Kontostand eines definierten Kontos über ein variables Datumsfeld zum Stichtag funktioniert und auch der aktuelle Kontostand eines beliebigen Kontos über ein variables Auswahlfeld.
Wie kann ich jetzt aber beides kombinieren? D.h. ich möchte mir in einem Währungsfeld den Kontostand eines frei wählbaren Kontos (über ein Auswahlfeld) zu einem frei wählbaren Datum (über ein Datumsfeld) anzeigen lassen.
Vielen Dank für eure Bemühungen
Mit Gruß
Ede
also der Kontostand eines definierten Kontos über ein variables Datumsfeld zum Stichtag funktioniert und auch der aktuelle Kontostand eines beliebigen Kontos über ein variables Auswahlfeld.
Wie kann ich jetzt aber beides kombinieren? D.h. ich möchte mir in einem Währungsfeld den Kontostand eines frei wählbaren Kontos (über ein Auswahlfeld) zu einem frei wählbaren Datum (über ein Datumsfeld) anzeigen lassen.
Vielen Dank für eure Bemühungen
Mit Gruß
Ede
- Team Schauries
- Site Admin
- Beiträge: 1058
- Registriert: Mo, 17 Jan, 2005 20:25
- Wohnort: Essen
Hallo Ede,
das geht natürlich auch!
Erstelle einfach die Summe aus dem, was wir hier über mir besprochen haben:
Schreibe im Programm-Center im Ereignis „Beim Ändern“ der Auswahlliste...
Procedure Auswahlliste1_OnChange
if Auswahlliste1.SelectText > ""
AccountSum(Auswahlliste1.SelectText,"01.01.2005",Datumsfeld1.Date) +
Account(Auswahlliste1.SelectText).InputValue
EndIf
EndProcedure
Also statt:
Waerungsfeld1.Value = AccountSum("Bank","01.01.2005",Datumsfeld1.Date) +
Account("Bank").InputValue
Schreibst Du:
AccountSum(Auswahlliste1.SelectText,"01.01.2005",Datumsfeld1.Date) +
Account(Auswahlliste1.SelectText).InputValue
Der Kontobezug "Bank" wird ersetzt durch den Inhalt der Auswahlliste1. Aber nur, wenn in der Auswahlliste1 was drin steht.
Gruß,
Dirk Schauries
das geht natürlich auch!
Erstelle einfach die Summe aus dem, was wir hier über mir besprochen haben:
Schreibe im Programm-Center im Ereignis „Beim Ändern“ der Auswahlliste...
Procedure Auswahlliste1_OnChange
if Auswahlliste1.SelectText > ""
AccountSum(Auswahlliste1.SelectText,"01.01.2005",Datumsfeld1.Date) +
Account(Auswahlliste1.SelectText).InputValue
EndIf
EndProcedure
Also statt:
Waerungsfeld1.Value = AccountSum("Bank","01.01.2005",Datumsfeld1.Date) +
Account("Bank").InputValue
Schreibst Du:
AccountSum(Auswahlliste1.SelectText,"01.01.2005",Datumsfeld1.Date) +
Account(Auswahlliste1.SelectText).InputValue
Der Kontobezug "Bank" wird ersetzt durch den Inhalt der Auswahlliste1. Aber nur, wenn in der Auswahlliste1 was drin steht.
Gruß,
Dirk Schauries
Team Schauries
Kontostand zum Stichtag, keine neuen Konten
Hallo Team Schauries, in meinem Bericht arbeite ich mit 2 dynamischen Datumsfeldern (1=von, 2=bis), die ich mit boy(date) und eom(date) vorbelegt habe. Alles funktioniert wie gewollt. Nun habe ich in dem Bericht weitere Konten hinzugefügt, diese werden jedoch bei Änderung des Von- oder Bis-Datums nicht aktualisiert, es steht lediglich der aktuelle Saldo drin. Die "alten" Konten werden aktualisiert. Lösche ich die Datumsfelder 1 und 2 und lege sie neu an, werden alle Konten bei einer Datumsänderung berücksichtigt.
Gruss Holger
- Team Schauries
- Site Admin
- Beiträge: 1058
- Registriert: Mo, 17 Jan, 2005 20:25
- Wohnort: Essen
Hallo liebes Team,
ich experimentiere fleißig, komme aber bei folgendem Punkt einfach nicht weiter. Leider hat die Suche im Forum mich auch nicht weitergebracht.
Ich habe ein Bankkonto x
Dieses Kto. hat mehrere Unterkonten
Nun möchte ich im Bericht eine Summe aller Konten haben. Da das Konto im Laufe der Zeit Konten hinzubekommen wird möchte ich nicht alles einzeln listen.
Bis hier hin alles klar.
Dann möchte ich aber den Kontenstand zum Datum x aufrufen.
Mit einem einfachen Konto ohne Unterkonten läuft es.
Geht das?
Vielen Dank für Eure Hilfe
Gruß
Karen
ich experimentiere fleißig, komme aber bei folgendem Punkt einfach nicht weiter. Leider hat die Suche im Forum mich auch nicht weitergebracht.
Ich habe ein Bankkonto x
Dieses Kto. hat mehrere Unterkonten
Nun möchte ich im Bericht eine Summe aller Konten haben. Da das Konto im Laufe der Zeit Konten hinzubekommen wird möchte ich nicht alles einzeln listen.
Bis hier hin alles klar.
Dann möchte ich aber den Kontenstand zum Datum x aufrufen.
Mit einem einfachen Konto ohne Unterkonten läuft es.
Geht das?
Vielen Dank für Eure Hilfe
Gruß
Karen
- Team Schauries
- Site Admin
- Beiträge: 1058
- Registriert: Mo, 17 Jan, 2005 20:25
- Wohnort: Essen
Hallo Karen,
ich meine, es lautet Account(„Meinbankkonto“).TotalBalance(„06.01.2007“).
TotalBalance liefert den Kontostand eines Kontos und die Kontostände aller Unterkonten. Optional kann ein Fixdatum angegeben werden.
Account(„Meinbankkonto“).TotalBalance(Datumsfeld1.Date), wenn das Datum flexibel sein soll.
Weitere Hilfe erhältst Du über F1, Schalter Programmieren, Unterschalter Sprachumfang. Da werden sämtliche EuroKass eigenen Programmierbefehle aufgelistet.
Gruß,
Dirk Schauries
ich meine, es lautet Account(„Meinbankkonto“).TotalBalance(„06.01.2007“).
TotalBalance liefert den Kontostand eines Kontos und die Kontostände aller Unterkonten. Optional kann ein Fixdatum angegeben werden.
Account(„Meinbankkonto“).TotalBalance(Datumsfeld1.Date), wenn das Datum flexibel sein soll.
Weitere Hilfe erhältst Du über F1, Schalter Programmieren, Unterschalter Sprachumfang. Da werden sämtliche EuroKass eigenen Programmierbefehle aufgelistet.
Gruß,
Dirk Schauries
Team Schauries
Hallo Leute,
neben einzelnen Datumsangaben kann man ja auch in einem Bericht einen ganzen Zeitraum (letztes jahr, letzter Monat, ...) angeben. Kann man eigentlich diese Angabe auch über ein Datumsfeld bzw. Auswahlfeld in einen Bericht bzw. die Währungsfelder einbinden?
Ich habe z.B. einen Bericht mit vielen Währungsfeldern, deren Zeitraum sich bei allen auf das letzte Jahr bezieht (in der jeweiligen Währungsfeldfunktion so angegeben). Ich möchte nun mit einem einzigen Wechsel in einem Datumsfeld/Auswahlfeld den zu berechnenden Zeitraum aller Währungsfelder auf vorletztes Jahr umstellen können.
Vielen Dank für eure Hilfe
Ede
neben einzelnen Datumsangaben kann man ja auch in einem Bericht einen ganzen Zeitraum (letztes jahr, letzter Monat, ...) angeben. Kann man eigentlich diese Angabe auch über ein Datumsfeld bzw. Auswahlfeld in einen Bericht bzw. die Währungsfelder einbinden?
Ich habe z.B. einen Bericht mit vielen Währungsfeldern, deren Zeitraum sich bei allen auf das letzte Jahr bezieht (in der jeweiligen Währungsfeldfunktion so angegeben). Ich möchte nun mit einem einzigen Wechsel in einem Datumsfeld/Auswahlfeld den zu berechnenden Zeitraum aller Währungsfelder auf vorletztes Jahr umstellen können.
Vielen Dank für eure Hilfe
Ede
- Team Schauries
- Site Admin
- Beiträge: 1058
- Registriert: Mo, 17 Jan, 2005 20:25
- Wohnort: Essen
Hallo Ede,
wenn ich Dich richtig verstanden habe sollen sich mehrere Währungsfelder auf ein Datumsfeld beziehen und bei Änderung des Datumsfeldes gleich ein ganzer Zeitbereich festgelegt werden.
Das geht leider nicht ohne Programmierung über InterRun und wurde hier schon mehrmals diskutiert.
Gruß,
Dirk Schauries
wenn ich Dich richtig verstanden habe sollen sich mehrere Währungsfelder auf ein Datumsfeld beziehen und bei Änderung des Datumsfeldes gleich ein ganzer Zeitbereich festgelegt werden.
Das geht leider nicht ohne Programmierung über InterRun und wurde hier schon mehrmals diskutiert.
Gruß,
Dirk Schauries
Team Schauries