iif ve tarihe gün ekleyerek tarih hesaplama

Katılım
3 Şubat 2006
Mesajlar
38
Selam,

Elimde bir sorgu var ve ben bu sorguda 01.03.2006 da 1-10 gün ceza alanlara 6 ay yasak koyacam 11-20 gün arası ceza alanlara ise 1 yıl ceza koyacam fakat ben bu gün sayısın girdiğimde 6 ay ve 1 yıllık süreyi otomatik nasıl hesaplatırım.Yardımcı olacak arkadaşlara şimdiden teşekkürler.
IIf([Dis_Süresi]>10;([Dis_Süresi]+(360)))

ben böyle birşey yaptım ama tarih olarak vermiyor rakam olarak veriyor.

Saygılar
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Elimde aşağıdaki kod var. Verilmişbir tarihten ileri bir tarihi hesaplıyor. Belki işinizi görür.
İyiçalışmalar.
Kod:
tmpDate = #1/1/97#
    newDate= DateSerial(year(tmpDate)+1, month(tmpDate), day(tmpDate))

    would return a value of #1/1/98# for newDate.
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
tam bilemiyorum ama bu tarih konularında DateDiff,DateAdd gibi fonksiyonlar daha çok işinize yarar access helpten bir göz atın isterseniz....
yada örnek database forma ekleyin herkes yardımcı olsun
bizzat örnek üzerinden diyorum. :hiho:
 
Katılım
3 Şubat 2006
Mesajlar
38
Selam,

Benim bahsettiğim konu sorgu içindi 20.10.2005 tarihinde bu adam 10 ceza aldı eğer ceza 10 günse 180 gün ekleyecek
IIf([Dis_Süresi]<=10;([Dis_Süresi]+(180)))
gibi
ama yok fazla ise 20 güne kadar 365 gün ekleyecek
IIf([Dis_Süresi]>10;([Dis_Süresi]+(360)))
gibi buda bana tarih olarak değil rakam olarak veriyor bunu çözmek için yardıma ihtiyacım var.
Teşekkürler

Saygılar
 
Katılım
12 Mayıs 2005
Mesajlar
364
Sevgili lifeguide,

Sonucu rakam olarak vermesi gayet normal,çünkü sizin verdiğiniz koşulda hiç tarih yok.
Denemedi ama,

IIf([Dis_Süresi]>10;([CEZATARİHİ]+(360)))

olması gerekmez mi ? Buradaki "CEZATARİHİ" alanını sizin ceza tarihi ile ilgili alanın ismi ile değiştiriniz.Kolay gelsin.
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
böyle kodları, sorguları buraya yazarak çözmek, anlaşmak zor olsa gerek
HANİ ÖRNEK NEDERE?

:eek: :sinirli: :cekic: :kafa:
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Örnek istediniz örnek de hazır.
IIf ve AdDate ile çözdüm.
Sorgudaki kıstlılık sütununun deyimine bakın.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Sn. karaayhan..... sizi gergin gördüm biraz !
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
Evet Haluk Bey,
sanki sorunlarımı tam anlamıyla burada çözemiyom bazı arkadaşlar yardım ediyorlar sağolsunlar ama bir noktada cevapsız kalıyor bende vazgeçmek zorunda kalıyorum. Ama vazgeçmeden devam edeceğim çünkü FORUMU çok seviyorum.....
ilginize teşekkürler... :dua:
 
Katılım
3 Şubat 2006
Mesajlar
38
Selam,

Sayın Modalı çok teşekkür ederim bu fonksiyon çok işime yarıyor ama bu iki fonksiyonu aynı koşulda nasıl kullanabilirim bunu öğrenebilir miyim? yani aynı sütunda eğer 10 günden küçükse 180 büyükse 1 yıl at bunu nasıl yapabilirim yardımcı olabilir misiniz? and veya or ile olmaz sanıyorum.
Teşekkürler

Saygılar
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Zaten dikkat etmişseniz bunu yapıyor. Ceza sütununa bakın cezalar 10 günden azsa kısıtlama girilen tarihten itibaren 180 gün büyükse kısıtlama 1 yıl. Daha başka ne isitiyorsunuz anlamadım. Gönderdiğim uygulamanın sorgusunu çalıştırın kısıtlama bitiş tarihi ile girilen tarihi karşılaştırın.
İyi günler dilerim.
Id Adı Soyadı Aldığı Ceza Ceza Tarihi Kısıtlılık
1 Ahmet 10 10.12.2005 08.06.2006
2 Mehmet 5 01.01.2006 30.06.2006
3 Hasan 5 15.05.2006 11.11.2006
4 Ömer 25 15.10.2006 15.10.2007
5 Fatma 30 01.01.2006 01.01.2007
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Kullandığım deyim ise şu:

