iki tarih arası işgünü sayısını bulma

1 2
12/11/2009, 12:10

onur_can

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...
12/11/2009, 14:15

Seruz

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 ?
14/11/2009, 20:13

onur_can

Arkadaşlar bu konuda herhangi bir öneriniz yok galiba bunlar accessin yapamayacağı şeyler...
14/11/2009, 20:34

ozanakkaya

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.
16/11/2009, 13:37

onur_can

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
16/11/2009, 14:22

Seruz

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
1 2