Ytl ve Ykr Ayırmak

1 2 3 4 5
28/12/2008, 23:12

furens

Malesef dostum tşk.bir tabloda birden fazla 8 adet rakam var ve bu rakamların hepsini ayırmak zorundayım.hepsi için sorgu oluşturup yapmam lazım ama bildiğiniz gibi modülde sadece = tamam .
28/12/2008, 23:30

alpeki99

Benim eklediğim dosyayı indirmiş miydiniz? Bakıyorum şimdi yok burada
29/12/2008, 10:58

Seruz

Konuya geç girdim ama anladığım kadarıyla böyle bir şey istiyorsunuz.
3 farklı seçenek kullanabilirsiniz bunun için.
-------------------------------------------
1. Seçenek
İstediğiniz bir Tutar alanının;
YTL değerini almak için =YTL_YKR_DEGERI([Tutar];"YTL")
YKR değerini almak için =YTL_YKR_DEGERI([Tutar];"YKR")
şeklinde kullanacaksınız.

Kod:
Public Function YTL_YKR_DEGERI(TUTAR As Currency, ISTENILENTIP As String) As Currency
Dim YTL As Currency, YKR As Currency

    YTL = Fix(TUTAR)
    YKR = (TUTAR - YTL) * 100
    
    If ISTENILENTIP = "YTL" Then
        YTL_YKR_DEGERI = YTL
    ElseIf ISTENILENTIP = "YKR" Then
        YTL_YKR_DEGERI = YKR
    Else: YTL_YKR_DEGERI = 0
    End If

End Function
-------------------------------------------
2. Seçenek
İstediğiniz bir Tutar alanının;
YTL değerini almak için =YTL_DEGERI([Tutar])
YKR değerini almak için =YKR_DEGERI([Tutar])
şeklinde kullanacaksınız.

Kod:
Public Function YTL_DEGERI(TUTAR As Currency) As Currency
    YTL_DEGERI = Fix(TUTAR)
End Function
Public Function YKR_DEGERI(TUTAR As Currency) As Currency
Dim YTL As Currency
    YKR_DEGERI = (TUTAR - Fix(TUTAR)) * 100
End Function
-------------------------------------------
3. Seçenek
Fonksiyona gerek olmayan en basit yöntem.
YTL değerini almak için =Fix([TUTAR])
YKR değerini almak için =([TUTAR]-Fix([TUTAR]))*100

Tüm Seçenekler ekteki Örnek'te bulunmaktadır.
29/12/2008, 11:19

Seruz

Pardon, hızlı hızlı bakarken sizin örneğiniz olduğunu görmemişim.

Örneğiniz üzerinde en basit çözümü gönderiyorum.


Not: Tablonuzda Miktarı alanını text yapmıştınız. Düzelttim.
30/12/2008, 17:07

furens

Kardeşim sağol olay bu Allah razı olsun,bilgini arttırsın 3.formül işleyişi virgülden sonraki değeri ayrı vigülden önceki değeri ayrı alıyor öylemi yani gele bir fomülmü
30/12/2008, 18:42

Seruz

Fix fonksiyonu access'in genel bir fonksiyonudur.
Noktadan sonrasını yok ederek, sayıyı tamsayı yapar.
Mesela; Tutar=24.75 ise Fix(Tutar)=24 sonucu verir.
Böylece Tutar dan Fix(Tutar) 'ı çıkardığınızda noktadan sonrası kalır.
Tutar - Fix(Tutar) = 0.75
Bu sonucuda 100 ile çarparak kaç kuruş olduğunu buluyoruz.

([Tutar]-Fix([Tutar]))*100 = 75
1 2 3 4 5