Kısıtlılık: IIf(ceza![Aldığı Ceza]<11;DateAdd("d";180;ceza![Ceza Tarihi]);DateAdd("yyyy";1;ceza![Ceza Tarihi]))

Eğer ceza 10 günden azsa ceza tarihine 180 gün ekle, yoksa ceza tarihine 1 yıl ekle
 
Katılım
3 Şubat 2006
Mesajlar
38
Selam,

Sayın modalı formül çok işime yaradı çok teşekkür ederim.Bu arada bir soru daha sora bilirmiyim buradan?
diyelim ki eğer aldığı ceza kınama ise 90 gün, eğer aldığı ceza uzaklaştırma ise ve uzaklaştırma 10 günden az ise 180 gün fazla ise 1 yıl.

Böyle bir kouşulu nasıl formüllendire biliriz?

Teşekkürler


Saygılar
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
O zaman iki tane IIf deyimi iç içe kullanırız. Yalnız tabloya Ceza Türü Sütununu eklememiz gerekiyor.
O zaman deyim şöyle yazılması gerekiyor:

Kısıtlılık3: IIf(ceza![Ceza Türü]="Kınama";DateAdd("d";90;ceza![Ceza Tarihi]);IIf(ceza![Aldığı Ceza]<11;DateAdd("d";180;ceza![Ceza Tarihi]);DateAdd("yyyy";1;ceza![Ceza Tarihi])))

Eğer Ceza Türü Kınama ise o zaman Ceza Tarihine 90 gün ekle Değilse Eğer Aldığı ceza 11 gğnden küçükse Ceza Tarihine 180 gün ekle Değilse Ceza Tarihi ne 1 yıl ekle.

Gönderdiğim örnekte çalıştı. İsterseniz onu da eklerim.
İyi çalışmalar.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Bir şey değil. siz de bir gün bir yardımda bulunursunuz.
 
Katılım
15 Mayıs 2006
Mesajlar
31
Altın Üyelik Bitiş Tarihi
06-03-2022
Selam arkadaşlar,
If fonksiyonu ile ilgili bir sorum olacak.
bir sorguda ıf fonksiyonunu kullanıyorum.en çok 14 tane iç içe yaptırıyor.daha fazlasında çok karışık diye uyarı veriyor.benim ise daha çoklu yapmam gerekiyor.
ıf yerine sorguda bir başka bir işlem yapılabilir mi bilmiyorum.

yardımcı olursanız sevinirim.

iyi çalışmalar
 
Katılım
22 Haziran 2007
Mesajlar
29
Excel Vers. ve Dili
excel 7
say&#305;n modal&#305;,
benim accessteki sorunu en ba&#351;ta yad&#305;&#287;&#305;n&#305;z kod &#231;&#246;zebilir ama nas&#305;l yazaca&#287;&#305;m&#305; bulamad&#305;m(accesste &#231;ok yeniyim)
sorum &#351;u: haz&#305;rlad&#305;&#287;&#305;m formda kullan&#305;c&#305;dan bir talep tipi al&#305;yorum.1-daimi,2- ge&#231;ici
eger durum daimiyse &#246;nceden girilen talep tarihine 1 y&#305;l ekliycek.
yard&#305;m edebilirseniz &#231;ok sevinirim
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Mod&#252;l Sayfas&#305; a&#231;&#305;p, a&#351;a&#287;&#305;daki gibi kullan&#305;c&#305; Tan&#305;ml&#305; Fonksiyon yazarsan&#305;z.
Bu fonsiyonu sorguda, formda veya raporlarda ayn&#305; access'in fonksiyonlar&#305; gibi kullanabilirsiniz
Function Eklenmi&#351;Tarih(Tarih As Date, &#350;art As String) As Date
If &#350;art = "a" Then
Eklenmi&#351;Tarih = Tarih + 10
ElseIf &#350;art = "b" Then
Eklenmi&#351;Tarih = Tarih + 20
ElseIf &#350;art = "c" Then
Eklenmi&#351;Tarih = Tarih + 30
End If
End Function
"ElseIf &#350;art = "c" Then
Eklenmi&#351;Tarih = Tarih + 30"
format&#305;n&#305; istedi&#287;iniz kadar &#231;o&#287;altabilirsiniz.
 
Üst