Selasa, 24 Maret 2015

penggunaan radio button dan checkbox dalam vb.net



Banyak pertanyaan yang diajukan tentang bagaimana cara mengolah data yang di dalamnya mengandung Radio Button (dalam vb 6.0 disebut option button) dan CheckBox. Pada bab ini kami akan membahasnya sebagai jawaban ataspertanyaan tersebut.

Membuat Project Baru

Tahapan pertama dalam mengolah data menggunakan Radio Button dan CheckBox adalah sebagai berikut:
1.         Buka visual studio 2008
2.         Klik create project
3.         Tulis nama project “Radio Button dan CheckBox”
4.         OK

Setelah membuat project baru dan menyimpannya di posisi tertentu, maka akan terbentuk folder project secara otomatis yang di dalamnya terdapat folder ... >> BIN>> DEBUG. Folder inilah yang akan dijadikan tempat menyimpan database.

Membuat Database Dan Tabel

Lakukan langkah-langkah di bawah ini untuk membuat database dan tabel.
1.              Buka database access 2003
2.              Buatlah sebuah database yang baru kemudian tulis nama database “DBLatihan.mdb” dan  simpan di posisi DEBUG project anda
3.              Kemudian buatlah tabel PEGAWAI dengan cara klik menu Create >> Table >> Klik kanan table1 >> Design View dan tulis nama tabel
Tabel Pegawai

Membuat Module Koneksi Database

Setiap project pengolahan database pasti memerlukan string koneksi ke database yang bersangkutan, oleh karena itu buatlah module koneksi dengan melakukan klik pada menu project >> add module >> Add.
Membuat module

Coding :
Imports System.Data.OleDb

Module Module1
    Public CONN AsOleDbConnection
    Public DA AsOleDbDataAdapter
    Public DS AsNew DataSet
    Public CMD AsOleDbCommand
    Public DR AsOleDbDataReader

    Sub Koneksi()
        Try
            CONN = NewOleDbConnection("provider=microsoft.jet.oledb.4.0;data source=dblatihan.mdb")
            CONN.Open()
        Catchex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Module

Form Pegawai Dengan Radio Button dan CheckBox

Sebagai langkah awal untuk menjawab pertanyaan tentang bagaimana membuat pengolahan database yang di dalamnya menggunakan Radio Button dan CheckBox, maka buatlah form pegawai dengan bentuk seperti gambar berikut ini.
Form user

Coding :
Imports System.Data.OleDb

