![]() |
Nz Fonksiyonu (İşlevi) Kullanımı Anlatımı - Baskı Önizleme +- AccessTr.neT (https://accesstr.net) +-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html) +--- Forum: Access Dersleri (https://accesstr.net/forum-access-dersleri.html) +--- Konu Başlığı: Nz Fonksiyonu (İşlevi) Kullanımı Anlatımı (/konu-nz-fonksiyonu-islevi-kullanimi-anlatimi.html) |
Nz Fonksiyonu (İşlevi) Kullanımı Anlatımı - tdsharun - 25/01/2009 NZ işlevi Anlatıma başlamadan önce anlatımda kullanacağımız terimleri ve anlamlarını vermekte fayda görüyorum. Nz İşlevinin yazımına bakalım önce: VBA: Nz(Variant, boşsadeğer) Form, sorgu, rapor: = Nz(Variant; boşsadeğer) Dikkat: VBA’da kullanılırken Variant ve boşsadeğer arasında “,” (Virgül) kullanılır. Form, sorgu ve raporda ise “;” (Noktalı Virgül) kullanılır. Variant: Zorunludur. Veri türünden (Veri Türü: Alanın hangi veri türlerini içerebileceğini belirleyen özelliği. Veri türlerinin arasında, Boole, Tamsayı, Para Birimi, Tek, Çift, Tarih, Dize ve değişken (varsayılan) yer alır) Variant değişkeni. Yani özetle; Formda, raporda, sorguda bir Alanı, Vba kodlarında ise bir Alanı veya bir Değişkeni ifade eder. Boşsadeğer: Bir variant bağımsız değişkeni Boş ise, döndürülecek değer sağlayan bir Variant'tır. Bu bağımsız değişken, sıfırdan veya sıfır uzunluklu dizeden başka bir değer döndürmenize olanak sağlar. Burada dikkat edilmesi gereken nokta; NZ işlevini bir sorguda deyim içinde, boşsadeğer bağımsız değişkeni olmadan kullanırsanız, sonuçlar, boş değerler içeren alanlarda sıfır uzunluklu bir dize olacaktır. Bu sebeple bir sorgu ifadesinde kullanıldığında, NZ işlevi her zaman boşsadeğer bağımsız değişkenini içermelidir. Yani sorguda toplama yaptırıyorsak şu şekilde olmalıdır: Kod:
Nz'li Toplama: Nz([txtAlan1];0)+Nz([txtAlan2];0) Kod:
=Nz([txtAlan1])+Nz([txtAlan2]) Örneğin, txtAlan1 Boş olduğunda txtAlan1+txtAlan2 ifadesi her zaman Boş değerini döndürür. Ancak, Nz(txtAlan1)+ Nz(txtAlan2) ifadesinde txtAlan1 Boş ve txtAlan2 değerinin 2 olduğunu varsayarsak ifade 2 döndürür. Yani sonuç 2 olur. Nz işlevini çoğunlukla IIF yerine kullanabilirsiniz. Ancak öncelikle IIF işlevinin kullanımı hakkında biraz bilgi verelim: IIf işlevi, bir koşula bağlı olarak, koşulun doğru veya yanlış olması durumunda doğru veya yanlış değerleri için değer döndürmeye yarayan bir işlevdir. NZ işlevine benzerliği dikkatinizi çekmiştir. Ancak IIF işlevinin kullanım alanı sadece bu konudaki NZ işlevine benzerliği ile sınırlı değildir. Bu konuda sadece NZ işlevi ile benzerliğinden bahsedelim. IIF işlevinin çalışma mantığı şu şekildedir: Kod:
IIF(KOŞUL, DOĞRUYSADEĞER, YANLIŞSADEĞER) Kod:
IIf([AlanAdi] = 100, “EŞİT”, “EŞİT DEĞİL”) Not: IIF işlevi bu kadar kısa bir anlatımla anlatılabilecek bir konu değildir. Ayrıntılara girmeden konumuza devam etmek istiyorum. Daha sonra IIF işlevi ile ilgili ayrıntılı bir konuyu işleyeceğiz. Şimdi, NZ işlevinin yerine IIF işlevinin kullanımı örneğine bakacak olursak, aşağıdaki kodda, istenen sonucu döndürmek için IIF işlevini içeren iki ifade gereklidir. IIF işlevini içeren ilk ifade olan “Hesap”, bir değişkenin (AlanAdi) değerini denetlemek ve Boş ise sıfıra dönüştürmek için kullanılır. Kod:
Dim Hesap As Integer Kod:
Dim Hesap As Integer Kod:
Dim Hesap As Integer Kod:
Sonuc = Nz([AlaninAdi], "Alan Boş") Aşağıdaki örneklerde, bu işlevin Visual Basic for Applications (VBA) modülündeki kullanımı gösterilir. Aşağıdaki örnek, form üzerindeki bir denetimi değerlendirir ve denetimin değerine göre iki dizeden birini döndürür. Denetimin değeri Boş ise, bu yordam Boş değerini sıfır uzunluklu bir dizeye dönüştürmek için NZ fonksiyonunu kullanır. Kod:
Public Sub CheckValue() Anlatımda Faydalanılan Kaynaklar: http://office.microsoft.com/tr-tr/access/HA012288901055.aspx?pid=CH100728911055 http://office.microsoft.com/tr-tr/access/HP051885341055.aspx?pid=CH063653491055 http://office.microsoft.com/tr-tr/access/HP051885161055.aspx http://alibal.blogcu.com/access-ifadeleri-ve-fonksiyonlar_30831751.html Bu konu anlatımı, www.accesstr.net için tdsharun tarafından yapılmış olup "Kaynak Göstermek Şartıyla" alıntı yapılabilir. Aksi takdirde (Ç)alıntı yapılmış olur. Takdir edersiniz ki bu kadar emekten sonra "çamur" yapma hakkım olur... ![]() Saygılar... Cvp: Nz Fonksiyonu (İşlevi) Kullanımı Anlatımı - hakanuss - 25/01/2009 Faydalı anlatım için teşekkür ederim bir kodda görmüştüm merak ediyordum bu fonksiyonu Cvp: Nz Fonksiyonu (İşlevi) Kullanımı Anlatımı - Puletin - 26/01/2009 Teşekkürler TdsHarun Hocam.. Cvp: Nz Fonksiyonu (İşlevi) Kullanımı Anlatımı - TUNCAY - 26/01/2009 Çok teşekkür ederim hocam.Bu kadar sade bu kadar güzel anlatım elinize sağlık.. ![]() Cvp: Nz Fonksiyonu (İşlevi) Kullanımı Anlatımı - syrup - 26/01/2009 harun mükemmel bir iş çıkartmışsın. tebrik ve teşekkürlerimi kabul et kardeşim. Cvp: Nz Fonksiyonu (İşlevi) Kullanımı Anlatımı - tdsharun - 26/01/2009 Teşekkür ederim hocam... İltifat ediyorsunuz... Bu daha başlangıç hocam. Bütün işlevleri teker teker anlatacam Allah nasip ederse... Sadece örneklendirme safhası biraz uzun sürüyor. Malum, hata yapmamak lazım. İltifatınız için tekrar teşekkürler... |