[SORGU] İİF ile sql sorgusu
#1
Merhaba,
Aşağıdaki sorgu ile aşağıdaki gibi bir sorguma yapmak istiyorum,
yardımınız için şimdiden teşekkürler.

0 ile 365 arası = 0
366 ile 1825 dahil =14
1826 ile 5475 dahil=20
5476 gün üzeri = 26

SQL
  1. SELECT Tb_Personel.Adi, Tb_Personel.Giris_Tarihi,
  2.  
  3. IIf(DATE()-Tb_Personel.Giris_Tarihi<=365,0,
  4. IIf(((DATE()-Tb_Personel.Giris_Tarihi))>365,14)) AS Gun
  5.  
  6. FROM Tb_Personel;








Eklenti Dosyaları
.rar   Deneme.rar (Boyut: 10,28 KB / İndirilme: 56)



  Alıntı
Bu mesajı beğenenler:
#2
Örneği inceleyiniz.
Sorgu kısmındaki Izin_Hakedis bölümü hesaplamayı Modül1 den almaktadır. Modül1 deki kodları inceleyerek görebilirsiniz....

Modül1 Kodları;
Visual Basic
  1. Public Function izinhesapla(Calisma_Suresi As Double) As Double
  2. deger1 = 0 '0 ile 365 gün arası
  3. deger2 = 14 '366 ile 1825 dahil
  4. deger3 = 20 '1826 ile 5475 dahil
  5. deger4 = 26 '5476 gün ve üzeri
  6.  
  7. Select Case Calisma_Suresi
  8. Case 0 To 365
  9. izinhesapla = deger1
  10.  
  11. Case 366 To 1825
  12. izinhesapla = deger2
  13.  
  14. Case 1826 To 5475
  15. izinhesapla = deger3
  16.  
  17. Case Is >= 5476
  18. izinhesapla = deger4
  19.  
  20. End Select
  21. End Function



Sorgu Kısmına çalışma süresi için yazılacak formül
SQL
  1. Calisma_Suresi: DATE()-[Giris_Tarihi]



Sorgu Kısmına izin süresini hesaplamak için yazılacak formül
SQL
  1. Izin_Hakedis: izinhesapla([Calisma_Suresi])



iyi çalışmalar...


Eklenti Dosyaları
.rar   Deneme.rar (Boyut: 13,58 KB / İndirilme: 63)
[Resim: yazlimplanlama.png]


İslamın şartı Beş, haddini bilmek Altıdır...Vv





  Alıntı
Bu mesajı beğenenler:
#3
efeksk çok teşekkür ederim ellerinize sağlık, son olarak gün kriterlerine söyle birşey daha eklenebilir mi ?

Basın sektöründe çalışanların için günleri ilk on yıl için 28 gün sonrası içinse 42 gün

0 ile 10220 arası = 28
10221 gün üzeri = 42




  Alıntı
Bu mesajı beğenenler:
#4
SQL

SELECT Tb_Personel.Adi, Tb_Personel.Giris_Tarihi, IIf(Date()-[Tb_Personel].[Giris_Tarihi] Between 0 And 365,0,IIf(Date()-[Tb_Personel].[Giris_Tarihi] Between 366 And 1825,14,IIf(Date()-[Tb_Personel].[Giris_Tarihi] Between 1826 And 5475,20,26))) AS Gun
FROM Tb_Personel;



  Alıntı
Bu mesajı beğenenler:
#5
Tablonuzdaki personeller için hangi sektörde çalıştıkları bilgisi yok...
[Resim: yazlimplanlama.png]


İslamın şartı Beş, haddini bilmek Altıdır...Vv





  Alıntı
Bu mesajı beğenenler:
#6
Örneği ve örnek içerisindeki modülü inceleyiniz.
Not: Tabloya Sektor isimli bir alan eklendi ve alana Basın, Muhasebe ve Halkla İlişkiler gibi veriler girildi...


Eklenti Dosyaları
.rar   Deneme.rar (Boyut: 14,25 KB / İndirilme: 60)
[Resim: yazlimplanlama.png]


İslamın şartı Beş, haddini bilmek Altıdır...Vv





  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Güncelleme Sorgusu çalışmıyor ? karaayhan 3 400 05-04-2025, 22:08
Son Mesaj: karaayhan
  Tablodaki Alanı Alt Tablodan Alınan Değerle Güncelleme Sorgusu Lidervet 7 637 02-12-2024, 11:20
Son Mesaj: halily
  Formda Liste Sorgusu anno 1 345 15-07-2024, 00:29
Son Mesaj: dsezgin
  Gücelleme Sorgusu evren89 2 352 18-05-2024, 23:19
Son Mesaj: evren89
  [SORGU] Farklı Tablolarda Yer Alan Satış Bilgilerini Toplama Sorgusu Lidervet 1 481 09-11-2023, 00:54
Son Mesaj: dsezgin
  Güncelleştirme Sorgusu omergenc7 2 385 01-10-2022, 02:13
Son Mesaj: omergenc7
  [SORGU] Toplu Il Sorgusu Satir 19 1.156 14-08-2022, 12:14
Son Mesaj: halily
  Sql Sorgusu Nasıl Oluşturulur? Pattinstew12 3 425 02-06-2022, 17:46
Son Mesaj: beab05

Foruma Git:


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