Laden...

Wochennummer in Crystal Rport

Erstellt von ..Heinz.. vor 14 Jahren Letzter Beitrag vor 14 Jahren 7.683 Views
.
..Heinz.. Themenstarter:in
134 Beiträge seit 2009
vor 14 Jahren
Wochennummer in Crystal Rport

Hi 😃

ich sitze gerade vor einem CrystalReport, indem Datumsfelder sind.

Nun würde ich diese gerne formatieren. Uns zwar wie folgt:

Ist-Zustand: 1.1.2009 (Datum)
Soll-Zusstand: 1.2009 (Wochennummer)

Ist-Zusatzand: 6.5.2009 (Datum)
Soll-Zustand: 19.2009 (Wochennummer)

Nun meine Frage: Wer hat sowas schonmal gemacht bzw. wo kann man es nachlesen? Habe bei meinen Suchen noch nichts wirklich gutes gefunden.

C
116 Beiträge seit 2004
vor 14 Jahren

Probier mal als Formel folgendes:

Format(DeinDatum, "WW.yyyy")

Das funktioniert so zummindest in dem ReportDesigner von Visual Studio 2008 😃

M
53 Beiträge seit 2006
vor 14 Jahren

Hi,
nein.... so einfach ist es in Deutschland nicht! :-> Dafür gibt es sogar ne DIN - Norm. In CRW ist das "nur" die rechnerische Wochennummer. Richtig wäre es die Woche als Formel ermitteln zu lassen :


Local DateTimevar Datum := {Datum.Datum};
//der obigen Variable "Datum" kann dann das jeweils benötigte Datum zugewiesen
werden
Local Datevar t;
Local NumberVar KW;
//Berechnen der Kalenderwoche
t := DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1);
KW := ((Datum - t - 3 + (Weekday(t) + 1) Mod 7)) \ 7 + 1;
//Aufbereiten für des Ergebnisses zur Ausgabe
if KW = 1 and Month(Datum) = 12 then
CStr(KW,"00") + "/" + CStr(Year(Datum) + 1,"0000")
else
if KW > 50 and month(Datum) = 1 then
CStr(KW,"00") + "/" + CStr(Year(Datum) - 1,"0000")
else
CStr(KW,"00") + "/" + CStr(Year(Datum),"0000");

Siehe dazu http://www.macon-gmbh.de/download/Tipps_CR_Allgemein.pdf

Gruss
Markus

C
116 Beiträge seit 2004
vor 14 Jahren

Oh, gut zu wissen, danke 😃

.
..Heinz.. Themenstarter:in
134 Beiträge seit 2009
vor 14 Jahren

Danke für eure schnellen Antworten 😃

@Counterfeit: So habe ich bisher auch immer meine Daten formatiert (in VB, C# usw.), dass es extra eine DIN dafür gibt, war mir auch nicht bekannt.

@macmark: Wo genau muss ich diese dann einfügen? Ich habe das Datum in einem Gruppennamen stehen. Wo kommt die Formel hin, wie wird sie aufgerufen? Das ist mein erster CR, habe bisher nur Erfahrung mit Berichten in Access, das dafür ziemlich gut, da CR um einiges bequemer ist, wie ich schon gelesen habe, wollte ich das jetzt mal testen und dies ist mein erstes Problem, wo ich nicht mehr weiter weiß 😃 Also, schonmal vielen vielen Dank für deine Mühe.

Edit: den Link habe ich vollkommen übersehen g. Denke, dass ich es jetzt hinbekomme. Vielen Dank euch beiden. War etwas voreilig, Wo und wie ich die Funktion platzier und aufrufe steht leider doch nicht drin.

M
53 Beiträge seit 2006
vor 14 Jahren

Hallo Heinz,
wie du Funktionen erstellst in CR weißt du???
Holst du das Datum aus einem DB Feld??

Das Feld kannst du einfach aus dem Feld-Explorer in deine Funktion holen.
Und deine fertige Funktion kannst du als Gruppenwert auswählen.

Ansonsten gibt es mittlerweile ein ziemliches cooles Buch für CRW Einsteiger: "Crystal Reports für Dummies" -> http://www.amazon.de/Crystal-Reports-f%C3%BCr-Dummies-Kristallkugel/dp/3527704825/ref=sr_1_1?ie=UTF8&s=books&qid=1245145914&sr=8-1 und danach dann http://www.amazon.de/Crystal-Reports-2008-George-Peck/dp/3826659643/ref=pd_cp_eb_1

Kann ich jedem empfehlen und hätte ich damals am besten als Referent jedem in die Hand gedrückt.

Gruss
Markus

PS: Noch was: Eine Funktion muss nicht zwingend im Bericht plaziert sein um diese benutzen zu können. Einfach anlegen und dann kann man Sie "fast" beliebig nutzen. Nur Vorsicht wenn man selbst den Ausführungszeitpunkt bestimmt.

.
..Heinz.. Themenstarter:in
134 Beiträge seit 2009
vor 14 Jahren

Habs jetzt hinbekommen 😃
Habe das Feld in die Formel gezogen und dabei gabs ne fehlermeldung, dass es kein Datum sei. Haber ein CDate() um den Feldnamen gesetzt und jetzt gehts.

Vielen Dank nochmal. Funktioniert ohen Beanstandungen; Kalendewoche wird korrekt angezeigt. 😃

Das Buch ist schon so gut wie bestellt.

Ein Frage hätte ich noch. Wenn ich die Funktion nicht in den Bericht einfügen will, wie geht das denn sonst? kann ich mir z.b. nen eigenes Modul bauen, in das ich alle CR-Funktionen einbette und so einen zetralen Punkt zur Verwaltung bauen kann?

M
53 Beiträge seit 2006
vor 14 Jahren

Hallo Heinz,
schön das es geklappt hat.
Mit der Funktion meinte ich das diese nicht zwingend auf das Berichtslayout gezogen werden muss.
Eine Art global anlegbare Funktionen gibt es, hab ich aber noch nie benutzt/ausprobiert das ich die meisten Sachen außerhalb von CRW löse.
Gruss
Markus