Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
03/09/2017 00:37
Konu Sahibi
hakan_s
Yorumlar
11
Okunma
1297
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
hakan_s

hakan_s

Üye
46188
 Belirtilmemiş
 1
 6
 15/02/2012
0
 İstanbul
 
 Ofis 2016 64 Bit
 16/09/2017,01:50
Çözüldü 
Selamlar,

Ekte gönderdiğim Access query sorgusunda ay içinde geçen Cumartesi ve Pazar günlerinin toplamını bulmak istiyorum. Ayrıca "geçen iş günü" formülü de tam olarak çalışmıyor. Doğru formül için yardımlarınızı rica ederim.

Teşekkürler.




mehmetdemiral

mehmetdemiral

Uzman
17
Me.... De....
 54
 219
 4.943
 30/10/2008
 Samsun
 Öğretmen
 Ofis 2013 32 Bit
 17/07/2019,12:55
Merhaba. Access'te özellikle 2010 yılından sonra Türkçe Access sorgulamalarında ölçüt konusunda bazı komutlar sorun çıkartmaya başladı. Bu nedenle biraz zorlamayla, ifade biçiminde ve ingilizce olarak yazabiliyoruz komutları. Bu nedenle Access kullanarak bu işi yapmak isterseniz, sorguda birden çok değeri filtrelemek ve sonra da saydırmak gerekiyor. Ben çalışmanız üzerinde keyfime göre bir sorgu hazırladım. İşinizi görürse bu yoldan devam edersiniz. Olmazsa yazın, buluruz bir şeyler mutlaka Img-grin


İnadına, ille de Accesstr.net...

...........
ozanakkaya

ozanakkaya

Kurucu
1
Oz.... Ak....
 39
 482
 12.116
 29/01/2008
 Denizli
 Memur
 Ofis 2010 32 Bit
 Bugün,00:49
Merhaba,

Modüle aşağıdaki kodları ekleyip kaydet.

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Public Function HaftaSonuHesapla(IlkTarih As Date, SonTarih As Date) As Long

Dim HaftaSonu As Long, GSayim As Long

HaftaSonu = 0
For GSayim = 0 To DateDiff("d", IlkTarih, SonTarih)
    Select Case Weekday(DateAdd("d", GSayim, IlkTarih))
        Case 1, 7
            HaftaSonu = HaftaSonu + 1
    End Select
Next
HaftaSonuHesapla = HaftaSonu
End Function

Public Function IsGunuHesapla(IlkTarih As Date, SonTarih As Date) As Long

Dim IsGunu As Long, GSayim As Long

IsGunu = 0
For GSayim = 0 To DateDiff("d", IlkTarih, SonTarih)
    Select Case Weekday(DateAdd("d", GSayim, IlkTarih))
        Case 2, 3, 4, 5, 6
            IsGunu = IsGunu + 1
    End Select
Next
IsGunuHesapla = IsGunu
End Function



Sorguda yeni alana, iş günü toplamı için

SQL Code
IsGunuToplami: IsGunuHesapla(DateSerial(Year([Tarih]);Month([Tarih]);1);DateSerial(Year([Tarih]);Month([Tarih])+1;0))



Hafta Sonu toplamı için

SQL Code
HaftaSonuToplami: HaftaSonuHesapla(DateSerial(Year([Tarih]);Month([Tarih]);1);DateSerial(Year([Tarih]);Month([Tarih])+1;0))


Kodları ekle.



Mesajını yeni fark ettim @mehmetdemiral abi. Kusura bakma.


"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 

mehmetdemiral

mehmetdemiral

Uzman
17
Me.... De....
 54
 219
 4.943
 30/10/2008
 Samsun
 Öğretmen
 Ofis 2013 32 Bit
 17/07/2019,12:55
Bu arada, yeni farkettim: Bir de "geçen gün doğru çalışmıyor demişsiniz. Ee yani, ayın ilk günü ile son günü üzerinden işlem yaparsanız başka sonuç çıkmaz ki Img-grin) O sorgudaki geçen iş gününün kodunu 

Geçen İş Günü: WorkingDays([Ayın İlk Günü];[Tarih])

şeklinde düzeltin de, kodcağız her satırda söz konusu tarih yerine, ayın ilk gününü baz almasın.



İnadına, ille de Accesstr.net...

...........
hakan_s

hakan_s

Üye
46188
 Belirtilmemiş
 1
 6
 15/02/2012
