Announcement

Collapse
No announcement yet.

Quartal berechnen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Quartal berechnen

    Hallo zusammen,

    ich möchte es in meiner Anwendung dem Nutzer ermöglichen, Umsätze des vergangenen Quartals in einem Diagramm anzusehen.
    Ich verwende MSAccess2000 und verwende den Access eigenen Befehl <PRE>
    DatePart('q';[RechDat] = Quartal von 1 bis 4
    </PRE>
    Um den Parameter anzugeben, welches Quartal die Abfrage ausgeben soll, müsste ich baer wissen, in welchem Quartal wir uns derzeit befinden. Mit Tag, Monat und Jahr würde das ja schön mit DecodeDate etc. funktionieren, aber mit dem Quartal...
    Wenn jemand weiss, wie man das machen kann, wäre ich für einen Tipp sehr dankbar.

    Viele Grüsse
    Uwe

  • #2
    Mit DecodeDate bekommt Du doch den Monat und daraus das Quartal oder sehe ich das falsch

    Comment


    • #3
      Hallo Andreas,

      jo! Habe ich inzwischen mit folgender funktion gelöst:
      <PRE>
      function TfmStatistik.GetQuartal : SmallInt;
      var
      Present : TDateTime;
      Year, Month, Day : Word;
      AktMonth : Integer;
      begin
      Present:= Now;
      DecodeDate(Present, Year, Month, Day);
      AktMonth := Month;
      if (AktMonth > 0) and (AktMonth < 4) then
      Result := 1;
      if (AktMonth > 3) and (AktMonth < 7) then
      Result := 2;
      if (AktMonth > 6) and (AktMonth < 10) then
      Result := 3;
      if (AktMonth > 9) and (AktMonth < 13) then
      Result := 4;
      end;
      </PRE>
      Jetzt stellt sich das Problem, des vergangenen Quartals. Gesetzt dass die jetzige Situation eintrifft 1. Quartal. 2002 und der User möchte gerne die vergangenen Quartalszahlen sehen. In der Combobox kann man (ähnlich wie bei MS Money) verschiedene Auswahlen, wie letzten 12 Monate, letzter Monat und eben letztes Quartal wählen.

      Nur habe ich noch keine Möglichkeit gefunden, auf das Quartal des vergangenen Jahres zuzugreifen. Da das Progi (hoffentlich) länger wie ein Jahr eingesetzt werden soll, kann ich ja das Jahr nicht fest codieren und Filter setzen verhagelt die Performance, weil die Datenbestände ziemlich groß werden.

      Gruß<BR>
      Uw

      Comment


      • #4
        Hi,
        <br>
        <br>zeige doch die Quartale mit der Jahreszahl an 1/2002 oder laß zuerst das Jahr und dann das Quartal auswhälen und filtere dann über Year(Rechdat) + DatePart('q';[RechDat] = Quartal von 1 bis 4
        <br>
        <br>mfg
        <br>P

        Comment


        • #5
          Hi Uwe,

          warum berechnest du das Quartal nicht einfach:
          Result := Trunc((Month - 1) / 3) + 1; sollte doch etwas kompakter sein als die vier If..then Abfragen;

          Gruß Fal
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment

          Working...
          X