Tablodaki saat toplamını formda görüntülemek

1 2
12/12/2010, 19:34

volkan1

Herkeze kolay gelsin aslında basit bir konuda yardım talebim olacak;
bir tablo içindeki saat değerlerini(18:30 + 20:45 vb.) ana formdan bir textbox içinde toplam olarak görüntülemek istiyorum(39:15vb.).
nasıl yapabileceğim hakkında bilgiye ihtiyacım var. Teşekkür ederim.
13/12/2010, 01:06

Hayri16

Sayın Volkan1;
Dakika bölümlerinin toplamı saat kısmına eklenecek mi?
Yani 20:35 + 10:30 = 30:65 mi yoksa 31:05 mi ıolacak?
İkincisi tablo içindeki alanda kaydın 00:00 formatında mı yoksa 00:00:00 saniyeli formatta mı?
13/12/2010, 09:10

ayhan2122

Formda Bulunan metin20 kutusu için;


'Tablo1 tablosunda
'Tarih/Saat biçimli 00:00 formatında Alan12 alanı
'SrNO OtomatikSayı alanı
'Tablodaki saatler: 12:05, 22:32, 01:40 diyelim
'Bulmamız gereken değer -> 36:77
'Metin20 kutusuna toplanacak
Dim TopDakika, ArtanSaat, ArtanDakika, TopSaat
TopDakika = Dsum ("minute([Alan12])", "[Tablo1]", "[SrNO]<=3") '77
ArtanSaat = CLng(TopDakika / 60) '1
ArtanDakika = TopDakika - (ArtanSaat * 60) '17
TopSaat = Dsum ("hour([Alan12])", "[Tablo1]", "[SrNO]<=3") '35
Metin20 = TopSaat + ArtanSaat & ":" & ArtanDakika '36:77


Şöyle de olabilir;
Aşağıdaki fonksiyonu kullanarak

Function KacSaat(AlanAd As String, TabloAd As String, Kriter As String)
Dim TopDakika, ArtanSaat, ArtanDakika, TopSaat
TopDakika = Dsum ("minute([" & AlanAd & "])", "[" & TabloAd & "]", Kriter) '77
ArtanSaat = CLng(TopDakika / 60) '1
ArtanDakika = TopDakika - (ArtanSaat * 60) '17
TopSaat = Dsum ("hour([" & AlanAd & "])", "[" & TabloAd & "]", Kriter) '35
KacSaat = TopSaat + ArtanSaat & ":" & ArtanDakika '36:77
End Function
ve Metin20 nin Denetim kaynağına ;

=KacSaat("Alan12";"Tablo1";"[SrNO]<=3")
yazarak.
13/12/2010, 12:58

volkan1

(13/12/2010, 01:06)Hayri16 yazdı: Sayın Volkan1;
Dakika bölümlerinin toplamı saat kısmına eklenecek mi?
Yani 20:35 + 10:30 = 30:65 mi yoksa 31:05 mi ıolacak?
İkincisi tablo içindeki alanda kaydın 00:00 formatında mı yoksa 00:00:00 saniyeli formatta mı?
ilginize teşekkürler; 31:05 olmalı saniyeye iftiyaç yok teşekkürler

13/12/2010, 14:27

Hayri16

Sayın Volkan1;
Öncelikle Ayhan Hocamızın kodunu deneyiniz. Eğer istediğiniz gibi değilse aşağıdaki kodu da deneyiniz.
sonuc = Val(Left([Alan1], 2)) + Val(Left([Alan2], 2)) + (Int((Right((Val(Mid([Alan1], 4, 2)) + Val(Mid([Alan2], 4, 2))), 2))/ 60)) & ":" & (Right((Val(Mid([Alan1], 4, 2)) + Val(Mid([Alan2], 4, 2))), 2)) - (Int((Val(Mid([Alan1], 4, 2)) + Val(Mid([Alan2], 4, 2))) / 60)) * 60
Kolay gelsin.
15/12/2010, 13:51

Hayri16

Sayın volkan1;
Sorununuzla ilgili son durum hakkında lütfen geri bildirimde bulunun. Konu taşınmıştır.
1 2