[FONKSiYON] Excel İçindeki Bir Formülün Access Karşılığı
#1
Arkadaşlar benim bir excel dosyam vardı. İçinde izin başlama ve izin bitiş tarihi yazan sütunlarım vardı. Her ay içine denk gelen izin gün sayısını aşağıdaki formülle hesaplıyordum.

=MAK(0;(MİN($F302-1;TARİH(YIL(P$1);AY(P$1)+1;0))-MAK($C302;P$1)+1))

Ancak bu access te olmuyor. Bir sorgu sonucunda gelen verilerin yanına filtre edilen ay içindeki izin gün sayısını nasıl getirebilirim. elinde örnek bir uygulaması filan olan var mı?



  Alıntı
Bu mesajı beğenenler:
#2
SQL
  1. SELECT SUM(GunSayisi([Baslama],[Bitis]," & [Hangi Ay] & ")) AS GunS FROM TabloAdi



Visual Basic
  1. Public Function GunSayisi(Bs, Bt As Date, Ay As Long) As Long
  2. Dim Tarih As Date, SyGn As Long
  3. For Tarih = Bs To Bt
  4. If CLng(Month(Tarih)) = Ay Then SyGn = SyGn + 1
  5. Next Tarih
  6. GunSayisi = SyGn
  7. End Function



Akti, Hafta Sonu, Bayram gunleri haric icin dongu icine kosul koymaliyiz.



  Alıntı
Bu mesajı beğenenler:
#3
@dsezgin kardeş ilgin için teşekkürler ancak sum fonksiyonu işimi görmüyor. ben sorguda ayrı bir sütuna toplam değil ay içine düşen süreyi bulmaya çalışıyorum.

EDİT: Sorun halloldu teşekkürler. Sum kullanmadım.



  Alıntı
Bu mesajı beğenenler:
#4
@dsezgin kardeşim burada bir sorun yaşıyorum. Bu paylaştığın fonksiyon işimi gördü ancak yıl kriterine bakmıyor???

Örneğin 2017 Ocak ayına düşen bir izin sayısını çok güzel çıkarıyor ancak 2018 Ocak ayında izin olmamasına rağmen burada da aynı izinleri çıkarıyor..... Buna nasıl bir ekleme yapmalıyım. Fonksiyona yıl ekledim ama hesaplarım doğru çıkmadı birtürlü.


Visual Basic
  1. Public Function GunSayisi(Bs, Bt As Date, ay As Long) As Long
  2. Dim tarih As Date, SyGn As Long
  3. For tarih = Bs To Bt
  4. If CLng(Month(tarih)) = ay Then SyGn = SyGn + 1
  5. Next tarih
  6. GunSayisi = SyGn
  7. End Function





  Alıntı
Bu mesajı beğenenler:
#5
Hangi YilAy 201706 olarak girilmesi gerekir.


SQL
  1. SELECT GunSayisi([Baslama],[Bitis]," & [Hangi YilAy] & ") AS GunS FROM TabloAdi



Visual Basic
  1. Public Function GunSayisi(Bs, Bt As Date, YilAy As Long) As Long
  2. Dim Tarih As Date, SyGn As Long
  3. For Tarih = Bs To Bt
  4. If CLng(format(Tarih,"yyyymm")) = YilAy Then SyGn = SyGn + 1
  5. Next Tarih
  6. GunSayisi = SyGn
  7. End Function





  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [SORGU] Sorgu Ifadesi Içindeki Fonksiyon Ifade Içinde Kullanılamaz Hatası Mecnun24 7 658 27-08-2024, 16:53
Son Mesaj: Mecnun24
access-sql-18 Format([giris], "dd-mm-yyyy" Sorgu Ifadesi Içindeki Derleme Hatası. gncbil 5 598 07-06-2024, 10:48
Son Mesaj: dsezgin
  [TABLO] Excel Aktarımı kahramanselim 6 748 06-04-2024, 21:11
Son Mesaj: kahramanselim
  Access'e Yeni Tablo Oluşturarak Excel Import Etmek, Table'ı Sütunlara çevirmek... İlhanYaylıcı 25 2.577 02-10-2023, 13:32
Son Mesaj: halily
  Excel Içindeki Tabloyu Access Vba Ile Refresh Etmek Hk. adnnfrm 2 523 05-08-2023, 02:23
Son Mesaj: adnnfrm
  Excel Birleştir Ve Süz Bora34 6 1.284 16-02-2023, 18:33
Son Mesaj: Bora34
access-sql-18 Access'e Dosya Bul Butonu Ile EXcel'den Veri çekme snapper 2 598 06-12-2022, 11:51
Son Mesaj: snapper
access-sql-9 [VBA] access den makro ile excel çalışma kitabı açmak omur34 10 10.241 09-05-2022, 12:37
Son Mesaj: dsezgin

Foruma Git:


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