Skip to main content

AccessTr.neT


Diff2dates Sorusu

Diff2dates Sorusu

Çözüldü #10
Onun için ekteki örneği kullanabilirsiniz.

Kod:
Public Function YilAyGunFarki(Interval As String, Date1 As Date, Date2 As Date) As Integer
'Diff2Dates fonksiyonundan cevrilerek yazilmistir.
'
'Bu fonksiyon 2 tarih arasındaki Yıl,Ay veya gün farklarını hesaplar.
'
'1.Parametrede Gün için "g", Ay için "a", Yıl için "y" belirtilerek hangi dönemin farkının istendiği belirtilmelidir.
'2. ve 3. Parametrelerde tarihler belirtilir
'
'? YilAyGunFarki("g", #10/09/1971#, #29/09/2008#) = 19
'? YilAyGunFarki("a", #10/09/1971#, #29/09/2008#) = 9
'? YilAyGunFarki("y", #10/09/1971#, #29/09/2008#) = 36

On Error GoTo Hata_YilAyGunFarki
    Dim dtTemp As Date
    Dim lngDiffYears As Long
    Dim lngDiffMonths As Long
    Dim lngDiffDays As Long

'Parametrelerin dogrulugu kontrol ediliyor
    If Not (Interval = "g" Or Interval = "a" Or Interval = "y") Then Exit Function
    If Not (IsDate(Date1)) Then Exit Function
    If Not (IsDate(Date2)) Then Exit Function

'Tarih1 Tarih2 den küçükse yerleri değiştiriliyor
    If Date1 > Date2 Then
       dtTemp = Date1
       Date1 = Date2
       Date2 = dtTemp
    End If

'Yıl, Ay ve Gün farkları bulunuyor
    YilAyGunFarki = 0
    
    lngDiffYears = Abs(DateDiff("yyyy", Date1, Date2)) - IIf(Format$(Date1, "mmdd") <= Format$(Date2, "mmdd"), 0, 1)
    Date1 = DateAdd("yyyy", lngDiffYears, Date1)
    
    lngDiffMonths = Abs(DateDiff("m", Date1, Date2)) - IIf(Format$(Date1, "dd") <= Format$(Date2, "dd"), 0, 1)
    Date1 = DateAdd("m", lngDiffMonths, Date1)
    
    lngDiffDays = Abs(DateDiff("d", Date1, Date2))
    Date1 = DateAdd("d", lngDiffDays, Date1)

'Parametreye istenen göre sonuç gönderiliyor
    Select Case Interval
    Case "y"
        YilAyGunFarki = lngDiffYears
    Case "a"
        YilAyGunFarki = lngDiffMonths
    Case "g"
        YilAyGunFarki = lngDiffDays
    End Select
    
Sonu_Hata_YilAyGunFarki:
   Exit Function

Hata_YilAyGunFarki:
   Resume Sonu_Hata_YilAyGunFarki

End Function

.rar FarkHesabi.rar (Dosya Boyutu: 17,08 KB | İndirme Sayısı: 22)
Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Diff2dates Sorusu - Yazar: KCMZ - 14/02/2009, 01:48
Cvp: Diff2datessorusu - Yazar: ozanakkaya - 14/02/2009, 02:51
Cvp: Diff2dates Sorusu - Yazar: KCMZ - 14/02/2009, 11:13
Cvp: Diff2dates Sorusu - Yazar: mehmetdemiral - 14/02/2009, 11:59
Cvp: Diff2dates Sorusu - Yazar: KCMZ - 14/02/2009, 12:26
Cvp: Diff2dates Sorusu - Yazar: mehmetdemiral - 14/02/2009, 12:54
Cvp: Diff2dates Sorusu - Yazar: KCMZ - 14/02/2009, 13:02
Cvp: Diff2dates Sorusu - Yazar: mehmetdemiral - 14/02/2009, 13:05
Cvp: Diff2dates Sorusu - Yazar: EROLAKSAKAL - 25/08/2009, 15:28
Cvp: Diff2dates Sorusu - Yazar: Seruz - 25/08/2009, 16:27
Cvp: Diff2dates Sorusu - Yazar: EROLAKSAKAL - 25/08/2009, 17:46
Cvp: Diff2dates Sorusu - Yazar: Seruz - 25/08/2009, 18:03
Cvp: Diff2dates Sorusu - Yazar: benremix - 25/08/2009, 18:16
Cvp: Diff2dates Sorusu - Yazar: EROLAKSAKAL - 25/08/2009, 18:41