Public ClassForm1
    'mendefinisikan gender han hobi yang akan menjadi pilihan
    Dim gender AsString
    Dim hobi AsString

    Sub Kosongkan()
        TextBox1.Clear()
        TextBox2.Clear()
        TextBox3.Clear()
        TextBox4.Clear()
        RadioButton1.Checked = False
        RadioButton2.Checked = False
        ComboBox1.Text = ""
        CheckBox1.Checked = False
        CheckBox2.Checked = False
        TextBox1.Focus()
    End Sub

    Sub DataBaru()
        TextBox2.Clear()
        TextBox3.Clear()
        TextBox4.Clear()
        RadioButton1.Checked = False
        RadioButton2.Checked = False
        ComboBox1.Text = ""
        CheckBox1.Checked = False
        CheckBox2.Checked = False
        TextBox2.Focus()
    End Sub

    Sub KETEMU()
        On Error Resume Next
        CheckBox1.Checked = False
        CheckBox2.Checked = False
        TextBox2.Text = DR.Item("Nama")
        TextBox3.Text = DR.Item("Alamat")
        ComboBox1.Text = DR.Item("sTATUS")
        'jika gender = Pria maka radiobutton1 di pilih (centang)
        IfDR.Item("gender") = "Pria" Then
            RadioButton1.Checked = True
        Else
            RadioButton2.Checked = True
        End If

        'jika hobi = Olah Raga maka checkbox1 dipilih (centang)
        IfDR.Item("hobi") = "Olah Raga" Then
            CheckBox1.Checked = True
        ElseIfDR.Item("hobi") = "Seni" Then
            CheckBox2.Checked = True
        ElseIfDR.Item("hobi") = "Olah Raga - Seni" Then
            CheckBox1.Checked = True
            CheckBox2.Checked = True
        End If
    End Sub

    Sub Tampilgrid()
        DA = NewOleDbDataAdapter("select * from Pegawai", CONN)
        DS = NewDataSet
        DA.Fill(DS)
        DGV.DataSource = DS.Tables(0)
        DGV.ReadOnly = True
    End Sub

    Private SubForm1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
        CallKoneksi()
        CallTampilgrid()
    End Sub

    Private SubTextBox1_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) HandlesTextBox1.KeyPress
        TextBox1.MaxLength = 5
        Ife.KeyChar = Chr(13) Then
            CMD = NewOleDbCommand("select * from Pegawai where NIP='" & TextBox1.Text & "'", CONN)
            DR = CMD.ExecuteReader
            DR.Read()
            IfDR.HasRows Then
                CallKETEMU()
                TextBox2.Focus()
            Else
                CallDataBaru()
            EndIf
        End If
    End Sub

    Private SubTextBox2_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) HandlesTextBox2.KeyPress
        TextBox2.MaxLength = 30
        Ife.KeyChar = Chr(13) Then
            TextBox3.Focus()
        End If
    End Sub

    Private SubTextBox3_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) HandlesTextBox3.KeyPress
        TextBox3.MaxLength = 30
        Ife.KeyChar = Chr(13) Then
            TextBox4.Focus()
        End If
    End Sub


    Private SubButton1_Click(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesButton1.Click
        IfTextBox1.Text = "" Or TextBox2.Text = ""Or TextBox3.Text = ""Or ComboBox1.Text = ""Then
            MsgBox("data belum lengkap")
            ExitSub
        Else
         'jika radiobutton1 dipilih maka ambil properti text-nya
            IfRadioButton1.Checked = True Then
                gender = RadioButton1.Text
            ElseIfRadioButton2.Checked = True Then
                gender = RadioButton2.Text
            EndIf

            'jika checkbox1 dipilih maka ambil properti text-nya
            IfCheckBox1.Checked = True Then
                hobi = CheckBox1.Text
            EndIf

            IfCheckBox2.Checked = True Then
                hobi = CheckBox2.Text
            EndIf

            'jika checkbox1 dan 2 dipilih maka ambil dan gabungkan properti text-nya
            IfCheckBox1.Checked = True And CheckBox2.Checked = TrueThen
                hobi = CheckBox1.Text & " - " & CheckBox2.Text
            EndIf

            CMD = NewOleDbCommand("select * from Pegawai where NIP='" & TextBox1.Text & "'", CONN)
            DR = CMD.ExecuteReader
            DR.Read()
            If Not DR.HasRows Then
                Dimsimpan As String= "insert into Pegawai values('"& TextBox1.Text & "','"& TextBox2.Text & "','"& TextBox3.Text & "','"& gender & "','" & ComboBox1.Text & "','" & hobi & "')"
                CMD = NewOleDbCommand(simpan, CONN)
                CMD.ExecuteNonQuery()
            Else
                Dimedit As String= "update Pegawai set Nama='"& TextBox2.Text & "',Alamat='"& TextBox3.Text & "',gender='"& gender & "',status='"& ComboBox1.Text & "',hobi='"& hobi & "' where NIP='"& TextBox1.Text & "'"
                CMD = NewOleDbCommand(edit, CONN)
                CMD.ExecuteNonQuery()
            EndIf
            CallKosongkan()
            CallTampilgrid()
        End If
    End Sub

    Private SubButton2_Click(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesButton2.Click
        IfTextBox1.Text = "" Then
            MsgBox("NIP harus diisi dulu")
            TextBox1.Focus()
            ExitSub
        Else
            IfMessageBox.Show("hapus data ini...?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
                Dimhapus As String= "delete from Pegawai where NIP='"& TextBox1.Text & "'"
                CMD = NewOleDbCommand(hapus, CONN)
                CMD.ExecuteNonQuery()
                CallKosongkan()
                CallTampilgrid()
            Else
                CallKosongkan()
            EndIf
        EndIf
    End Sub

    Private SubButton3_Click(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesButton3.Click
        CallKosongkan()
    End Sub

    Private SubButton4_Click(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesButton4.Click
        Me.Close()
    End Sub

    Private SubTextBox4_TextChanged(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesTextBox4.TextChanged
        DA = NewOleDbDataAdapter("select * from Pegawai where Nama like '%" & TextBox4.Text & "%'", CONN)
        DS = NewDataSet
        DA.Fill(DS)
        DGV.DataSource = DS.Tables(0)
    End Sub

    Private SubDGV_CellMouseClick(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.DataGridViewCellMouseEventArgs) HandlesDGV.CellMouseClick
        On Error Resume Next
        TextBox1.Text = DGV.Rows(e.RowIndex).Cells(0).Value
        CMD = NewOleDbCommand("select * from Pegawai where NIP='" & TextBox1.Text & "'", CONN)
        DR = CMD.ExecuteReader
        DR.Read()
        IfDR.HasRows Then
            CallKETEMU()
        End If
    End Sub

End Class



Tidak ada komentar:

Posting Komentar