Memeriksa teks kosong pada kontrol

Topik sebelumnya Topik selanjutnya Go down

Memeriksa teks kosong pada kontrol

Post by PujanggaBageur on Fri Aug 08, 2008 11:17 pm

Ini adalah cara memeriksa teks yang kosong. Teknik ini sangat bermanfaat dalam pemograman database. Dimana dalam pemograman database, Anda tidak diperkenankan menyimpan dan menampilkan suatu data yang kosong (null).

Teknik ini akan melaporkan kontrol-kontrol yang properti Text-nya kosong (ingat! 0 [nol] bukanlah kosong).

Mulailah project baru. Tambahkan kontrol-kontrol dan ubah propertinya seperti petunjuk pada tabel berikut ini

Buat sebuah modul, ketik kode berikut!

Code:
Function TerisiSemua(frm As Form) As Boolean
    Dim ctl As Control, Nama As String
    'Melakukan pengulangan sebanyak kontrol
    'yang ada pada sebuah form
    For Each ctl In frm.Controls
        If TypeOf ctl Is TextBox Then
            If ctl.Text =  Then

                'mengisi nilai nama dengan dengan
                'properti Name dari kontrol,
                'setelah sebelumnya
                'mengganti karakter _
                'menjadi spasi ( )
                'kemudian menghapus string txt
                Nama = Replace(ctl.Name, "_", " ")
                Nama = Replace(Nama, "txt","")

                MsgBox Nama & " masih kosong", _
                      vbExclamation

                ctl.SetFocus
                TerisiSemua = False

                'Menghentikan pengulangan
                Exit For
                'Menghentikan fungsi
                Exit Function
            Else
                TerisiSemua = True
            End If
        ElseIf TypeOf ctl Is ComboBox Then
            If ctl.Text =  Then
                Nama = Replace(ctl.Name, "_", " ")
                Nama = Replace(Nama, "cbo", "")

                MsgBox Nama & " masih kosong", _
                      vbExclamation

                ctl.SetFocus
                TerisiSemua = False
                Exit For
                Exit Function
            Else
                TerisiSemua = True
            End If
        End If
    Next
End Function

KEtik kode ini di form!

Code:
Private Sub cmdPeriksa_Click()
    If TerisiSemua(Me) = True Then
        MsgBox "Data sudah lengkap", vbInformation
    End If
End Sub

Jalankan program, Anda kosongkan semua teks dari kontrol TextBox dan ComboBox, benar-benar kosong bukan 0 (nol). Klik tombol Periksa. Maka akan ditampilkan pesan Harga masih kosong, isikan nilai pada TextBox Harga, klik tombol Periksa, kali ini akan ditampilkan pesan Stok masih kosong, isikan nilai pada TextBox Stok, lakukan terus menerus langkah di atas hingga semua teks terisi dan akan ditampilkan pesan Data sudah lengkap.

Jika Anda cermati, urutan pemeriksaan teks dimulai dari TextBox Harga, kemudian TextBox Stok dan terakhir ComboBox Kode Barang. Padahal tentunya Anda menginginkan pengurutan ini dimulai dari kontrol paling atas atau ComboBox Kode Barang. Mengapa terjadi demikian?

Visual Basic akan memeriksa kontrol dimulai dari kontrol yang paling akhir dimasukkan ke dalam form (kontrol lain seperti Label dan CommandButton tidak diindahkan, karena dalam kode, hanya kontrol TextBox dan ComboBox saja yang diperiksa). Pada program di atas kontrol yang paling akhir adalah TextBox Harga, kemudian berturut-turut TextBox Stok, TextBox Nama Barang, baru kemudian ComboBox Kode Barang.
Bagaimana cara mengatasinya? Haruskah Anda mengulang (untuk memasukkan kontrol) dari awal dengan mula-mula kita meletakkan TextBox Harga ke dalam form diikuti kontrol-kontrol lain hingga ComboBox Kode Barang?

Tidak perlu repot-repot, Anda hanya perlu mengatur mode Bring to Front dari kontrol-kontrol yang dibutuhkan (ComboBox dan TextBox). Caranya: klik kanan dua kali pada TextBox Harga, pilih menu Bring to Front dari menu popup yang ditampilkan. Kemudian klik kanan dua kali juga pada TextBox Stok, pilih juga menu Bring to Front dari menu popup yang ditampilkan. Lakukan hal senada hingga ComboBox Kode Barang.
Sekarang coba jalankan kembali program!

PujanggaBageur
Admin
Admin

Jumlah posting : 148
Join date : 07.08.08
Age : 34
Lokasi : Cirebon

Lihat profil user http://inochi.forumotion.net

Kembali Ke Atas Go down

Topik sebelumnya Topik selanjutnya Kembali Ke Atas

- Similar topics

 
Permissions in this forum:
Anda tidak dapat menjawab topik