Hai teman2 seperjuangan 45, kali ini aq akan bahas tentang source code untuk edit data dan cari data. Ini permintaan dari beberapa teman seperjuangan 45.
Logika : Sebelum kita meng-Edit data, terlebih dulu kita harus mencari dulu data yang akan kita edit.
Algoritma :
- Apabila kita klik cmdCari maka akan mencari data, setelah ketemu apabila kita ingin meng-Editnya kita klik cmdEdit
- Apabila kita klik cmdEdit maka caption-nya akan berubah menjadi "Simpan", cmdTambah, cmdHapus, cmdCari menjadi non aktif (enable=false), dan cmdKeluar caption-nya berubah menjadi "Cancel", dan txtNIM jadi tidak aktif (tidak bisa di edit) [txtNIM.enable = False]
- Apabila kita telah selesai meng-Edit data maka klik "Simpan", EVEN : cmdEdit caption-nya menjadi "Edit" (karena tadi kita rubah menjadi "Simpan" maka harus kita kembalikan menjadi "Edit" caption-nya), cmdTambah, cmdHapus, cmdCari menjadi aktif (enable = True), dan cmdKeluar caption-nya berubah menjadi "Keluar" (karena tadi kita rubah menjadi "Cancel" maka harus kita kembalikan menjadi "Keluar" caption-nya), dan txtNIM menjadi aktif kembali [txtNIM.enable = True], semua Text menjadi bersih.
Berikut Source Code pada cmdEdit, cmdCari, dan cmdKeluar :
Private Sub cmdEdit_Click()
If cmdEdit.Caption = "&Edit" Then
cmdEdit.Caption = "&Simpan"
cmdTambah.Enabled = False
cmdHapus.Enabled = False
cmdCARI.Enabled = False
cmdKeluar.Caption = "&Cancel"
txtnim.Enabled = False
txtnama.SetFocus
Else
With Adodc1.Recordset
!Nama = txtnama.Text
!Alamat = txtalamat.Text
!Kota = txtkota.Text
!Tgl_Lahir = Format(txttgllhr.Text, "dd-mm-yyyy")
If Option1.Value = True Then
!JenKel = "L"
ElseIf Option2.Value = True Then
!JenKel = "P"
End If
!Kode_Jur = Combo1.Text
.Update
Set DataGrid1.DataSource = Adodc1.Recordset
End With
cmdEdit.Caption = "&Edit"
cmdTambah.Enabled = True
cmdHapus.Enabled = True
cmdCARI.Enabled = True
cmdKeluar.Caption = "&Keluar"
txtnim.Enabled = True
bersih 'dari sub bersih'
End If
End Sub
Private Sub cmdCARI_Click()
tampil_data 'dari sub tampil_data'
Set DataGrid1.DataSource = Adodc1.Recordset
txtnim.SetFocus
End Sub
Private Sub CmdKeluar_Click()
If CmdKeluar.Caption = "&Keluar" Then
If MsgBox("Apakah Anda yakin mau keluar???", vbYesNo + vbQuestion, "Exit Confirm") = vbYes Then
End
End If
Else
cmdEdit.Caption = "&Edit"
cmdTambah.Enabled = True
cmdHapus.Enabled = True
cmdCARI.Enabled = True
cmdKeluar.Caption = "&Keluar"
txtnim.Enabled = True
txtnim.SetFocus
End If
End Sub
Private Sub bersih()
txtnim.Text = ""
txtnama.Text = ""
txtalamat.Text = ""
txtkota.Text = ""
txttgllhr.Text = ""
Combo1.Text = "TINF"
Option1.Value = False
Option2.Value = False
txtnim.SetFocus
End Sub
Private Sub tampil_data()
Adodc1.Refresh
With Adodc1.Recordset
.Find "NIM = '" & txtnim.Text & "'"
If .EOF Then
MsgBox ("Data tidak ditemukan"), vbInformation, "Information"
Else
txtnim.Text = !NIM
txtnama.Text = !Nama
txtalamat.Text = !Alamat
txtkota.Text = !Kota
txttgllhr.Text = !Tgl_Lahir
If !JenKel = "L" Then
Option1.Value = True
ElseIf !JenKel = "P" Then
Option2.Value = True
End If
Combo1.Text = !Kode_Jur
End If
End With
Set DataGrid1.DataSource = Adodc1.Recordset
End Sub
NB : Jangan asal copy paste aja yaw pren, ntar kalo eror bingung, pastikan semuanya sesuai dengan "name" pada properties-nya.
Okey mudah-mudahan bermanfaat tutorial kali ini, semoga sukses and salam kompak selalu. SELAMAT MENCOBA.
NB : Jangan asal copy paste aja yaw pren, ntar kalo eror bingung, pastikan semuanya sesuai dengan "name" pada properties-nya.
Okey mudah-mudahan bermanfaat tutorial kali ini, semoga sukses and salam kompak selalu. SELAMAT MENCOBA.
. thanks, tapi kalo nampilinnya di datagridnya langsung gimana?
BalasHapus. misal aku ketik huruf s datagrid muncul nama2 yg berawalan huruf s aja, gimana tuh?
iyaw,,, klo untuk masalah seperti itu aq belum pernah menjumpai...
BalasHapustapi kan aq usahain....
sblmnya saya manggil apa y?? hehe.. abg aja la, ^_^
BalasHapusMakasi bnyk bang ilmunya di share, berguna bgt bagi orang sperti saya yang pengen belajar visual basic... makasi bnyk ya bg..
oiya, satu lagi, bole nanya sorce buat ngesave data report gk bang??? maaf klu saya 2 do point.. ^_^
Wah bisa ngerjakan tugas dengan baik
BalasHapusWah bisa ngerjakan tugas dengan baik
BalasHapusThanks yaa
BalasHapus