Hellow blogger......
Untuk posting kali ini saya akan membuat tanda baca pada vb 6 secara otomatis misal pada angka ribuan maka tanda baca atau titik adalah tiga angka dari belakang. Tanda baca ini biasa digunakan untuk mempermudah dalam membaca angka nominal pada satuan uang. yaitu seribu,sepuluh ribu dan seterusnya.Atau bisa disebut juga insert tanda baca secara otomatis dan tanda baca sesuai dengan nominal uang yang sedag diketikkan.
Baik langsung saja ke TKP ...
- Buat form standard
- Masukkan satu Label, satu textbox, satu command button seperti gambar
Setelah itu masukkan Source code berikut di event command 1
Private Sub Command1_Click() On Error Resume Next Dim data1 As String Dim data2 As String Dim sFinal As String Dim sLeft As String Dim sRight As String data1 = Text1.Text 'data original yang di input If Len(data1) = 4 Or Len(data1) = 5 Or Len(data1) = 6 Then 'mengambil panjang data yang diinput data2 = "." 'insert tanda baca sLeft = Left(data1, Len(data1) - 3) 'Mengambil tiga angka dari belakang sRight = Right(data1, 3) 'Mengambil angka paling depan dan diberi tanda baca sFinal = sLeft & data2 & sRight ' Menggabungkan hasil potongan dan diinsertkan tanda baca Label1.Caption = "Rp." + sFinal 'Menampilkan hasil di LABEL1 ElseIf Len(data1) = 7 Then 'Jika panjang data samadengan 7 maka jalankan prgram ini data2 = "." sLeft = Left(data1, Len(data1) - 6) f = Mid$(data1, 2, 3) sRight = Right(data1, 3) sFinal = sLeft & data2 & f & data2 & sRight Label1.Caption = "Rp." + sFinal 'Menampilkan hasil diLabel1 ElseIf Len(data1) > 7 Then 'Jika panjang data lebih dari 7 maka akan error Label1.Caption = "ERROR" End If End Sub
Jika program dijalankan dan klik proses maka hasilnya seperti berikut:
Salam Sepuluh Ribu Jam Untuk Jadi Expert..... ^_^
8 comments :
Ada yang lebih gampang
Private Sub Command1_Click()
Label1.Caption = "Rp " + Format(Text1.text,"#.##")
End Sub
Email :sm2untung@gmail.com
Terimakasih Masukannya....
Tapi ane coba tidak bisa om,
hasilnya tanda bacanya ada di belakang misal
Rp 10000 seharusnya Rp 10.000, tapi menggunakan syntaks ente hasilnya 10000. jadi tanda bacanya ada dibelakang. :)
Maaf keliru ketik ,pada "#.##" >>> menggunakan titik mestinya koma ,yang benar dibawah ini :
Private Sub Command1_Click()
Label1.Caption = "Rp " + Format(Text1.Text, "#,##") & " ,-"
End Sub
Wah Iya mas bro,...
Makasih Infonya sangat bermanfaat..
:)
tapi klo pake format "Rp " + Format(Text1.Text, "#,##") & " ,-" gak sa di save ke database na..
sangat bermanfaat!
kalo format nya sudah keganti otomatis kalo mau save ke database nya format nya harus integer dlu, cara balikin skrg gmana dong bro?
Sebelum disimpan hapus dulu tanda bacanya gan.
Pakai function "Replace".
contoh:
nominal = Replace$("100.000", ".", "")
hasil:
nominal = 100000
Gitu kira2 gan. :)
Semoga membantu.
Contoh : Tambahkan pada form Text1 , Command1, Command2
Copy Source code berikut :
Private Sub Command1_Click()
Label1.Caption = "Rp " + Format(Text1.Text, "#,##") & " ,-"
End Sub
Private Sub Command2_Click()
'Membuang Rp , yang setelah Rp ada sepasi
Label2.Caption = Replace$(Label1.Caption, "Rp ", "")
'Membuang ,- yang sebelumnya ada sepasi
Label2.Caption = Replace$(Label2.Caption, " ,-", "")
'Mengembalikan ke format semula
Label2.Caption = Format(Label2.Caption, 0)
End Sub
Post a Comment