Rakam yazan miktarın,diğer metin kutusunda yazıyla yazılması
#1
Merhaba.

Tutarsayı isimli metin kutusunda mesela 15.450,80 yazdığımızda,
Tutarmetin yazılı metin kutusuna kendiliğinden Onbeşbindörtyüzelli,seksen yazması için (yazıyla yazması için) ne gibi kod gereklidir ve nereye yazmamız gerekir.

Teşekkürlerimle.



  Alıntı
Bu mesajı beğenenler:
#2
Merhaba...

Modüller sekmesinden seni bir modül açıp içerisine

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üz"
Else
e$ = b$(c(1)) + "yü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ıfır"
If pozitif = 0 Then s$ = "" + s$
yaz$ = s$
GoTo tamam
hata: yaz$ = "hata"
tamam:
End Function

yazın..

Tutarmetin kutusunun Denetim Kaynağına da

Kod:
=YTL([Tutarsayı])

yazın, istediğiniz sonucu alacaksınız..

Saygılar, selamlar.. Smile



  Alıntı
Bu mesajı beğenenler:
#3
Sayın Taruz,

Form açıldığında, Tutarsayı adlı metin kutusunda sayı yoksa, modüldeki;
a$ = Str(sayi)
satırı hata veriyor. (İnvalid use of Null)

Hatayı resetleyip forma geri gelip, sayı yazdığımızda Yazıyla gösteriyor.

Genelde sayı olan metin kutusu boş olacağı için, devamlı bu hatayı alacağım.
Bunu nasıl düzeltebilirim.

Selamlar.



  Alıntı
Bu mesajı beğenenler:
#4
Merhaba;

"YTL" Fonksiyonunu alttaki gibi değiştiriniz. Hata halinde fonksiyondan çıkması olarak..

Kod:
Function YTL(sayi)
On Error GoTo Taruz
    
    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
Taruz:
    Exit Function
End Function

Bu şekilde eğer sayı yoksa hiçbirşey çıkmaz ama çıksın derseniz "tutarmetin" denetim kaynağını da alttaki gibi yapınız..

Kod:
=nz(YTL([Tutarsayı]);" Sayı Yok ")
Javascript
  1. this.setState({sign:"Here comes the sun...."})







  Alıntı
Bu mesajı beğenenler:
#5
Sayın Beab2005 ve Taruz;

Harikasınız. Çok teşekkür ediyorum.

Selamlarımla.



  Alıntı
Bu mesajı beğenenler:
#6
calışmanız takdire şayan doğrusu.
Bütün arkadaşlar adına size teşekkürü bir borç bilirim.
Ancak aklıma bir şey geldi bu yöntemi tarih alanı için nasıl uygulabiliriz.veya elinizde bunun için farklı bir kod varmı?
İlginiz için minnettarım.



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [FORM] Rakam Yerine Metisel Gösterim Access Ziyaretçisi 5 428 25-02-2025, 19:28
Son Mesaj: halily
  [FORM] Form Açıkken Diğer Formda Işlem Yapabilmek caytug 6 559 02-10-2024, 10:12
Son Mesaj: caytug
  [FORM] Metin Kutusundaki Değeri Başka Bir Metin Kutusuna Aktarmak TheREDROSE 2 441 02-08-2024, 11:56
Son Mesaj: TheREDROSE
  Liste Kutusunda Il Ve Ilçe Isimleri Yerine Id Görünmesi MDİLBİRLİĞİ 3 508 22-06-2024, 21:15
Son Mesaj: dsezgin
  Uzun Metin Formatını Sql De Kısa Metin Formatına çevirebilir Miyiz? adnnfrm 2 586 06-08-2023, 03:51
Son Mesaj: adnnfrm
  [FORM] Diğer Kullanıcılar Programı Kullanıyorken Kapatma snapper 9 1.077 11-07-2023, 21:09
Son Mesaj: dsezgin
  Metin Kutusu Boş Sa Diğer Metin Kutusundan Değer Alması özgülapt 4 643 29-05-2023, 18:01
Son Mesaj: feraz
  [FORM] Sürekli Formda Belli Bir Sütundaki Satırları Tek Bir Metin Kutusunda Birleştirme dormin 4 674 18-01-2023, 14:29
Son Mesaj: dormin

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi