AccessTr.neT
sorgu içinde case kullanımı - 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ığı: sorgu içinde case kullanımı (/konu-sorgu-icinde-case-kullanimi.html)

Sayfalar: 1 2


sorgu içinde case kullanımı - denizfatihi - 03/11/2014

Merhaba,

Personele ait yıllık izinleri sorgu içinde gün farklarına göre case ile hesaplamaya çalışıyorum, yalnız sorgu içinde Case kısmından sonra hata veriyor. 
SELECT Tb_Personel_son.Sicil, Tb_İzin_Tah.Adi_Soyadi, Tb_Personel_son.Basin_Karti, Tb_Personel_son.T_C_Kimlik, Year(DateAdd("yyyy",1,[Tb_İzin_Tah.Hakedis_Tar])) AS Yil, 

CASE ((Date()-[Ise_Giris_Tar]))
WHEN 365 <=1825  THEN ‘14’
WHEN 1826 <= 5475 THEN ‘21’
ELSE ‘26’
END

'0' AS kgun, (Tb_Personel_son.Ise_Giris_Tar) AS Giris_Tarihi, DateAdd("yyyy",1,[Tb_İzin_Tah.Hakedis_Tar]) AS haked, Tb_Personel_son.Sicil & "-" & Year(DateAdd("yyyy",1,[Tb_İzin_Tah.Hakedis_Tar])) AS ref
FROM Tb_Personel_son INNER JOIN Tb_İzin_Tah ON Tb_Personel_son.Sicil=Tb_İzin_Tah.Sicil
WHERE (((Tb_Personel_son.[Cikis_Tar]) Is Null)) ORDER BY 2;



Cvp: sorgu içinde case kullanımı - atoz112 - 03/11/2014

sayın denizfatihi,

yazılı kodlama üzerinden yanıtlar vermek kimi zaman pek de sağlıklı olmayabilir ve bundan dolayı da konunun mesaj dahiliyetinin artmasına yol açabilir.

bu sebeple,örnek uygulamanızı eklemeniz halinde,katılımcılar tarafından daha verimli ve net bilgilerin ya da alternatif çözümlerin sunulması söz konusu olabilir.

mesela,case yerine IIF olarak da çözüm elde edilebilir.bu sebeple,IIF kullanımı hakkında tercihinize göre ister bu sitenin arama sayfasından istersenizde internetten çeşitli sitelerde aratmak sureti ile kullanımı hakkında bilgiler ve örnek uygulamalar edinebilirsiniz.

son olarak,uygulamanızı 2007 üzeri kullanıyorsanız,2007 olarak da inceleyebilme imkanı da sağlayıp bu şekilde de örneğinizi ekleyebilir misiniz lütfen.teşekkürler...bilgilerinize.

iyi çalışmalar,
saygılar.


Cvp: sorgu içinde case kullanımı - denizfatihi - 04/11/2014

 Merhaba,

Örnek bir çalışmayı ekte gönderdim, olayın özü sorgu içinde yer alan günlere göre izin hesaplatmak.

365 ile 1825 arası 14 gün
1826 - 5475 arası 21 gün
5476 günden sonra 26 gün

şeklinde.

Yardımınız için şimdiden teşekkürler.


Cvp: sorgu içinde case kullanımı - atoz112 - 04/11/2014

sayın denizfatihi,

uygulamanız incelendiğinde,bahsi geçen talebinize yönelik olarak çözüm için aşağıdaki ifadeyi,sorgunuzun en son sütununa ekleyerek elde edebilirsiniz.


Kod:
CS: IIf(([Calisma_Suresi]) Between 365 And 1825;14;IIf(([Calisma_Suresi]) Between 1826 And 5475;21;IIf([Calisma_Suresi]>5476;26;0)))
son olarak,sayın denizfatihi,
sorularınızı örnek uygulamalar kategorisine değil de,lütfen

Access Soruları ve Cevapları

kategorisine açınız ki,hem doğru kategoride sorular yer alsın hem de üyeler aradıklarını doğru kategoride bulabilsinler.teşekkürler...bu nedenden dolayı,konu ilgili kategoriye taşınmıştır.bilgilerinize,
iyi çalışmalar,
saygılar.


Cvp: sorgu içinde case kullanımı - denizfatihi - 04/11/2014

Kod:
IIf(([Calisma_Suresi]) Between 365 And 1825;14;IIf(([Calisma_Suresi]) Between 1826 And 5475;21;IIf([Calisma_Suresi]>5476;26;0)))

;14; kısmında söz dizimi hatası veriyor


Cvp: sorgu içinde case kullanımı - atoz112 - 04/11/2014

sayın denizfatihi,

EK'te;yukarıda bahsi geçen sorgu ifadesinin yer aldığı örnek uygulama mevcuttur.inceleyebilirsiniz.bilgilerinize.

iyi çalışmalar,
saygılar.