[gelöst] Datumsbereich nur Eingabe KW...

15. Januar 2009 10:05

Guten Morgen @ all,

Ich habe in Forum gesucht, aber leider nichts passendes gefunden,
Zwar jemd. mit dem gleichen Problem, aber mit unzureichender Lösung....

Ich habe 3 Variabelen

Datum 1
Datum 2
Eingabe KW

Was ja recht einfach ist, sich in eins der Date Felder zu stellen und 'mo12' einzugeben, dass Datum1 = Mo13KW und Datum2 = So13KW ist...
Soweit ganz einfach.
Habe mir auch über DATE2DWY(Datum1,2) den Rücgabewert '13' geholt und in Eingabe KW geschrieben.

Was ich nun möchte ist, den Rückgabewert von DATE2DWY eingeben ( also nur '13') und die Daten errechnen lassen.

Geht das irgendwie?

Gruß Matthias
Zuletzt geändert von himi81 am 30. Januar 2009 13:19, insgesamt 1-mal geändert.

Re: Datumsbereich nur Eingabe KW...

15. Januar 2009 10:19

Schau dir doch mal die virtuelle Tabelle Date an. Da kannst du auf den Periodentyp, dessen Anfang und Ende sowie dessen Nummer filtern. Also bei dir Woche,Start >=2612 des Vorjahres, und die entsprechende KW.

Re: Datumsbereich nur Eingabe KW...

15. Januar 2009 10:49

Ähm...
Vituelle Tabelle Date?
Wo find ich die denn?
Sorry bin noch nicht so bewandert..

Re: Datumsbereich nur Eingabe KW...

15. Januar 2009 10:53

himi81 hat geschrieben:Ähm...
Vituelle Tabelle Date?
Wo find ich die denn?
Sorry bin noch nicht so bewandert..

Object Designer -> Form -> New (mit Wizard, Tabular Form) -> Tabelle Date -> Alle Felder einfügen -> Preview

Re: Datumsbereich nur Eingabe KW...

15. Januar 2009 12:02

Ok, ich habs...
Aber ganz schön aufwenig, für so eine Kleinigkeit...

[code]

Vorgabe_Jahr:= DATE2DWY(TODAY,3);

Datumstab.SETRANGE(Datumstab."Period Type",Datumstab."Period Type":: Woche);
Datumstab.SETFILTER(Datumstab."Period Start",'01.01.'+FORMAT(Vorgabe_Jahr)+'..');
Datumstab.SETFILTER(Datumstab."Period No.",KW_Filter);

Datumstab.FINDFIRST;
Datum1:=Datumstab."Period Start";
Datum2:= CALCDATE('<+7D>',Datum1);

[code]

Das geht doch bestimmt auch ienfacher?

Gruß Matthias

Re: Datumsbereich nur Eingabe KW...

15. Januar 2009 12:06

himi81 hat geschrieben:Das geht doch bestimmt auch ienfacher?


Wenn du´s raus hast, sag bescheid :wink:

Das zweite Datum brauchst du nicht zu berechnen, denn das ist das Periodenende. Und denk dran, dass die erste KW eines Jahres bis zum 26.12. des Vorjahres beginnen kann (dieses Jahr war´s zB der 29.12.).

Re: Datumsbereich nur Eingabe KW...

15. Januar 2009 12:13

McClane hat geschrieben:
himi81 hat geschrieben:Das geht doch bestimmt auch ienfacher?


Und denk dran, dass die erste KW eines Jahres bis zum 26.12. des Vorjahres beginnen kann (dieses Jahr war´s zB der 29.12.).


Deshalb das CALCDATE ... Wenn ich in mein Tool nun '53' für 53KW eingebe

bekomme ich 28.12...04.01.10
Ich denke das der Filter dann funktioniert?
Oder seh ich das Problem als zu einfach an?

Re: Datumsbereich nur Eingabe KW...

15. Januar 2009 12:37

Mag ja sein, dass ich mich gerade mit den KW irre, aber den Periodenstart müsste man auf 26.12. des Vorjahres bis 25.12. des aktuellen Jahres filtern, dann müssten eigentlich immer 52 KW dabei raus kommen.

Edit: also so kommt´s nicht hin. Die erste KW eines Jahres ist die, in der der vierte Januar liegt. Je nachdem, was das für ein Wochentag ist, Schaltjahr oder nicht kann´s also auch durchaus mal 53KW in einem Jahr geben.

Berechnungen zu KW kannst du dir aber massenweise zusammen googlen.

Re: Datumsbereich nur Eingabe KW...

15. Januar 2009 13:22

McClane hat geschrieben:Und denk dran, dass die erste KW eines Jahres bis zum 26.12. des Vorjahres beginnen kann (dieses Jahr war´s zB der 29.12.).

Nicht ganz richtig:
Die erste 4-Tage-Woche erhält die KW1, das heißt, die KW1 kann maximal bis zum 29.12. des Vorjahres gehen.
Dieses Jahr haben wir so einen Fall, dass die erste Woche genau 4 Tage (also die Mehrheit der Wochentage) hat.
Hätte das neue Jahr auf einem Freitag angefangen, dann wäre es noch die 53.KW.