Datumsfunktionen
Datumsfunktionen
Hallo
ich bin ganz neu hier und versuche zum 2. Mal den Einstieg in EuroKass. Bislang habe ich meine Finanzen immer mit Access und Excel (Budgetverwaltung) organisiert.
Aber der Anfang ist schon nicht einfach. Ich möchte gerne in einem Bericht über ein Datumsfeld was nur den Monat und das Jahr beschreibt eine entsprechende Ansicht der Daten bekommen.
Z.B. Stelle ich in dem Feld ein November 2007 und möchte nun alle Einnahmen und Ausgaben von diesem Monat sehen. Weiterhin möchte ich mich später auch mal durch die Monate klicken.
Kann mir jemand sagen wie ich das hinbekomme?
Vielen Dank im vorraus.
Matthias
ich bin ganz neu hier und versuche zum 2. Mal den Einstieg in EuroKass. Bislang habe ich meine Finanzen immer mit Access und Excel (Budgetverwaltung) organisiert.
Aber der Anfang ist schon nicht einfach. Ich möchte gerne in einem Bericht über ein Datumsfeld was nur den Monat und das Jahr beschreibt eine entsprechende Ansicht der Daten bekommen.
Z.B. Stelle ich in dem Feld ein November 2007 und möchte nun alle Einnahmen und Ausgaben von diesem Monat sehen. Weiterhin möchte ich mich später auch mal durch die Monate klicken.
Kann mir jemand sagen wie ich das hinbekomme?
Vielen Dank im vorraus.
Matthias
- Team Schauries
- Site Admin
- Beiträge: 1058
- Registriert: Mo, 17 Jan, 2005 20:25
- Wohnort: Essen
-
- Profi
- Beiträge: 105
- Registriert: Sa, 10 Feb, 2007 19:31
Hallo Matthias,
so kurz auf die Schnelle kann ich dir keinen Quellcode liefern. Aber ich versuche mal einen möglichen Weg zu skizzieren.
Variante 1: Kalendercontrol
Variante 2: Auswahlbox mit allen Monaten
Soweit ich mich erinnere, gibt es eine Funktion, die dir den aktuellen Monat aus einem Datum zurück liefert. In Variante 2 hast du den aktuellen Monat schon direkt. Siehe dazu in der Interrun-Hilfe die Funktionen BoM (Date : String), EoM (Date : String). Damit kannst du dir den Start- und Endtag des Monats berechnen. Mit AccountSum(AccountName,BeginDate,EndDate) kannst du dir die Summen für die einzelnen Konten berechnen lassen.
Die Variante hat leider den Nachteil, dass du deinen Bericht mit jeder Änderung der Kontenanzahl bzw. -benennung anpassen musst.
Ich habe mir einfach zwei Statistiken - je eine für Einnahmen und Ausgaben - zusammen geklickt, wobei du dafür die passende Kontostruktur brauchst.
Gruß
Christian
so kurz auf die Schnelle kann ich dir keinen Quellcode liefern. Aber ich versuche mal einen möglichen Weg zu skizzieren.
Variante 1: Kalendercontrol
Variante 2: Auswahlbox mit allen Monaten
Soweit ich mich erinnere, gibt es eine Funktion, die dir den aktuellen Monat aus einem Datum zurück liefert. In Variante 2 hast du den aktuellen Monat schon direkt. Siehe dazu in der Interrun-Hilfe die Funktionen BoM (Date : String), EoM (Date : String). Damit kannst du dir den Start- und Endtag des Monats berechnen. Mit AccountSum(AccountName,BeginDate,EndDate) kannst du dir die Summen für die einzelnen Konten berechnen lassen.
Die Variante hat leider den Nachteil, dass du deinen Bericht mit jeder Änderung der Kontenanzahl bzw. -benennung anpassen musst.
Ich habe mir einfach zwei Statistiken - je eine für Einnahmen und Ausgaben - zusammen geklickt, wobei du dafür die passende Kontostruktur brauchst.
Gruß
Christian
Hallo...
Ich habe mal ne Frage. Ich wollte etwas mit den Datumsfunktionen experimentieren aber ich weiss nicht was String bzw. Integer bedeutet.
Ich dachte mir folgendes.
Datumsfeld1 gibt mir den Anfang des aktuellen Monats. Ein zweites Feld addiert einen Monat hinzu. Ein drittes Feld zieht einen Tag ab.
Dadurch sollte ich das Enddatum des Monats bekommen. Im Datumsfeld1 kann ich weiterhin den Monat ändern und bekomme immer in Feld 3 das Enddatum des Monats was ich für Berichte verwenden kann. Bei jeder Änderung lasse ich meine Werte aktualisieren.
Kann mir jemand sagen wie ich Monate addiere?
Gruß Matthias
Ich dachte mir folgendes.
Datumsfeld1 gibt mir den Anfang des aktuellen Monats. Ein zweites Feld addiert einen Monat hinzu. Ein drittes Feld zieht einen Tag ab.
Dadurch sollte ich das Enddatum des Monats bekommen. Im Datumsfeld1 kann ich weiterhin den Monat ändern und bekomme immer in Feld 3 das Enddatum des Monats was ich für Berichte verwenden kann. Bei jeder Änderung lasse ich meine Werte aktualisieren.
Kann mir jemand sagen wie ich Monate addiere?
Gruß Matthias
- Team Schauries
- Site Admin
- Beiträge: 1058
- Registriert: Mo, 17 Jan, 2005 20:25
- Wohnort: Essen
Hallo Matthias,
die Funktionen, die Du suchst lauten
BoM und EoM.
Um ein Zeitfenster von einem Monat über eine Komponente an eine EuroKass-Funktion weiterzugeben schreibst Du einfach:
Funktion( BoM(Datumsfeld1.Date), EoM(Datumsfeld1.Date) )
BoM errechnet den Monatsanfang und EoM das Monatsende.
Zum Addieren von Monaten verwende die Funktion AddMonth (s. www.interrun.de)
Viel Erfolg,
Dirk Schauries
die Funktionen, die Du suchst lauten
BoM und EoM.
Um ein Zeitfenster von einem Monat über eine Komponente an eine EuroKass-Funktion weiterzugeben schreibst Du einfach:
Funktion( BoM(Datumsfeld1.Date), EoM(Datumsfeld1.Date) )
BoM errechnet den Monatsanfang und EoM das Monatsende.
Zum Addieren von Monaten verwende die Funktion AddMonth (s. www.interrun.de)
Viel Erfolg,
Dirk Schauries
Team Schauries
Hallo...
danke für die Antwort. Aber um einen Filter auszuwerten brauche ich doch 2 felder mit entsprechenden datum oder?
Ich weiß leider immernoch nicht was ein String ist.
Kann mir jemand den Befehl schreiben um ein Datum in Datumsfeld1 einen Monat zu addieren.
Ich komme mit AddMonth (Date : String; Months: Interger) einfach nicht klar. Ich weiss nicht für was , was steht.
Bitte um hilfe...
Danke
danke für die Antwort. Aber um einen Filter auszuwerten brauche ich doch 2 felder mit entsprechenden datum oder?
Ich weiß leider immernoch nicht was ein String ist.
Kann mir jemand den Befehl schreiben um ein Datum in Datumsfeld1 einen Monat zu addieren.
Ich komme mit AddMonth (Date : String; Months: Interger) einfach nicht klar. Ich weiss nicht für was , was steht.
Bitte um hilfe...
Danke
-
- Profi
- Beiträge: 105
- Registriert: Sa, 10 Feb, 2007 19:31
Hallo Matthias,
String steht abstrakt für eine beliebige Zeichenketten. Also alles, was du mit Buchstaben und Zahlen schreiben kannst. Integer steht abstrakt für eine beliebige Ganzzahl, wie zum Beispiel "2007".
AddMonth( Date : String; Months : Integer ) ist wie folgt zu lesen. Der erste geforderte Parameter muss ein Text sein, mit dem (engl.) Hinweis "Datum". Der zweite geforderte Parameter muss eine Zahl sein, mit dem (engl.) Hinweis "Monat". Kombiert lässt sich schlussfolgern, dass die Funktion auf ein Datum "Month" Monate addiert.
Die Funktion AddMonth kannst du also wie folgt aufrufen: AddMonth( "01.04.2007", 2 ) dies addiert zwei Monate auf den 1.April 2007. Da du nicht immer den "01.04.2007" verwenden möchtest, solltest du eine Variable verwenden, die du beispielsweise mit dem gewählten Datum aus dem Datumcontrol fütterst.
Wenn nun der Nutzer per Datumsfeld1 den "20.02.2007" ausgewählt hat, kannst du per Datumsfeld1.Date darauf zugreifen und liefert dir "20.02.2007" zurück. BoM( Datumsfeld.Date ) nimmt sich den "20.02.2007" und liefert "01.02.2007" zurück.
-> AddMonth( BoM(Datumsfeld.Date), 1 ) würde dir den "01.03.2007" zurückliefern.
Ich hoffe, dass war verständlich. Sonst melde dich einfach wieder.
Gruß
Christian
String steht abstrakt für eine beliebige Zeichenketten. Also alles, was du mit Buchstaben und Zahlen schreiben kannst. Integer steht abstrakt für eine beliebige Ganzzahl, wie zum Beispiel "2007".
AddMonth( Date : String; Months : Integer ) ist wie folgt zu lesen. Der erste geforderte Parameter muss ein Text sein, mit dem (engl.) Hinweis "Datum". Der zweite geforderte Parameter muss eine Zahl sein, mit dem (engl.) Hinweis "Monat". Kombiert lässt sich schlussfolgern, dass die Funktion auf ein Datum "Month" Monate addiert.
Die Funktion AddMonth kannst du also wie folgt aufrufen: AddMonth( "01.04.2007", 2 ) dies addiert zwei Monate auf den 1.April 2007. Da du nicht immer den "01.04.2007" verwenden möchtest, solltest du eine Variable verwenden, die du beispielsweise mit dem gewählten Datum aus dem Datumcontrol fütterst.
Das hatte Dirk unten angesprochen. Siehe:Aber um einen Filter auszuwerten brauche ich doch 2 felder mit entsprechenden datum oder?
Also mit Datumsfeld1.Date bekommst du das aktuell vom Nutzer ausgewählte Datum. BoM(..) steht für BeginOfMonth und berechnet dir den Monatsanfang eines Datums. EoM(..) steht für EndOfMonth und berechnet dir den letzten Tag eines Monats.Funktion( BoM(Datumsfeld1.Date), EoM(Datumsfeld1.Date) )
Wenn nun der Nutzer per Datumsfeld1 den "20.02.2007" ausgewählt hat, kannst du per Datumsfeld1.Date darauf zugreifen und liefert dir "20.02.2007" zurück. BoM( Datumsfeld.Date ) nimmt sich den "20.02.2007" und liefert "01.02.2007" zurück.
-> AddMonth( BoM(Datumsfeld.Date), 1 ) würde dir den "01.03.2007" zurückliefern.
Ich hoffe, dass war verständlich. Sonst melde dich einfach wieder.
Gruß
Christian
Hallo
danke für die Hilfe... Ich habe nun mit der Funktion BoM und EoM gearbeitet, das ganze Verschachtelt (so wie von Dirk geschrieben) und nun kann ich mich durch die Monate klicken. Des war mein Anliegen.
Nun habe ich aber nochwas.
Ich habe ein Feld 1 . In diesem mache ich eine Änderung. Z.B. ändere ich das Datum. Nun soll sich Feld 2 aktualisieren. Wie "sage" ich das dem Feld?
Ich meine im Feld 1 , Ereignis -> bei Änderung ... aber wie heisst der Befehl für aktualisieren von Feld 2?
Danke für die Hilfe....
Nun habe ich aber nochwas.
Ich habe ein Feld 1 . In diesem mache ich eine Änderung. Z.B. ändere ich das Datum. Nun soll sich Feld 2 aktualisieren. Wie "sage" ich das dem Feld?
Ich meine im Feld 1 , Ereignis -> bei Änderung ... aber wie heisst der Befehl für aktualisieren von Feld 2?
Danke für die Hilfe....
- Team Schauries
- Site Admin
- Beiträge: 1058
- Registriert: Mo, 17 Jan, 2005 20:25
- Wohnort: Essen
Hallo Matze,
in dem Du die Standardeigenschaft des jeweiligen Eingabefeldes änderst.
Bei einem Textfeld wäre das die Eigenschaft „Text“ und bei einem Datumsfeld die Eigenschaft „Date“.
Schreibe also im Ereignis „OnChange“ (oder in Deutsch „Beim Ändern“) des Feldes 1:
Textfeld2.Text = „Meine Änderung“
Oder
Datumsfeld2.Date = AddDate(Datumsfeld1.Date,30)
Gruß,
Dirk Schauries
in dem Du die Standardeigenschaft des jeweiligen Eingabefeldes änderst.
Bei einem Textfeld wäre das die Eigenschaft „Text“ und bei einem Datumsfeld die Eigenschaft „Date“.
Schreibe also im Ereignis „OnChange“ (oder in Deutsch „Beim Ändern“) des Feldes 1:
Textfeld2.Text = „Meine Änderung“
Oder
Datumsfeld2.Date = AddDate(Datumsfeld1.Date,30)
Gruß,
Dirk Schauries
Team Schauries