0
 İstanbul
 
 Ofis 2016 64 Bit
 16/09/2017,01:50
Smile 
(03/09/2017 03:12)mehmetdemiral Adlı Kullanıcıdan Alıntı: Bu arada, yeni farkettim: Bir de "geçen gün doğru çalışmıyor demişsiniz. Ee yani, ayın ilk günü ile son günü üzerinden işlem yaparsanız başka sonuç çıkmaz ki Img-grin) O sorgudaki geçen iş gününün kodunu 

Geçen İş Günü: WorkingDays([Ayın İlk Günü];[Tarih])

şeklinde düzeltin de, kodcağız her satırda söz konusu tarih yerine, ayın ilk gününü baz almasın.

Merhaba Mehmet Bey,

Evet haklısınız, başlangıçta öyleydi aslında ancak daha sonra diğer formülü yapmaya çalışırken saçmalamışım. Img-grin
Ozan Bey'in yazmış olduğu formülle sorguları tekrar düzenledim, sorunsuz bir şekilde çalıştı.

İlginize teşekkür ederim.



hakan_s

hakan_s

Üye
46188
 Belirtilmemiş
 1
 6
 15/02/2012
0
 İstanbul
 
 Ofis 2016 64 Bit
 16/09/2017,01:50
(03/09/2017 03:09)ozanakkaya Adlı Kullanıcıdan Alıntı: Merhaba,

Modüle aşağıdaki kodları ekleyip kaydet.

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Public Function HaftaSonuHesapla(IlkTarih As Date, SonTarih As Date) As Long

Dim HaftaSonu As Long, GSayim As Long

HaftaSonu = 0
For GSayim = 0 To DateDiff("d", IlkTarih, SonTarih)
    Select Case Weekday(DateAdd("d", GSayim, IlkTarih))
        Case 1, 7
            HaftaSonu = HaftaSonu + 1
    End Select
Next
HaftaSonuHesapla = HaftaSonu
End Function

Public Function IsGunuHesapla(IlkTarih As Date, SonTarih As Date) As Long

Dim IsGunu As Long, GSayim As Long

IsGunu = 0
For GSayim = 0 To DateDiff("d", IlkTarih, SonTarih)
    Select Case Weekday(DateAdd("d", GSayim, IlkTarih))
        Case 2, 3, 4, 5, 6
            IsGunu = IsGunu + 1
    End Select
Next
IsGunuHesapla = IsGunu
End Function



Sorguda yeni alana, iş günü toplamı için

SQL Code
IsGunuToplami: IsGunuHesapla(DateSerial(Year([Tarih]);Month([Tarih]);1);DateSerial(Year([Tarih]);Month([Tarih])+1;0))



Hafta Sonu toplamı için

SQL Code
HaftaSonuToplami: HaftaSonuHesapla(DateSerial(Year([Tarih]);Month([Tarih]);1);DateSerial(Year([Tarih]);Month([Tarih])+1;0))


Kodları ekle.


Merhaba Ozan Bey,
Bu konuda birşey sormak isterim, verdiğiniz kodla ay içinde geçen günlerin toplamını yazdırabilir miyiz? Mesela Eylül ayı içinde Pazar : 4, Cumartesi: 5 gibi saydırmak için formülü nasıl yazabilirim?
Dosyanın güncel hali ektedir. Umarım diğer arkadaşlara da faydalı olur.

Yardımlarınız için teşekkür ederim.



...........

Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü Webbrowser Elementlerin İd'erini Bulmak mustinba 5 379 28/06/2019, 17:47
Son Yorum: halily
Çözüldü Taranmış Bir Dokümanı Access İçinde Görüntüleme aliyuzen 12 498 18/03/2019, 13:17
Son Yorum: aliyuzen
Çözüldü Bir sayının limit dışı farkını bulmak Dart Reder 2 200 11/03/2019, 19:44
Son Yorum: Dart Reder
Çözüldü Liste Kutusundaki Alana Tabloda Hesaplanmamış Değerlerin Toplamını Getirme. Oğuz Türkyılmaz 10 366 12/02/2019, 09:43
Son Yorum: halily
Çözüldü Bir Tablodaki Satırların Toplamını UPDATE İle Başka Tabloya Aktarma ahmet025896 5 416 30/01/2019, 10:16
Son Yorum: ahmet025896

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2019 MyBB Group.