İki Tarih Farkını "YIL-AY-GÜN" Veren Fonksiyon (DateDiff_ze_bb)
#19
dsezgin83260 HOCAM toplama işlemini hallettim fakat farktopla kısmında 15 yıl 6 ay 85 gün gibi yazıyor yani gün sayısı 30 u aşınca aya artı 1 ay ilave etmiyor normal mi bu normal ise sebebi nedir onu anlayamadım.



  Alıntı
Bu mesajı beğenenler:
#20
(15-03-2017, 10:42)halilibo05 demiş ki: farktopla kısmında 15 yıl 6 ay 85 gün gibi yazıyor yani gün sayısı 30 u aşınca aya artı 1 ay ilave etmiyor normal mi bu normal ise sebebi nedir onu anlayamadım.
Function farktopla(a As Variant, b As Variant, c As Variant, d As Variant, e As Variant, f As Variant) As Variant
...
...
gun = LTrim(Str(osma))

If gun > 30 Then gun = gun Mod 30: ay = ay + 1
If ay > 12 Then ay = ay Mod 12: yil = yil + 1


farktopla = yil & " Yil " & ay & " Ay " & gun & " Gün"

End Function

Prosedurune koyu olan yeri ekleyin.



  Alıntı
Bu mesajı beğenenler:
#21
Arkadaşlar bir sorum olacak şimdi taruz hocamın yaptığı farktoplamını verme bölümünü biraz çoğalttım 6 farklı tarihin arasındaki farkı alıp toplamını Yıl Ay Gün şeklinde veriyor. Taruz ve dsezgin83260 hocam sağolsunlar şimdi son bir şey kaldı bu fonksiyon üzerinden aynı işlemi sadece gün sayısını aldırabilir miyim bunun için aşağıdaki fonksiyon kodlarını nasıl düzenlemem gerekecek yardımlarınızı bekliyorum.




Function farktopla(a As Variant, b As Variant, c As Variant, d As Variant, e As Variant, f As Variant, g As Variant, h As Variant, ı As Variant, i As Variant, j As Variant, k As Variant) As Variant
Dim trza As Integer
Dim osma As Integer
Dim ay As String
Dim gun As String
Dim yil As String
trza = (DateDiff("m", a, b) + (Day(b) < Day(a))) + (DateDiff("m", c, d) + (Day(d) < Day©)) + (DateDiff("m", e, f) + (Day(f) < Day(e))) + (DateDiff("m", g, h) + (Day(h) < Day(g))) + (DateDiff("m", ı, i) + (Day(i) < Day(ı))) + (DateDiff("m", j, k) + (Day(k) < Day(j)))
If Day(b) < Day(a) Or Day(d) < Day© Or Day(f) < Day(e) Or Day(h) < Day(g) Or Day(i) < Day(ı) Or Day(k) < Day(j) Then
osma = ((DateDiff("d", a, DateSerial(Year(a), Month(a) + 1, 0)) + (DateDiff("d", c, DateSerial(Year©, Month© + 1, 0)) + (DateDiff("d", e, DateSerial(Year(e), Month(e) + 1, 0)) + (DateDiff("d", g, DateSerial(Year(g), Month(g) + 1, 0)) + (DateDiff("d", ı, DateSerial(Year(ı), Month(ı) + 1, 0)) + (DateDiff("d", j, DateSerial(Year(j), Month(j) + 1, 0))) + (Day(b)) + Day(d)) + Day(f)) + Day(h)) + Day(i)) + Day(k)))
Else
osma = ((Day(b) + Day(d) + Day(f) + Day(h) + Day(i) + Day(k)) - (Day(a) + Day© + Day(e) + Day(g) + Day(ı) + Day(j)))
End If
yil = LTrim(Str(trza \ 12))
ay = LTrim(Str(trza Mod 12))
gun = LTrim(Str(osma))
If gun > 30 Then gun = gun Mod 30: ay = ay + 1
If ay > 12 Then ay = ay Mod 12: yil = yil + 1
If gun >= 30 Then
End If
farktopla = yil & " Yıl " & ay & " Ay " & gun & " Gün"
End Function







  Alıntı
Bu mesajı beğenenler:
#22
Metin kutusu denetim kaynagina
=DateDiff("d";[tarih1];[tarih2])+DateDiff("d";[tarih3];[tarih4])+DateDiff("d";[tarih5];[tarih6])
deyimi ile yapabilirsiniz.

DateDiff("GunFormati";KucukTarih;BuyukTarih)
d--> Gun
m--> Ay
yyyy--->Yil
gibi dusunebilirsiniz.



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
access-sql-6 64 Bit Versiyonlardaki Deklarasyon Kaynaklı Fonksiyon Hataları Taruz 16 15.875 10-01-2019, 19:35
Son Mesaj: dsezgin
access-sql-3 YazME: MsgBox inputBox için satır atlama ve girintileme (Parametreli fonksiyon) Mehmet Eser 6 7.770 01-05-2012, 13:00
Son Mesaj: aydın3838
  Sabit boşluklu txt yapmak için sifir ve boşluk ekleyen fonksiyon metinse 28 15.534 21-02-2010, 19:01
Son Mesaj: linux2ex

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi