AccessTr.neT
Tarih Alanına İşgünü Nasıl Ekletebilirim? - 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ığı: Tarih Alanına İşgünü Nasıl Ekletebilirim? (/konu-tarih-alanina-isgunu-nasil-ekletebilirim.html)

Sayfalar: 1 2 3


RE: Tarih Alanına İşgünü Nasıl Ekletebilirim? - ODRSCH26 - 20/03/2021

(20/03/2021, 19:31)berduş yazdı: Evet maalesef burada yaptığımız kullanıcı tanımlı fonksiyon ama sorguda kullanabileceğimiz bu işi yapabilecek accesse ait bir fonksiyon var mı bilmiyorum.


Aslına bakarsanız sizin +9 koyma fikrinizden yola çıkarak sadece sorgu tarafında yapabilir miyiz? 
+9 fikri ptesi salı çarşamba gününe +9 koyuyorsak +7 iş günü ile aynı güne tekabul ediyor. Ancak perşembe ve cuma günü işi bozuyor. Sorgu da eğer sayı eklenen tarih perşembe ise +11, cuma ise +12 koy gerisinde +9 koy diyebilir miyiz acaba? 
Bunu yapabilirsek kullanıcı tanımlı Vba fonksiyonu kullanmamıza gerek kalmaz.


RE: Tarih Alanına İşgünü Nasıl Ekletebilirim? - ODRSCH26 - 20/03/2021

(20/03/2021, 20:36)berduş yazdı: yada
plandate3: IIf(([plandate1] Mod 7)<2;[plandate1]+9-([plandate1] Mod 7);[plandate1]+7)

Sayın Berdus,

2 sorgu fonksiyonunda da direk olarak 7 gün eklemektedir. İş günü mantığı ile eklemedi maalesef.


RE: Tarih Alanına İşgünü Nasıl Ekletebilirim? - berduş - 20/03/2021

Kendi denemelerimde doğru sonuç vermişti
Hangi tarihleri girdiniz
Hangi sonucu verdi
Ne olmalıydı
Bir kaç tarih verirseniz deneyip çözmeye calisirim


RE: Tarih Alanına İşgünü Nasıl Ekletebilirim? - ODRSCH26 - 20/03/2021

(20/03/2021, 23:48)berduş yazdı: Kendi denemelerimde doğru sonuç vermişti
Hangi tarihleri girdiniz
Hangi sonucu verdi
Ne olmalıydı
Bir kaç tarih verirseniz deneyip çözmeye calisirim

plandate1 26.02.2021 iken 5.03.2021 (09.03.21 olmalıydı)
25.02.2021 iken 4.03.2021 (08.03.2021 olmalıydı)
1.02.2021 iken 8.02.2021 (10.02.2021 olmalıydı)
tarihlerini verdi.  Yani hepsinde +7 ekledi direk olarak. 2 sorgunuzu da denedim sonuç aynı.


RE: Tarih Alanına İşgünü Nasıl Ekletebilirim? - berduş - 21/03/2021

kusura bakmayın galiba bir yerde hesap hatası yapmışım
access fonksiyonları ile oluşturamadım
ama gün sabit olduğundan fonksiyonu ona göre yeniden düzenledim
Function GunEkle(Trh As Date) As Date
GnSy = 0
Do While GnSy < 7
Trh = Trh + 1
If Trh Mod 7 > 1 Then GnSy = GnSy + 1
Loop
GunEkle = Trh
End Function
sorgudaki plandate3:GunEkle([plandate1]) şeklinde düzenlenmeli
Not: Access fonksiyonlarıyla olur mu diye araştırmaya devam ederim


RE: Tarih Alanına İşgünü Nasıl Ekletebilirim? - berduş - 21/03/2021

aşağıdaki 3 fonksiyonu dener misiniz?
hangisini tercih ederseniz...

henüz hız testi yapmadım 4 yöntemden hangisi daha hızlı bilmiyorum
deneyince akşama doğru yazarım
1. yöntem
Chose7: Choose(([plandate1] Mod 7)+1;[plandate1]+10;[plandate1]+9;[plandate1]+9;[plandate1]+9;[plandate1]+9;[plandate1]+11;[plandate1]+11)
2. yöntem

IIF7: IIf([plandate1] Mod 7=0;[plandate1]+10;IIf([plandate1] Mod 7>4;[plandate1]+11;[plandate1]+9))
3. yöntem
Switch7: Switch([plandate1] Mod 7=0;[plandate1]+10;[plandate1] Mod 7>4;[plandate1]+11;[plandate1] Mod 7<5 And [plandate1] Mod 7>0;[plandate1]+9)