• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Hesaplama hk.

Katılım
7 Eylül 2005
Mesajlar
112
Merhaba arkadaşlar,

Yapmış olduğum çalışmada şunu yapmak istiyorum ama bir türlü olmadı. Yapmak istediği şey şu..

İlk tarih ve son tarih arasındaki Tamişgününü sonuç olarak vermesi.

İkinci husussa tarih girişi yaparken tatil günü ise uyarıp verip kayda izin vermemesidir...

Bu konuda yardımlarınızı bekliyorum..
 
Merhaba..

Tüm verilerin içerisinden hafta sonlarını sorgu üzerinden vereceğimiz ölçüt ile ayırmamız gerekir..

Bunun için;

ilk olarak sorguda boş bir alanda tarihin biçimini değiştirelim:

Kod:
Format([tarih];"dddd")

Sonrasında aynı alanın hemen altındaki ölçüt kısmına da

Kod:
<>"Cumartesi" And <>"Pazar"

yazalım.

Artık sorgu ya da form üzerinde hangi türde süzme yaparsanız yapın sonuçları hafta içine göre alırsınız..


İkinci istediğiniz, denemedim ama en kolay form üzerinde geçerlilik kuralına dayandırılarak yapılabilir sanırım..
 
Sn. Taruz ilk &#246;nce ilginize te&#351;&#351;ek&#252;r ederim.

Galiba beni yanl&#305;&#351; anlad&#305;n&#305;z. Benim yapmak istedi&#287;im &#351;udur.

Kullan&#305;c&#305; kay&#305;t giri&#351;i yap&#305;yor. &#220;r&#252;n&#252;n geldi&#287;i tarihi yaz&#305;yor, sonrada &#231;&#305;k&#305;&#351; tarihini yazarak, &#220;r&#252;n ne kadar bekledi&#287;ini text kutusunda tami&#351;g&#252;n&#252; olarak 3, 4,2 g&#252;n bekledi &#351;eklinde sonucu otomatik olarak yazacak.

&#304;kinciside kullan&#305;c&#305; kay&#305;t yap&#305;yor tarih girecek tarih e&#287;er hafta sonu veya tatil bir g&#252;n ise uyar&#305; verip kay&#305;t yapt&#305;rmayacak.

&#304;lginize &#351;imdiden te&#351;ekk&#252;rler arkada&#351;lar,
 
Sorguda (yada formda) iki tarihi birbirinden çıkartın, sayıyı alırsınız.. Yanlış anlamadıysam tabii ;)

Kod:
[giriştarihi]-[çıkıştarihi]
 
Sn. taruz sizin bu dedi&#287;iniz iki tarih ars&#305;ndaki fark&#305; g&#246;steriyor. Benim yapmak istedi&#287;imse iki tarih aras&#305;nda tami&#351;g&#252;n&#252;n&#252; g&#246;stermek.
 
Merhaba; alttaki fonsiyonu modul olarak kaydedin ve sorgunuzda &#246;rne&#287;in,

Kod:
i&#351;g&#252;n&#252;:GetNumberOfWorkDays([ilk tarih];[ikinci yarih])

olarak kullan&#305;n ya da herhangi bir alan&#305;n denetim kayna&#287;&#305;ndfa ba&#351;&#305;na "=" koyarak.

Kod:
Public Function GetNumberOfWorkDays(sStartDate, sEndDate)
    Dim iDays
    Dim iWorkDays
    Dim sDay
    Dim i
    
    iDays = DateDiff("d", sStartDate, sEndDate)
   
    iWorkDays = 0
   
    For i = 0 To iDays
      'First day of the week is sunday
      sDay = Weekday(DateAdd("d", i, sStartDate))
      If sDay <> 1 And sDay <> 7 Then
        iWorkDays = iWorkDays + 1
      End If
    Next
    GetNumberOfWorkDays = iWorkDays
  End Function

Cumartesi ve Pazar g&#252;nlerini atlayarak sayar..
 
Sn zafer007;

