Kullanıcı Tanımlı Fonksiyonlar
Fonksiyon Nedir?
MS Access'te yerleşik fonksiyonlar vardır, bunlara örnek verecek olursak Trim(), InStr(), WeekDayName(), Replace(), Year(), Cos(), DLookup() gibi. Bu fonksiyonlar Ms Access içerisinde yerleşiktir. İhtiyaç duyulan her yerde kullanılabilir. Örneğin bir olay içerisinde, bir metin kutusunun denetim kaynağında veya bir sorguda ya da makroda kullanılabilir. Fonksiyonu yazıp parametrelerini belirtmek yeterlidir.
Fonksiyonlar belirli bir görevi yerine getiren kod parçalarından oluşur. Bir çok yerde belirli bir görevi yerine getirecekseniz fonksiyonların gücünden yaralanmalısınız. Kullanıcı Tanımlı Fonksiyon UDF olarak ta bilinir. (User Defined Functions) En basit fonksiyon genel anlamda aşağıdaki gibi olabilir.
Public Function SayTopla(a,b)
SayTopla = a+b
End Function
Bu fonksiyonu 2 sayının toplamının sonucunu almak için kullanabiliriz. Peki nasıl çağırabiliriz bu fonksiyonu mesela bir metin kutusunun Denetim Kaynağı özelliğine;
yazabiliriz. Yada bir sorguda 2 sayısal alanı toplatmak için kullanabiliriz. Aşağıdaki komut satırı bir sorguda kullanılmıştır. Shipping Fee ile Taxes alanını toplayıp Toplam Fiyat adlı sütunda görüntüler.
Toplam Fiyat:ToplaSay([Shipping Fee];[Taxes])
Şimdi ise bire modül içerisinde nasıl kullanıldığına bakalım.
Yine aynı örnek üzerinden gidecek olursak şöyle yapalım. Öncelikle daha önce txtSonuc metin kutusunun Denetim Kaynağı özelliğindeki ifadeyi silelim. Daha sonra forma bir komut düğmesi yerleştirelim, Adı cmdHesapla olsun. Şimdi cmdHesapla komut düğmesinin Click olayına aşağıdaki kodu yazalım.
Şimdi girilen 2 sayıdan büyüğünü bulan fonksiyon yazalım.
Function BuyukSayiBul(Sayi1 As Variant, Sayi2 As Variant) As Variant
BuyukSayiBul = Null
If IsNull(Sayi1) Then
If Not IsNull(Sayi2) Then
BuyukSayiBul = Sayi2
End If
Exit Function
Else
If IsNull(Sayi2) Then
BuyukSayiBul = Sayi1
Exit Function
End If
End If
If Sayi1 >= Sayi2 Then
BuyukSayiBul = Sayi1
Else
BuyukSayiBul = Sayi2
End If
End Function
İşte bu yaptığımız işlemle kullanıcı tanımlı bir fonksiyon oluşturmuş ve onu çeşitli yerlerde kullanmış olduk. Bu kullanılabilecek en basit fonksiyona bir örnekti. Tabii ki çok daha karmaşık fonksiyonlar aynı mantıkla oluşturulabilir ve kullanılabilir.
0 Yorumlar