• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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
 
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.
 
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:
 
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
 
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.
 
böyle kodları, sorguları buraya yazarak çözmek, anlaşmak zor olsa gerek
HANİ ÖRNEK NEDERE?

:eek: :sinirli: :cekic: :kafa:
 
Örnek istediniz örnek de hazır.
IIf ve AdDate ile çözdüm.
Sorgudaki kıstlılık sütununun deyimine bakın.
 
Sn. karaayhan..... sizi gergin gördüm biraz !
 
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:
 
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
 
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
 
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
 
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
 
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.
 
Bir şey değil. siz de bir gün bir yardımda bulunursunuz.
 
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
 
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
 
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.
 
Geri
Üst