Datum mit Datum von vor x Jahren vergleichen

rtzu

Grünschnabel
Guten Tag!

Ich möchte in VB 6.0 das aktuelle Datum mit einem Datum, das ich aus einer Datenbank lese, vergleichen und wissen ob es älter als x Jahre ist.
Leider bin ich selbst nur soweit gekommen, ein Datum mit einem Anderen zu vergleichen und festzustellen ob es älter ist, und zwar so:
Code:
If CDate(stringDatum) < Date Then ...

Bitte um Hilfe
-Chris
 
Hi...

ich denke das das deine Frage klärt...

Visual Basic:
Private Sub cmdCHKDATE_Click()
    Dim ChkDate As Date     'Zu prüfendes Datum
    Dim lYears As Long      'Anzahl der Jahre zurück
    Dim sTemp As String     'Temporär zur Auswertung in der MsgBox
    
    ChkDate = CDate(Text1.Text) 'Zu prüfendes Datum
    lYears = 3                  '3 Jahre zurück...
    
    'Diese Zeilen dienen zur Auswertung für die MsgBox...
    sTemp = "Jahr jetzt: " & Year(Date) & vbCr & _
            "Jahr angegeben: " & Year(ChkDate) & vbCr & _
            "Anzahl d. Jahre zurück: " & lYears & vbCr & vbCr & _
            "Unterschied der Jahre: Jetzt - Angabe = " & Year(Date) - Year(ChkDate) & vbCr

    'Diese Zeilen sollten sich selbst erklären...
    If Year(ChkDate) <= Year(Date) - lYears Then
        If Year(ChkDate) = Year(Date) - lYears Then
            MsgBox sTemp & "Das angegebene Datum ist genau " & lYears & " Jahr(e) vergangen!"
        Else
            MsgBox sTemp & "Das angegebene Datum ist mehr als " & lYears & " Jahr(e) vergangen!"
        End If
    ElseIf Year(ChkDate) >= Year(Date) Then
        MsgBox sTemp & "Das angegebene Datum ist gleich oder neuer als das aktuelle!"
    Else
        MsgBox sTemp & "Das angegebene Datum ist weniger als " & lYears & " Jahr(e) vergangen!"
    End If
End Sub

lg Tody
 
Danke für die Antwort.
Habs im Endeffekt so gelöst:
Visual Basic:
Public Function compDate(Datum as Date, Jahre as Integer) as Boolean
	Dim jahr1, tage1, datum1 as String
	jahr1 = Mid(CStr(Date), 7, 4) - Jahre
	tage1 = MId(CStr(Date), 1, 6)
	datum1 = CDate(tage1 & jahr1)
	If Datum < datum1 Then
		compDate = True
	Else
		compDate = False
	End If
End Function

Die Funktion zerlegt das aktuelle Datum in Jahr und Tag+Monat, zieht dann vom Jahr die angegebenen Jahre ab und verwandelt das Ganze wieder in ein Datum, das nun mit dem übergebenen Datum verglichen wird.
 
Es gibt in Vb die Funktion Datediff damit bekommt man das eigentlich in einem Einzeiler hin.

Grösser 0 = erstes Datum ist grösser , kleiner 0 = zweites Datum ist grösser und =0 beide sind gleich.

Aber wenn ihr lieber mit mid und strings arbeitet. Gerne ;-)


Grüsse bb
 

Neue Beiträge

Zurück