Saat farkını otomatik hesaplanması

1 2 3
16/12/2010, 20:50

volkan1

Hayri16 Hocamın yardımıyla çözmüş olduğum tablolardan saat toplamı konusundan sonra iki ayrı saat girişinden sonra aradaki zaman farkının otomatik olarak gün atmasıda dikkate alınarak elde edilmesinde yardıma ihtiyacım var Şimdiden teşekkürler.
Sadeleştirilmiş Çalışmam ektedir. Saygılarımla

[attachment=11546]
16/12/2010, 22:15

Hayri16

Sayın Volkan1;
Şu anda kullandığım 2010 olduğu için buraya eklemek yerine size kodları yazdırayım. İşimiz dateDiff fonksiyonuyla. Bu fonksiyon hakkında forumda ayrıntılı bilgi bulabilirsin.
1- Formundaki sefer_suresı metin kutusunun özelliklerinde denetim kaynağı ve giriş maskesini sıfırla
2- varıs_saatı isimli metin kutusunun güncelleştirme sonrası olay yordamına aşağıdaki kodları yaz.
3- Programı çalıştırdığında varıs saatini yazdığında sefer_suresı 'ne saat ve dakika olarak sonucu verir. Günü hesaplar ama gün olarak vermez. Yani 1 gün 3 saat 20 dakikayı 27:30 olarak verir. İstersen güne de çevirebilirsin.
Private Sub varıs_saat_AfterUpdate()
Dim ilktar As Date
Dim sontar As Date
sontar = varıs_tarıh & " " & varıs_saat
ilktar = kalkıs_tarıh & " " & kalkıs_saat

sefer_suresı = Int(DateDiff("n", ilktar, sontar) / 60) & ":" & DateDiff("n", ilktar, sontar) - (Int(DateDiff("n", ilktar, sontar) / 60) * 60)
End Sub
Olup olmadığı konusunda lütfen geri bildirim yapın. Saygılar. iyi çalışmalar.
16/12/2010, 22:28

volkan1

Hocam Elinize sağlık gayet güzel çalışıyor. Ancak sizden bir yardım daha rica edicem. Örnek dosyamnda basitçe hazırladım, aylara göre sefer sürelerinin toplamlarını almamız mümkün olabilirmi.( Açılan menüden ay seçip o ay içindeki sefer sürelerinin toplamını almaktan bahsediyorum )

Teşekkürler.
16/12/2010, 22:32

Hayri16

Volkan bunu da sen yap. Sana lazım olan Dsum fonksiyonu. Eminim yapacaksın. Ben gene buradayım. Takıldığında camı kır zile bas
16/12/2010, 22:35

volkan1

Tamam Hocam denicem. benim için konu tamamlanmıştır. Yardımlarınız için çok teşekkürler.
16/12/2010, 23:57

Hayri16

İstenen nedir. Tablomuzda kayıtlı bir alandaki verileri istenilen aya göre toplamak.
Bu konuda bize uygun Dsum fonksiyonu var.
Bu fonksiyon nasıl kullanılır?
Ayrıntılı olarak burada mevcut. Biz kısaca bakalım.
Dsum(ifade, etkialanı, [ölçütler]) şeklinde yazılıyor.
ifademiz tablomuzdaki sefer_suresı adlı alan.
Etki alanı ise TBL_SEYIR_SURESI adlı tablomuz.
Şimdi baştan kriter vermeden bir yazıp görelim.
Formunda senin liste22 adını verdiğin ama aslında metin kutusu olması gereken alana yazacağız. Liste22 yi sil. Metin kutusu koy ve adını seftop yaz.
Sonra Açılan Kutu20 ' nin tıklanma yordamına
seftop = Dsum ("sefer_suresı", "[TBL_SEYIR_SURESI]") kodunu yazalım ve çalıştıralım bakalım ne çıkacak?
1 2 3