Announcement

Collapse
No announcement yet.

Rechnenmit Datum

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

  • Rechnenmit Datum

    ich weiss dass schon einiges über dieses thema gelaufen ist aber ich finde trotzdem keine antwort auf mein problem.

    das da wäre:

    ich muss in einer abrechnung die differenz zwischen zwei daten in tagen berechnen (samstage und sonntage werden nicht gezählt). das eine feld steht in der datenbank (ADS) und das zweite kommt aus einer variablen (ursprung ein edit feld). ich habe schon einiges probiert, hat aber alles nicht funktioniert.

    mein bisheriger code:

    EINTRITT := Table_T_HYST.FieldByName('VERTRAGSBEGIN').Value;

    AUSTRITT := Table_T_HYST.FieldByName('VERTRAGSENDE').Value;

    If (EINTRITT <> '') AND (StrToDate(SECO_VON) >= StrToDate(EINTRITT)) Then

    Begin

    // DIF_E := DateToStr(StrToDate(SECO_VON) - StrToDate(EINTRITT));

    DIF_E := DateToStr(StrToDate(EINTRITT) - StrToDate(AUSTRITT));

    End;

    DIF_E ist eine stringvariable
    Rückgabewert ist jetzt ein datum im Jahre 18..

    Wenn ich die umkehrung mache, also einen integerwert zu einem datum dazuzähle erhalte ich ein richtiges ergebnis, warum funktioniert die umkehrung nicht?
    für schnelle hilfe bin ich dankbar.
    hanspeter

  • #2
    Hallo Hans-Peter,
    ich kenne ADS nicht. ABer die meisten Datenbanken haben einen Dateparameter/Function
    Beim MS-SQL-Server ist es DATEDIFF.
    Schaue mal in dem Datenbankmanual rein.
    Ansonsten ist eine "Sauarbeit".
    Mit DecodeDate(Date: TDateTime; var Year, Month, Day: Word) kann man es aber lösen

    Comment


    • #3
      Damit kann man wunderbar "mit Datum" rechnen:<BR>
      http://www.esbconsult.com/esbdates.zip<BR>
      Sigber

      Comment

      Working...
      X