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..
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
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..
 
Katılım
7 Eylül 2005
Mesajlar
112
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,
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Sorguda (yada formda) iki tarihi birbirinden çıkartın, sayıyı alırsınız.. Yanlış anlamadıysam tabii ;)

Kod:
[giriştarihi]-[çıkıştarihi]
 
Katılım
7 Eylül 2005
Mesajlar
112
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.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
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..
 
Katılım
10 Temmuz 2007
Mesajlar
273
Excel Vers. ve Dili
2002 türkçe
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.
 
Katılım
7 Eylül 2005
Mesajlar
112
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..
 
Katılım
7 Eylül 2005
Mesajlar
112
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
 
Katılım
7 Eylül 2005
Mesajlar
112
Merhaba arkada&#351;lar,

Bu hata hakk&#305;nda yard&#305;mc&#305; olacak yokmudur..??
 
Katılım
10 Temmuz 2007
Mesajlar
273
Excel Vers. ve Dili
2002 türkçe
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.
 
Katılım
7 Eylül 2005
Mesajlar
112
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.?
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
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
 
Katılım
7 Eylül 2005
Mesajlar
112
Sn. beab05

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