Bagaimana logika untuk validasi numerik yang disertai angka dibelakang koma? Nah, dengan menggabungkan posting sebelumnya dan sebelumnya, maka kita memperoleh logika untuk membuat validasi numeric yang memperbolehkan angka di belakang koma. Adapun kodenya adalah sebagai berikut:
Kode di atas akan sangat merepotkan, apabila harus memvalidasi banyak TextBox. Maka buatlah menjadi sederhana dengan menyimpannya pada module agar dapat diakses oleh seluruh form.
Contoh penggunaan:
READ MORE - Validasi Numeric Yang Disertai Decimal Symbol - Visual Basic 6
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim intDummyDecimalSymbol As Integer
intDummyDecimalSymbol = IIf(InStr(1, Text1.Text, Chr(GetDecimalSymbol)) = 0, GetDecimalSymbol, 0)
If Not ((KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = 8 Or KeyAscii = 45 Or KeyAscii = intDummyDecimalSymbol) Then KeyAscii = 0
End Sub
Private Function GetDecimalSymbol() As Integer
'akan memperoleh 44 untuk koma (,) dan 46 untuk (.) dan lain sebagainya.
GetDecimalSymbol = Asc(Mid$(1 / 2, 2, 1))
End Function
Kode di atas akan sangat merepotkan, apabila harus memvalidasi banyak TextBox. Maka buatlah menjadi sederhana dengan menyimpannya pada module agar dapat diakses oleh seluruh form.
'Simpan dalam module
Public Function GetNumericAndDecimal(txt As TextBox, Keyascii As Integer) As Integer
Dim intDummyDecimalSymbol As Integer
intDummyDecimalSymbol = IIf(InStr(1, txt.Text, Chr(GetDecimalSymbol)) = 0, GetDecimalSymbol, 0)
If Not ((Keyascii >= 48 And Keyascii <= 57) Or Keyascii = 8 Or Keyascii = 45 Or Keyascii = intDummyDecimalSymbol) Then
GetNumericAndDecimal = 0
Else
GetNumericAndDecimal = Keyascii
End If
End Function
Public Function GetDecimalSymbol() As Integer
'akan memperoleh 44 untuk koma (,) dan 46 untuk (.) dan lain sebagainya.
GetDecimalSymbol = Asc(Mid$(1 / 2, 2, 1))
End Function
Contoh penggunaan:
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = GetNumericAndDecimal(Text1, KeyAscii)
End Sub