AccessTr.neT
iki tarih arası işgünü sayısını bulma - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: iki tarih arası işgünü sayısını bulma (/konu-iki-tarih-arasi-isgunu-sayisini-bulma.html)

Sayfalar: 1 2


iki tarih arası işgünü sayısını bulma - onur_can - 12/11/2009

arkadaşlar hepinize kolay gelsin...
ekteki örnekte işgünü sayısını hesaplatmam gerekiyor.
bununla ilgili bir function veya kod yazılabilir mi ?
yardımlarınız için teşekkürler...


Cvp: iki tarih arası işgünü sayısını bulma - Seruz - 12/11/2009

Tabii ki yazılabilir.
Remsi bayramları (1 Ocak, 23 Nisan, 19 Mayıs, 30 Ağustos, 29 Ekim) sabit bir günde olduğu için bulmak kolay ancak dini tatiller'de sıkıntı var.
Dini bayram günleri sabit olmadığı ve Access bunları bilemeyeceği için bu günleri ayrı bir tabloya girmeniz gerekir.
Ayrıca verdiğiniz tarihler arası birden fazla tatil olduğu zaman tatil başlangıç ve bitişi ne olacak ?


Cvp: iki tarih arası işgünü sayısını bulma - onur_can - 14/11/2009

Arkadaşlar bu konuda herhangi bir öneriniz yok galiba bunlar accessin yapamayacağı şeyler...


Cvp: iki tarih arası işgünü sayısını bulma - ozanakkaya - 14/11/2009

sn onurcan, soru sordunuz.

sn seruz tam olarak ne istediğinizi anlayabilmek için size cevap yazdı.

sizin cevabınız

Alıntı:Arkadaşlar bu konuda herhangi bir öneriniz yok galiba bunlar accessin yapamayacağı şeyler...

Öneride bulunabilmemiz için önce soruyu anlamamız gerekiyor, seruz anlayamadıysa kimse anlayamamıştır.


Cvp: iki tarih arası işgünü sayısını bulma - onur_can - 16/11/2009

ilk kutuya başlangıç tarihi 2.kutuya bitiş tarihi girilecek bu iki tarih arasında cumartesi pazarı çıkartıp geriye kalan iş günlerini sayısal değer olarak verecek...
bu kadar


Cvp: iki tarih arası işgünü sayısını bulma - Seruz - 16/11/2009

Evet doğru yazmışsınız. Ancak bu kadar ... olur.

Alıntı:ilk tarih ile son tarih arasında varsa resmi tatil günlerini ardışık ise tatilin ilk ve son tarihi değilse sadece ilk tarihi girerek hesaplama yaptıracağız. Tatil yoksa alttaki iki kutuya bilgi girmeyeceğiz...

Alıntı:ilk kutuya başlangıç tarihi 2.kutuya bitiş tarihi girilecek bu iki tarih arasında cumartesi pazarı çıkartıp geriye kalan iş günlerini sayısal değer olarak verecek...
bu kadar

Kod:
Private Sub Is_Gunu_Sayisini_Hesapla()
Dim Islem_Tarihi As Date
    Me.IsGunuSayisi = 0
    If (IsNull(Me.ilktarih) Or IsNull(Me.sontarih)) Or Me.ilktarih > Me.sontarih Then Exit Sub
    
    Islem_Tarihi = Me.ilktarih
    While Islem_Tarihi <= Me.sontarih
        If Weekday(Islem_Tarihi) <> 1 And Weekday(Islem_Tarihi) <> 7 Then '1=Pazar, 7=Cumartesi
            Me.IsGunuSayisi = Me.IsGunuSayisi + 1
        End If
        Islem_Tarihi = DateAdd("d", 1, Islem_Tarihi)
    Wend

End Sub