Haftanın gününden geriye tarihe gitmek
#1
Datepart(""ww",Date()) ve weekday(date()) fonksiyonları ile haftanın gününe gidebiliyoruz. Peki mesela 17.3 (17.haftanın 3.günü) olan bir veriden hareketle bu veriyi içinde bulunan yıl içinde kendisine karşılk gelen tarihi nasıl yazdırabiliriz. Yani öyle bir fonksiyon veya fonksiyon grubumuz olacakki 17.3 ' e karşılk 19/04/2011 gününü yazabilsin.



  Alıntı
Bu mesajı beğenenler:
#2
Merhaba..

İlginç bir soru olmuş.. Wink

Bu amaç için bir fonksiyon hazırladım.. Değişkenleri girdiğinizde tarihi değerini alabilirsiniz....:

Visual Basic
  1. 'Hafta ve Gün değerine göre tarihi verir.. Trz..
  2. Function trz(hafta As Integer, gun As Integer) As Date
  3. Dim ilkgun
  4. ilkgun = ("01.01." & Year(Date))
  5.  
  6.  
  7. trz = (DateAdd("ww", hafta - 1, ilkgun) - _
  8. Weekday(DateAdd("ww", hafta - 1, _
  9. ilkgun))) + gun + 1 'Haftanın ilk günü "pazar" olarak baz alınacaksa +1 iptal edilmeli..
  10.  
  11.  
  12. End Function




Kullanımı..:

sorgu ve denetim kaynağında..;

SQL
  1. =trz(haftdadeğeri;gündeğeri)



Vba editöründe..;

Visual Basic
  1. msgbox trz(haftdadeğeri,gündeğeri)



Değerleri değişkenlerden de alabilirsiniz..



  Alıntı
Bu mesajı beğenenler:
#3
Sayın Taruz,

Fonksiyonu denemedim ama sanırım, senenin ilk gününün bulunduğu haftanın yılın ilk haftası olup olmadığı da araştırılmalı. Örneğin 2011 yılının ilk günü Cumartesi idi ve geçen yılın son haftasına ait idi. Yılın ilk günü Pazartesi, Salı veya Çarşamba ise o zaman ilk hafta yılın birinci günün bulunduğu hafta olur. (Soruda da haftanın ilk günü Pazar)

İyi çalışmalar



  Alıntı
Bu mesajı beğenenler:
#4
Merhaba sayın modalı..

Hafta başlangıcının Pazar olması tercihi için fonksiyonu önceki mesajımda güncelleyerek not düştüm..

Diğer konuyu tam anlamadım sanırım.. Yılın ilk gününü, yılın hafta başlangıcı olarak baz aldım.. Sağlamasında da bu sonuç çıkıyor..:

MsgBox DatePart("ww", #1/1/2011#)

Fonksiyonu bahsettiğiniz yönde geliştirmek için test edip bilgilendirirseniz sevinirim..



  Alıntı
Bu mesajı beğenenler:
#5
Sayın Taruz ilginize çok teşekkür ederim. Ben bu iş için 3 saattir dolanıp duruyordum. Elinize sağlık...



  Alıntı
Bu mesajı beğenenler:
#6
Sayın Taruz,

İlk öngörümde haklıydım. Yılın ilk haftası haftanın hangi günü ise o tarihte başlar. 2011 yılının ilk haftası eğer ilk gün Pazar ise 2 Ocak 20011 de Pazartesi ise 3 ocak 2011 de başlar.

Fonksiyonu geliştirip yazdım ve sizinki ile karşılaştırdım. Örneği inceleyebilirsiniz.

2011 tarihinin takvimini ise:

http://www.etoplum.com/2011-yili-takvimi...alari.html
den bakabilirsiniz

17. Haftanın 3. günü 19 Nisan 2011 değil de 26 Nisan 2011 dir.

İyi çalışmalar


Eklenti Dosyaları
.rar   hafta_tarihi.rar (Boyut: 26,53 KB / İndirilme: 79)



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Listbox'ta Tarihi Seçtiğimde Sadece O Tarihe Kadar Trend Grafiğini Getirmesi YENIFENER 1 165 21-12-2022, 17:32
Son Mesaj: dsezgin
  Girilen Tarihin Haftanın Başlangıçı Ve Sorunu Gösteren Fonksiyon Veya Sorgu cozum@msn.com 1 212 04-08-2022, 13:20
Son Mesaj: onur_can
  + Ya Da - Tarihe Göre Sıralama. Satir 9 760 15-01-2021, 21:04
Son Mesaj: halily
  [FORM] Seçilen Haftanın/ayın Ilk Ve Son Günlerini Bulma ates2014 32 1.885 04-01-2021, 22:41
Son Mesaj: ates2014
  Tarihe Göre Raporda Filtreleme Yapmak alperadn01 2 573 28-04-2020, 22:09
Son Mesaj: alperadn01
  Formda Sonraki Kayıta Ve Ilk Kayıda Gitmek mfgxxx 6 985 21-03-2020, 00:09
Son Mesaj: mfgxxx
  [MAKRO] haftanın belli günlerinde makro çalıştırma PHEADRUS 3 1.279 18-01-2018, 11:21
Son Mesaj: mesut70
  [FORM] sırano tarihe göre sıfırlama burhanb 5 1.363 24-08-2017, 13:59
Son Mesaj: burhanb

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi