• DİKKAT

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

parayı yazıya çevirme

Katılım
2 Nisan 2006
Mesajlar
230
bütün formu aradım ama tam olarak istediğim bir çözüm bulamadım
FORMDA BULDUĞUM ÖRNEKLERDE

12.656 YTL Yİ
ÖN İKİBİN YTL ALTMIŞ ALTI YKR OLARAK ÇEVİRİYOR..
YANİ SON RAKAMI YUVARLIYOR

BENİM İSTEDİĞİM İSE
12.656 YTL Yİ
ON İKİBİN YTL ALTMIŞ BEŞ YKR OLARAK ÇEVİRSİN
YANİ EN SON RAKAMI HİÇ GÖRMESİN VE YUVARLAMASIN

BU KONUYA BİR EL ATARSANIZ SEVİNİRİM...
 
sanırım bunu raporlarda yapmaya çalışıyorsun. O zaman raporda 12.656 bölümünün özelliklerini standarda ondalık basamağıda 2 olarak ayarlarsan sondaki haneyi görmeyecek ama rakamı 12.66 olarak yazacaktı yazıya çevirirkende bu şekilde çevirecektir. Şuan zamaım olmadığından son haneyi yuvarlamamasını nasıl sağlayacağın aklıma gelmedi o nedenlede yazamıyorum umarım en azından bukadarı işini görür
 
sayın erdem55 ilgilendiğin için sağol fakat bu yöntemi denedim ama dediğin gibi 12,656 yı 12,66 olarak yazıya çeviriyor ve buda benim işimi görmüyor aklına başka bir çözüm gelirse buraya yazarsan sevinirim
teşekürler.
 
Merhaba..

Birde bu fonksiyonla deneyin..

Kod:
Function YTL(sayi)
    x = InStr(1, sayi, ",")
    If x > 0 Then
        Lira = yaz$(Mid(sayi, 1, x - 1)) & " yeni türk lirası "
        TempKurus = Mid(sayi, x + 1, 98)
        If Len(TempKurus) = 1 Then TempKurus = TempKurus * 10
        If Len(TempKurus) > 2 Then TempKurus = Mid(TempKurus, 1, 2)
        Kurus = yaz$(TempKurus) & "  yeni kurus"
    Else
        Lira = yaz$(sayi) & " yeni türk lirası "
    End If
    YTL = Lira & Kurus
End Function
'
Function yaz$(sayi)
Dim b$(9)
Dim y$(9)
Dim m$(4)
Dim v$(15)
Dim c$(3)
b$(0) = ""
b$(1) = "bir"
b$(2) = "iki"
b$(3) = "üc"
b$(4) = "dört"
b$(5) = "beş"
b$(6) = "altı"
b$(7) = "yedi"
b$(8) = "sekiz"
b$(9) = "dokuz"
y$(0) = ""
y$(1) = "on"
y$(2) = "yirmi"
y$(3) = "otuz"
y$(4) = "kırk"
y$(5) = "elli"
y$(6) = "atmıs"
y$(7) = "yetmis"
y$(8) = "seksen"
y$(9) = "doksan"
m$(0) = "trilyon"
m$(1) = "milyar"
m$(2) = "milyon"
m$(3) = "bin"
m$(4) = ""
a$ = Str(sayi)
If Left$(a$, 1) = "" Then pozitif = 1 Else pozitif = 0
a$ = Right$(a$, Len(a$) - 1)
For x = 1 To Len(a$)
If (Asc(Mid$(a$, x, 1)) > Asc("9")) Or (Asc(Mid$(a$, x, 1)) < Asc("0")) Then GoTo hata
Next x
If Len(a$) > 15 Then GoTo hata
a$ = String(15 - Len(a$), "0") + a$
For x = 1 To 15
v(x) = Val(Mid$(a$, x, 1))
Next x
a$ = ""
For x = 0 To 4
c(1) = v((x * 3) + 1)
c(2) = v((x * 3) + 2)
c(3) = v((x * 3) + 3)
If c(1) = 0 Then
e$ = ""
ElseIf c(1) = 1 Then
e$ = "y&#252;z"
Else
e$ = b$(c(1)) + "y&#252;z"
End If
e$ = e$ + y$(c(2)) + b$(c(3))
If e$ <> "" Then e$ = e$ + m$(x)
If (x = 3) And (e$ = "birbin") Then e$ = "bin"
s$ = s$ + e$
Next x
If s$ = "" Then s$ = "s&#305;f&#305;r"
If pozitif = 0 Then s$ = "" + s$
yaz$ = s$
GoTo tamam
hata: yaz$ = "hata"
tamam:
End Function


fataa9.jpg


Selamlar..
 
Son düzenleme:
bu kodu nereye yazıyoruz yol gösterirmisiniz lütfen
tam benim istediğim gibi birde bunu nasıl kullanıcam anlatırsanız çook sevinirim
 
Sayın ceydasima,

Öncelikle uygulamanıza bir modül ekleyip yukarıdaki kodları kopyalayıp yapıştırın. Modülü kaydedin. (Dikkat modül içinde tüm yeni kelimelerini silin çünkü Yeni Türk Lirası tarih oldu:))

Ondan sonra kullanmak istediğiniz alana gelin ve veri kısmına

Kod:
= Function YTL(çevrilecek olan alanınızın adı)

Örneğin sayının bulunduğu alanın adı tutar ise o zaman:

Kod:
= Function YTL([tutar])
yazmanız yeterli.

İyi çalışmalar
 
ayrıca bunu yaptığım zaman tüm yenii çalışma sayfalarında kullanabilecekmiyim yoksa hepsine ayrı ayrı mı kaydetmem gerekiyor.
 
Sayın ceydasima,

Modül, form sorgu rapor gibi access uygulamasının bir nesnesi. Foemları nereden ekliyorsanız oradada Modüller düğmesi olmalı ona basınca yeni moduül oluştur derseniz çıkan sayfaya kodları yapıştırın.

Elbette bir kez modüle kaydetmekle o uygulamanın hertarafında kullanabilirsiniz.

İyi çalışmalar
 
teşekkürler ilgilendiğiniz için bununla değil ama başka yolla çözdüm = den sonra yazılan şeyin teleffuzu zor ve akılda kalıcı değil ben türkçe kullanıyorum
 
teşekkürler ilgilendiğiniz için bununla değil ama başka yolla çözdüm = den sonra yazılan şeyin teleffuzu zor ve akılda kalıcı değil ben türkçe kullanıyorum

Biz de çok çalışıp kendi programlarımızı oluşturmuş olsaydık o zaman Amerikalılar Türkçe yazmak zorunda olurlardı. O zaman Function yerine İşlev yazardık.

Ama maalesef programlardaki deyimler İngilizce:tongue:
 
Geri
Üst