İki Tarih Farkını "YIL-AY-GÜN" Veren Fonksiyon (DateDiff_ze_bb)
#7
uda4a demiş ki:Merhabalar,
Rapor sonucunda , "1 YIL 2 AY 12 GÜN" olarak alınan çalışma gün sayılarına nasıl toplam aldırabiliriz.
örneğin =1 Yıl 2 Ay 12 Gün+1Yıl 8 Ay 28 Gün = 2 Yıl 11 Ay 10 Gün gibi.
Sn Beab ve Sn Zeki bey bu konuda fikirlerinizi paylaşırsanız.
Yapmayı düşündüğüm yeni çalışma için büyük ışık tutacak.Teşekkürler.


Merhaba..

Değerli arkadaşlarımın hazırladıkları örneğe ilaveten bu konuda benimde daha önce hazırlamış olduğum bir düzeneği sizlerle paylaşayım.

Visual Basic
  1. Function fark(ilktarih As Variant, sontarih As Variant) As Variant
  2. Dim trz As Integer
  3. Dim osm As Integer
  4. trz = DateDiff("m", ilktarih, sontarih) + (Day(sontarih) < Day(ilktarih))
  5. If Day(sontarih) < Day(ilktarih) Then
  6. osm = DateDiff("d", ilktarih, DateSerial(Year(ilktarih), Month(ilktarih) + 1, 0)) + Day(sontarih)
  7. Else
  8. osm = Day(sontarih) - Day(ilktarih)
  9. End If
  10. fark = LTrim(Str(trz \ 12)) & " Yıl " & LTrim(Str(trz Mod 12)) & " Ay " & LTrim(Str(osm)) & " Gün"
  11. End Function



İlavaten sayın uda4a nın talebi doğrultusunda tarih farklarının toplamınıda alabileceğiniz ayrı bir düzenek..:

Visual Basic
  1. Function farktopla(a As Variant, b As Variant, c As Variant, d As Variant) As Variant
  2. Dim trza As Integer
  3. Dim osma As Integer
  4. Dim ay As String
  5. Dim gun As String
  6. Dim yil As String
  7. trza = (DateDiff("m", a, b) + (Day(b) < Day(a))) + (DateDiff("m", c, d) + (Day(d) < Day(c)))
  8. If Day(b) < Day(a) Or Day(d) < Day(c) Then
  9. osma = ((DateDiff("d", a, DateSerial(Year(a), Month(a) + 1, 0)) + (DateDiff("d", c, DateSerial(Year(c), Month(c) + 1, 0))) + (Day(b)) + Day(d)))
  10. Else
  11. osma = ((Day(b) + Day(d)) - (Day(a) + Day(c)))
  12. End If
  13. yil = LTrim(Str(trza \ 12))
  14. ay = LTrim(Str(trza Mod 12))
  15. gun = LTrim(Str(osma))
  16. If gun >= 30 Then
  17. gun = gun - 30
  18. ay = ay + 1
  19. End If
  20. farktopla = yil & " Yıl " & ay & " Ay " & gun & " Gün"
  21. End Function





Bir örneklede pekiştirmiş olalım..

[Resim: 20081114151728ys6.jpg]


Eklenti Dosyaları
.rar   Trz_Tarih_Farklari.rar (Boyut: 17,68 KB / İndirilme: 325)



  Alıntı
Bu mesajı beğenenler:
#8
bu 2. fark nasıl hesaplanıyor anlamadım?

daha açık ve basit olarak 2. farkın amacı nedir ?
Eek VT:Veri Tabanı, AVT: Access VT, MS:Microsoft, Kapaç: Kapa ve aç (rebot ve açkapa saçmalığına çözümüm)
Twitcy Yazan okuyan sağolsun, çözene saygılar. Kolaylaştırınız, zorlaştırmayınız.
? Cinnet geçirmemek için Access 2010'u SP2 ile kullanalım.
? Sürekli sebepsiz hatalar oluyor da AVT uçuyorsa siz de Ofis kurulmunu uçurun çözülüyor. Sorun kurulum dosyanızda! Farklısını bulun!
? VT dağıtıma çıkana kadar bölmek zaman kaybıdır!
{ Veri Tabanı Mantığı } {Access 2010 çökmelerine çözüm } { 60 Günlük Ofis 2010 Pro Türkçe } { Kayıtları Yan Yana Göstermek }
{ Forma Rapora Resim Fotoğraf Eklemek En kolay En Sağlam En Zengin Teknik }



  Alıntı
Bu mesajı beğenenler:
#9
Çok güzel bir fonsiyon sayın taruz elinize sağlık...



  Alıntı
Bu mesajı beğenenler:
#10
Sayın akd27 teşekkürler.. Smile

mehmeser demiş ki:bu 2. fark nasıl hesaplanıyor anlamadım?

daha açık ve basit olarak 2. farkın amacı nedir ?

Sayın mehmeser, son fonksiyon dün ay ve yıl olarak hesaplanmış iki değerin toplamını yine aynı biçimde vermesi için sayın uda4a nın isteeği doğrultsusunda hazırlanmıştır.

Selamlar..



  Alıntı
Bu mesajı beğenenler:
#11
arkadaşlar fonksiyonları kullanmayı hiç bilmiyorum.hem bilgi açısından
hemde öğrenmek istediğim bir şey tarih farkını o günki tarihe göre bulup belirlenen bir yaşı geçtiğinde uyarı veren bir fonksiyon yapılabilirmi şimdide teşekkürler



  Alıntı
Bu mesajı beğenenler:
#12
hepinize teşekkürler



  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