Birden fazla sonuç üreten özel fonksiyon oluşturma.

Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Birden fazla sonuç üreten özel fonksiyon oluşturmak için yapılması gerekenler:

Diyelim ki bir sayı yazılan metin kutumuz olsun ve o sayının karesini ve karekökünü hesaplayan bir fonksiyon oluşturalım. (Gerçi karekökü ve kareyi hesaplamak için hazır fonksiyonlar var ama anlaşılabilecek bir örnek olsun istedim.)

Önce fonksiyonu oluşturacağımız bir modül açalım. deneme adında Public bir fonksiyon oluşturalım.

Sonra genel bildirim alanına (en üste) fonksiyonumuzda oluşturacağımız sonuçların türlerini belirtelim:

Kod:
Public Type geri
        kare As Double
        kok As Double
    End Type
Sonra fonksiyonumuzu oluşturalım:

Kod:
Public Function deneme(Sayi As Double) As geri
    deneme.kok = Sqr(Sayi)
    deneme.kare = Sayi * Sayi
End Function
Dikkat ederseniz daha önce bildirdiğimiz türlerin gurubuna geri adını vermiştik. Fonksiyonun çıkış bildirimi de geri.

Fonksiyonun nasıl oluşturulacağı örnekte belli.

Şimdi gelelim bu sonuçların nasıl çağrılacağına:

Form üstünde üç metin kutusu oluşturalım ve adlarına txtSayi, txtKare ve txtKok olsun. txtSayi metin kutusuna bir sayı girilince bu sayının karesini ve karekökünü diğer metin kutularında görüntülemek için formun kod yazma alnına şu kodları ekleyelim:

Kod:
Private Sub txtSayi_AfterUpdate()
    Me.txtKare = deneme(Me.txtSayi).kare
    Me.txtKok = deneme(Me.txtSayi).kok
End Sub
Burada dikkat edilecek nokta oluşturulacak fonksiyonun, Public türünde olması.

İyi çalışmalar:hey:
 

akd

Destek Ekibi
Destek Ekibi
Katılım
14 Ağustos 2004
Mesajlar
1,114
Excel Vers. ve Dili
2003
Merhaba sayın modalı,
Çok çok teşekkürler,
bu konuyu biraz daha örneklerle işlerseniz,
ve access'in diğer konularını,
size çok minnetkar oluruz.
Elinize sağlık, devamını bekleriz,
İyi geceler...
 
Üst