Ekte iki dosya var. Biri excel dosyası, diğeri access. Excell dosyasında tatil günleri tablosu oluşturdum. Neden excel derseniz orada daha hızlı olduğu için ve bu excel artık lazım değil. Sonra accesten "veri al" ile bu tabloyu access'e çektim. Oluşturduğum bu tablonun adı "Sayfa1"dir. Sayfa1'de tatil olan günlerin [Tatil] alanı "1" dir. Normal günler "0" dır. Cumartesi ve pazarları tatil olarak belirlemek kolay, bu "Tatiller Sorgu" ile kolayca yapılabiliyor, ancak, diğer tatil günlerinin tek tek "1" olarak işaretlenmesi lazım.
Tatil günleri belirtildikten sonra accesste "kayit" formunda istediğiniz olaylar gerçekleşiyor. 3 tane alt form var. Mantığı göresiniz diye alt formları gizlemedim.
Umarım istediğiniz buydu.
Saygılar, iyi çalışmalar.
 
Tam olarak buda.. Sadece ben iki tarih aras&#305; i&#351;g&#252;n&#252;n&#252; istiyorum..

Sn. ayhan2122 ilginizede ayr&#305;ca te&#351;ekk&#252;r ederim..
 
Sn. beab05,

Yazm&#305;&#351; oldu&#287;u kodu uygulad&#305;m ancak yeni kay&#305;t yaparken a&#351;a&#287;&#305;daki d&#246;ng&#252;de hata veriyor. yard&#305;mlar&#305;n&#305; rica ederim.

iWorkDays = 0

For i = 0 To iDays
 
Sn zafer007;

Tam olarak buda.. Sadece ben iki tarih arası işgününü istiyorum..

Siz istiyorsunuz ki program sizin hangi günlerinizin resmi tatil olduğunu bilsin. Hadi Cumartesi-Pazar bir şekilde tatil günü olarak tanıtılabilir ama diğer tatil günlerini , mesela Ramazan Bayramını siz belirtmeden program nasıl bilebilirki.
Velhasıl iki tarih arası resmi işgünü sayısını bulabilmek için tatil günleri belirtilmelidir.
Ben de resmi tatil günlerini bir tabloda belirttim ve sizin sadece istediğinizi yaptım.
(2 şey istemiştiniz; yazılan tarih tatil günü ise uyarsın ve iki tarih arasında kalan işgünü sayısını hesaplasın)
Saygılar, iyi çalışmalar.
 
Sn. ayhan2122

Sizin g&#246;nderdi&#287;iniz &#246;rnek i&#351;ime yarad&#305; sa&#287;olun yard&#305;m&#305;n&#305;z i&#231;in. Ancak Sn. beab05 g&#246;nderdi&#287;i &#246;rne&#287;i farkl&#305; bir yerde kullan&#305;yorumda. Kuland&#305;&#287;&#305;m yerde yeni bir kay&#305;t ekledi&#287;im zaman a&#351;a&#287;&#305;daki d&#246;ng&#252;de bir hata veriyor..

iWorkDays = 0

For i = 0 To iDays

Bilginiz varm&#305;d&#305;r acaba.?
 
Merhaba;
Hata denetimi ekleyiniz..

Kod:
Public Function GetNumberOfWorkDays(sStartDate, sEndDate)
[COLOR="red"]On Error GoTo bb[/COLOR]
    Dim iDays
    Dim iWorkDays
    Dim sDay
    Dim i
    
    iDays = DateDiff("d", sStartDate, sEndDate)
   
    iWorkDays = 0
   
    For i = 0 To iDays
      'First day of the week is sunday
      sDay = Weekday(DateAdd("d", i, sStartDate))
      If sDay <> 1 And sDay <> 7 Then
        iWorkDays = iWorkDays + 1
      End If
    Next
    GetNumberOfWorkDays = iWorkDays
[COLOR="Red"]bb:
    Exit Function[/COLOR]
  End Function
 
Sn. beab05

Yard&#305;mlar&#305;n&#305;z i&#231;in &#231;ok te&#351;ekk&#252;r ederim..
 
Geri
Üst