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