Menghapus Seluruh Isi Textbox Secara Masal

Bagimana cara atau kodingnya menghapus seluruh isi textbox dalam sebuah form secara masal? Mungkin anda pernah membuat sebuah aplikasi yang dalam satu form terdapat lebih dari satu textbox, kalau jumlahnya banyak tentunya untuk mengkosongkan textbox tersebut membutuhkan script yang banyak pula dan membuat kita memerlukan banyak waktu untuk menulis script untuk mengosongkan textbox tersebut satu demi satu. Dengan sedikit script kita dapat menghapus atau mengosongkan isi semua textbox yang ada dalam satu form tidak perlu mengosongkan satu persatu. Cukup efisien bukan?

Bagaimanakah caranya? berikut kodingnya, Ketikan koding berikut ini
Private Sub ClearAll() 
    Dim Ctl As Control 
    For Each Ctl In Me.Controls 
        If TypeOf Ctl Is TextBox Then   
            Ctl.Text = "" 
        End If 
    Next 
End Sub

Kemudian panggil procedure diatas, misalnya kita panggil dengan mengeklik commandbutton seperti berikut ini
Private Sub Command1_Click() 
   Call ClearAll
End Sub 

Sebenarnya trik ini dapat anda terapkan pada semua control atau komponen selain textbox, misalnya kita ingin menghilangkan cek list pada beberapa checkbox dalam sebuah form.Kodingnya tinggal kita tambahi seperti berikut ini.
Private Sub ClearAll() 
    Dim Ctl As Control 
    For Each Ctl In Me.Controls 
        If TypeOf Ctl Is TextBox Then   
            Ctl.Text = "" 
        End If 

        If TypeOf Ctl Is CheckBox Then
            Ctl.Value = Unchecked
        End If
    Next 
End Sub

Jika ingin menambah control yang lain tinggal ditambahkan saja seperti koding di atas.
Satu trik lagi, koding atau script di atas dapat di modifikasi lagi dengan menaruhnya pada sebuah modul sehingga dapat dipanggil pada setiap form jika kita memiliki banyak form sehingga sangat menghemat waktu kita dalam menulis kode atau script. Bagaimana koding atau scriptnya ? berikut kodingnya

Public Sub ClearAll(Frm As Form) 
    Dim Ctl As Control 
    For Each Ctl In Frm.Controls 
        If TypeOf Ctl Is TextBox Then   
            Ctl.Text = "" 
        End If 

        If TypeOf Ctl Is CheckBox Then
            Ctl.Value = Unchecked
        End If
    Next 
End Sub

Kemudian panggil procedure yang telah kita buat dalam modul tadi pada sebuah form lewat commandbutton. Misal nama formnya adalah frmInputSupplier, maka cara panggil procedurenya sebagai berkut ini

Private Sub Command1_Click() 
   Call ClearAll(frmInputSupplier)
End Sub 

Tahukan perbedaannya dari ketiga procedure di atas...?

Script atau koding diatas tidak hanya untuk mengosongkan textbox saja, dapat juga anda gunakan untuk mendisable control secara masal dan lain sebaginya, tinggal anda kembangkan sendiri silahkan melakukan experimen :). 
Demikian tulisan ini saya buat semoga dapat bermanfaat. Jika ada yang kurang jelas silahkan kasih komentar. Tunggu tulisan saya berikutnya, kunjungi terus blog ini hehhehe :)



Tags:
Menghapus Seluruh Isi Textbox Secara Masal, Script Menghapus Isi Banyak Textbox Secara Masal, Trik mengosongkan textbox secara masal,Trik mendisable kontrol secara masal,

2 comments:

  1. Public Sub ClearAll(Frm As Form)
    Dim Ctl As Control

    For Each Ctl In Frm.Controls
    If TypeOf Ctl Is TextBox Then
    Ctl.Text = ""
    End If
    If TypeOf Ctl Is ComboBox Then
    Ctl.Combobox = ""
    End If
    Next
    End Sub

    klo combobox kok gak bisa gmn ya ??

    ReplyDelete
    Replies
    1. itu kodingnya masih salah om... coba ini koding ini om...

      Public Sub ClearAll(Frm As Form)
      Dim Ctl As Control

      For Each Ctl In Frm.Controls
      If TypeOf Ctl Is TextBox Then
      Ctl.Text = ""
      End If

      If TypeOf Ctl Is ComboBox Then
      Ctl.Text = ""
      End If
      Next
      End Sub


      Jika combobox nya pakai Style : 2-Dropdown List maka kodingnya seperti berikut :


      Public Sub ClearAll(Frm As Form)
      Dim Ctl As Control

      For Each Ctl In Frm.Controls
      If TypeOf Ctl Is TextBox Then
      Ctl.Text = ""
      End If

      If TypeOf Ctl Is ComboBox Then
      Ctl.ListIndex = -1
      End If
      Next
      End Sub

      Delete