AccessTr.neT

Tam Versiyon: 2 Datetime Verisi Arasındaki Farkı Bulmak
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
hocam

17.11.2020 00:02:52 - 17.11.2020 00:05:00 bu iki tarih arasındaki fark 00:02:08

ama ben şuan burdaki farkı

17.11.2020 00:02:52 - 17.11.2020 00:05:00 süre olarak 0,03 alıyorum bu sürede 00:03:00 'e denk geliyor yani süredeki veriyle yukarıdaki tam değeri alamıyorum.
modüle aşağıdaki fonksiyonu ekleyip sorgudan çağırmayı deneyebilirsiniz
Function SureFark(BasTrh As Date, BitTrh As Date) As String
TSaniye = Abs(DateDiff("s", [BasTrh], [BitTrh]))

LngSn = TSaniye Mod 60
LngDk = (TSaniye \ 60) Mod 60
LngSt = (TSaniye \ 3600) Mod 60

SureFark = Format(LngSt, "00") & ":" & _
          Format(LngDk, "00") & ":" & _
          Format(LngSn, "00")

End Function
sorgudan çağırma
Sure: SureFark([BaslangicTarihi];[BitisTarihi])
eğer işlem yapacaksanız doğrudan datediff("s".....) ile alanan veri kaydedilip fonksiyon ona göre yeniden düzenlenebilir
Not: siz süre farkı olarak dakika secmişsiniz:
Datediff("n".....) burada ("n") derseniz işlemler dakika cinsinden hesaplanır, saniye seviyesinde hassaslık için datedif("s",......)
Hocam modülü tanımladım ama Sayısal veri olarak vermiyor ""ss:dd:nn" şeklinde veriyor
aynı şeyi daha önceden de söyledim isterseniz saniye cinsinden olan süreyi bu formata çeviren bir fonksiyon da yapılabilir ama bu formatta olan verilerle işlem yapamazsınız. toplam yada ortalama süre gibi işlemleri ancak saniye cinsinden fark üzerinden yapabilirsiniz yani datediff("s"....)
o nedenle sorgunuzda kullandığınız KapatmaSure saniye cinsinden hesaplayıp öyle bırakın
2IsEmriSayisi kullandığınız Saat: Int(SureOrtlama) & ":" & CInt((SureOrtlama-Int(SureOrtlama))*60) ne için
saniyeyi çeviren Fonksiyon kodu
Function SureCvr(Sure As Long) As String
TSaniye = Sure

LngSn = TSaniye Mod 60
LngDk = (TSaniye \ 60) Mod 60
LngSt = (TSaniye \ 3600) Mod 60

SureCvr = Format(LngSt, "00") & ":" & _
          Format(LngDk, "00") & ":" & _
          Format(LngSn, "00")

End Function
aşağıdaki dosyada 2IsEmriSayisi kullandığınız Saat  yok,  2IsEmriSayisi kullandığınız Saat: Int(SureOrtlama) & ":" & CInt((SureOrtlama-Int(SureOrtlama))*60) ne için olduğunu açıklarsanız o nu da eklemeye çalışırım.
tekrar belirteyim sizin kullandığınız yöntem çok sorun çıkarır işlemler için saniyeyi kullanın, başkalarının anlayacağı şekle çevirmek kolay
Sayfalar: 1 2 3