Code Simpan, Cari, Edit dan hapus data pada Visual Basic 6.0

Baca Juga

Berikut adalah comtoh penulisan code vb6 untuk simpan, cari, ubah dan hapus data dengan menggunakan Data Control, ADODC, dan ADODB. (codenya basic/pemula)

Code-code dibawah ini hanya sebatas code-code dasar untuk simpan, cari, ubah dan hapus, tidak disertakan code-code validasi, penanganan error ataupun code untuk koneksinya.




1. DATA CONTROL

Yang perlu diperhatian adalah bahwa Data Control membutuhkan index untuk pencarian yang selanjutnya untuk melakukan edit dan hapus data


#Simpan Data :

Data1.Recordset.AddNew
Data1.Recordset!namakolom1 = Text1.Text
Data1.Recordset!namakolom2 = Text2.Text
Data1.Recordset.Update
Data1.Refresh


#Pencarian Data :

Data1.Recordset.Index = "KodeIdx"
Data1.Recordset.Seek "=", Textcari.Text
If Not Data1.Recordset.NoMatch Then
     Text1.Text = Data1.Recordset!namakolom1
     Text2.Text = Data1.Recordset!namakolom2
Else
     MsgBox "Maaf, Data Tidak Ditemukan!"
End if


#Edit Data :

Kode ini sebaiknya dijalankan setelah kode pencarian dijalankan terlebih dahulu.
Data1.Recordset.Edit
Data1.Recordset!namakolom1=Text1.Text
Data1.Recordset!namakolom2=Text2.Text
Data1.Recordset.Update
Data1.Refresh


#Hapus Data :

Kode ini sebaiknya dijalankan setelah kode pencarian dijalankan terlebih dahulu.
Data1.Recordset.Delete
Data1.Refresh



2. ADODC



#Simpan Data :
Adodc1.Recordset.AddNew
Adodc1.Recordset!namakolom1 = Text1.Text
Adodc1.Recordset!namakolom2 = Text2.Text
Adodc1.Recordset.Update
Adodc1.Refresh



#Pencarian Data :


Adodc1.Recordset.Find "namakolom1='" + Text1.Text + "'", , adSearchForward, 1
If Not Adodc1.Recordset.EOF Then
     Text1.Text = Adodc1.Recordset!namakolom1
     Text2.Text = Adodc1.Recordset!namakolom2
Else
     MsgBox "Maaf, Data Tidak Ditemukan!"
End if


#Edit Data :

Kode ini sebaiknya dijalankan setelah kode pencarian dijalankan terlebih dahulu.

Adodc1.Recordset!namakolom1=Text1.Text
Adodc1.Recordset!namakolom2=Text2.Text
Adodc1.Recordset.Update
Adodc1.Refresh


#Hapus Data :

Kode ini sebaiknya dijalankan setelah kode pencarian dijalankan terlebih dahulu.
Adodc1.Recordset.Delete
Adodc1.Refresh



3. ADODB
Sebelum melangkah lebih jauh sebaiknya Anda membaca terlebih dahulu bagaimana koneksi database dengan menggunakan ADODB disini


#Simpan Data :
ado.Execute "INSERT INTO [nama tabel] VALUES ('" + Text1.Text + "','" +  Text2.Text + "')"


#Pencarian Data
Set Rs = New Adodb.Recordset
Rs.Open "SELECT * FROM [nama table1] WHERE [nama kolom1]='" + TextCari.Text + "'", ado
If Not rs.EOF Then
     Text1.Text = rs("namakolom1")
     Text2.Text = rs("namakolom2")
Else
     MsgBox "Maaf, Data Tidak Ditemukan!"
End if 


#Edit Data

ado.Execute "UPDATE [nama tabel] Set [namakolom1]='" + Text1.Text + _
                    "',[namakolom2]='" + Text2.Text + _
                    "' WHERE [nama kolom1]='" + TextCari.Text + "'"

Code diatas tidak memerlukan lagi kode pencarian seperti code edit untuk DATA dan Adodc


#Hapus Data
ado.Execute "DELETE * FROM [nama tabel] WHERE [nama kolom1]='" + TextCari.Text + "'"

Code diatas tidak memerlukan lagi kode pencarian seperti code hapus untuk DATA dan Adodc


Demikian, semoga bermanfaat.

Untuk Link download yang sudah saya perbaiki dapat dilihat pada halaman DOWNLOAD, walaupun baru sedikit semoga bisa bermanfaat,untuk cara download silakan lihat DI SINI, Terima kasih

57 Tanggapan

Bro, numpang naya, gua ad buat project, buat tugas kul nih,,, jdi project gua nih mke database mysql, odbc, n gua mke adodc,,, jdi klo gua compile file gua jdi *.exe, n mau ngejalankan k komp yg laen, gmna caranya spya project gua, bsa ttap trhubung k database nya ?

Yang Jelas di komp lain harus ada database (-di local server-) mysqlnya, kemudian harus membuat DSN dengan nama yang sama dengan DSN komp sebelumnya.

ralat "Adodc1.Recordset.Refresh" itu bukannya Adodc1.refresh

betul betul betul, thanks mas mockie, segera saya ganti codingnya

bro kalo semisal dari form 1 ke form 2 (untuk edit database )
terus adodc refreshnya di form 2: Form1.Adodc1.Refresh
ketika ada form 3 memanggil form 2 (untuk edit lagi) kan adodc refreshnya diform 2:
Form1.Adodc1.Refresh
itu gmn ya cara kodingnya Form1.Adodc1.Refresh dan Form1.Adodc1.Refresh di form2

makasih bantuannya

kenapa ya waktu aq isi SQL ke source code ko g bisa dikenali?????? mohon bantuannya..........

mungkin bisa diperinci lagi mas pertanyaannya, mungkin bs dengan contohnya, memang ada kode tertentu yang tidak dikenali database tertentu,, terima kasih

Ikutan nimbrung brow...
nch ane mo nanya,,,apa ch bedanya Data1 dgn Adodc1,trus DBGrid1 dgn DtaGrid1

Data dan adodc sama-sama digunakan untuk koneksi ke database, DATA lazim digunakan untuk koneksi dengan db Access berformat 97 kebawah, sedangkan ADODC dapat digunakan untuk yang berformat diatasnya dan banyak lagi pilihan database yang bisa dibuka dengannya.

DataGrid, untuk menampilkan data yang dikoneksikan dengan ADODC, sedangkan DBGrid untuk menampilkan data dengan koneksi DATAControl. Kalau dicoba dibalik g bisa .. he3

Terima kasih.

mas,,klo source kode simpan untuk combo gmana...
al'a saya buat pilihan untuk tanggal pke combo...mohon pencerahan'a !

sama seperti menyimpan dengan textbox mas. untuk menambahkan data setelah disimpan kedalam combo coba mas baca artikel vbjadul.net tentang mengisi list dan combo : 3 cara mengisi listbox dan combobox

Numpang tanya... Kalau mau menghapus data yang ada di datagrid namun yang dihapus tidak semua tapi hanya satu baris bagaimana listingnya ya?

sepertinya langsung diklik record pada datagridnya langsung pake code hapus
Adodc1.Recordset.Delete
Adodc1.Refresh
datagrid1.refresh

atau dicari dulu recordnya yang mana

Adodc1.Recordset.Find "namakolom1='" + Text1.Text + "'", , adSearchForward, 1
Adodc1.Recordset.Delete
Adodc1.Refresh

semoga dapat membantu..:)

gan,, klo untuk menyimpan data ke database dengan nama index yg sama gimana yah,,
contoh :
gw punya tabel pembayaran SPP dgn field NIS, Nama, Kelas, bulan_pembayaran.
yg jd index nya adlah field NIS,,
nah klo pengen nyimpan data dengan nis yg sama gmna yah???
apa harus pake array atau gmna??
mohon pncerahan nya gan,,,
thanks,,,

gan, klo muncul "can't find instalable ISAM" kira2 apanya ya gan??? mohon penerangan gan...

gan kalo untuk pencarian dua data dalam satu record bisa ga ???
contohnya pencarian NIM dan kode matakuliah menggunakan ADODC...

coba yang ini mas,,
Adodc1.Recordset.Find "namakolom1='" + Text1.Text + "' AND namakolom2='" + Text2.Text + "'", , adSearchForward, 1

gak jadi mas...

mas listing tambah untuk ADODC gmn ya mas...?

cra penulisan "namakolom" contoh nya kayak gimana ya?.....

kira2 bisa pake spasi ga ya?....
soalnya terdapat nama kolom yang ada spasi nya.....

mohon bantuan nya...

bisa didownload gx codingnya

mas bs mnt tlng g nih, sy lg ad tugas bikin input pasien tp hrs ad pesan klo msh kosong " daata blm ad" sedangkan bila data sudah ada pesan " Data sudah ada ", trs sdh sy bikin kq msh eror ya mas. bs d bantu g mas tlng d cek apanya yg salah.
ni kodingnya :

Private Sub CmdInput_Click()
If Cmdinput.Caption = "&Input" Then
Cmdinput.Caption = "&Simpan"
Cmdedit.Enabled = False
Cmdhapus.Enabled = False
Cmdtutup.Caption = "&Batal"
SiapIsi
KosongkanText
Text1.SetFocus
Exit Sub
Else
If Text1 = "" Or Text2 = "" Or Text3 = "" Or Text4 = "" Or Text5 = "" Or DP1 = "" Then
MsgBox "Data Belum Lengkap...!"
Text1.SetFocus
SiapIsi
'Exit Sub
Else

'If Text1 = "" Or Text2 = "" Or Text3 = "" Or Text4 = "" Or Text5 = "" Then
MsgBox "Data yang anda masukkan sudah terdapat dalam daftar" + vbLf + _
" ulangi pemasukkan data", vbExclamation, "Peringatan"
KosongkanText
SiapIsi
Text1.SetFocus
Exit Sub
'With RSPasien
If Not RSPasien.EOF Then
'Text1 = "" Or Text2 = "" Or Text3 = "" Or Text4 = "" Or Text5 = ""
Dim SQLTambah As String
SQLTambah = "Insert Into Pasien (NomorPsn,NamaPsn,AlamatPsn,Gender,Umur,Tanggal) values ('" & Text1 & "','" & Text2 & "','" & Text3 & "','" & Text4 & "','" & Text5 & "','" & DP1 & "')"
Conn.Execute SQLTambah
CmdRefresh_Click
Else
MsgBox "Data Sudah disimpan!", vbOKOnly, "Pesan"
End If
End If
End If
'End If
'End If
End Sub

gan pas saya mau delete di datagrid1, kok delete nya yang paling atas ya? Gmn cara nya supaya saya mau delete data yang di pilih. misalnya data nya ada di baris 2. Tolong di jawab ya.....

Salam Pramuka....

Wahhh bagus Baget isinya prient
Lihat balikyah pya aku...
http://pramukacbitasikmalaya.blogspot.com/

Terima kasih.

MOHON BANTUANNYA KALO PENCARIAN FIELD PADA TABEL YANG TELAH DIBUAT MENGGUNAKAN TEXT_CHANGE DAN TAMPIL PA FLEX GRID BAGAIMANA?
MISAL DI TEKS DI KETIK ADE, MAKA MUNCUL PADA FLEX GRID

ADE RAMDANI
ADE AHMAD
ADE RINDO
ADE JONI
.
.
.
DLL

MOHON SHARING SCRIPTNYA... via mail ulohmail@yahoo.com

makasih

coba pake syntax sql dengan like.

contoh : select * from datamahasiswa where nama like 'ADE%'

bang gmn klw tmbh combo.
tu code nya gmn y bang untuk pnambahan nya pada commend simpan data???
thank sblm nya....

Setelah simpan baru diload ke combonnya mas, yang lebih mudah pakai dbcombo atau datacombo saja :

http://www.vbjadul.net/2010/02/cara-menggunakan-dblist-dan-dbcombo.html

http://www.vbjadul.net/2010/02/cara-menggunakan-datalist-dan-datacombo.html

Terima kasih

thanks bgt ya ilmunya...
manfaat bgt buat saya :)

Iya sama-sama semoga bermanfaat :)

gan mau minta tolong nih, untuk form pencarian, pada command "cari" saya isi coding seperti ini
Adodc1.RecordSource = " SELECT * FROM student where nama lengkap = '" & Text5 & "'"
Adodc1.Refresh

tapi koq gagal? apa yang salah?

command edit sy kok ga bisa ya?
edit kan otomatis muncul tuh di text msg" utk nedit, truss kalo ud d edit lgsg tekan tombol simpan malah data baru hasil editnya yg msuk..bingung...maunya data yg tadi msh sama tp cuma d edit ga di tambah baru -_-

gan mw minta tolong donk,, mw nanya gimana cara mencegah data kembar pk adodc, biar saat disimpan keluar pesan data sudah ada gtu. tolong ya gan, baru pertama belajar soalnya, msh ga tw ap2.. makasih n sorry sebelumnya :) #bwt tugas tlg bantu y.. sorry n mksh skli lagi

menggunakan code pencarian dulu mbak, bila saat pencarian muncul pesan saat data dengan kondisi/nilai tertentu sudah pernah disimpan dalam database.
contoh :
Adodc1.Recordset.Find "namakolom1='" + Text1.Text + "'", , adSearchForward, 1
If Not Adodc1.Recordset.EOF Then
MsgBox "Maaf, Nomor sudah pernah digunakan!"
exit sub
else
' masukkan code simpannya disini
End if

pertanyaan 1 :Kenapa ya kalu aku klik hapus yang ke hapus malah data yang pertama kali saya buat bukan yang kita inginkan.
pertanyaan 2 : Gimana caranya biar data yang terhapus sesuai dengan data yang kita inginkan!

jawaban 1 dan 2
prinsipnya data yang akan dihapus harus dicari dahulu.
jadi urutan codenya dimulai dengan code pencarian baru diikuti code hapus record apabila record telah ditemukan.
contoh dengan adodc
Adodc1.Recordset.Find "namakolom1='" + Text1.Text + "'", , adSearchForward, 1
If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.delete
Adodc1.Refresh

Else
MsgBox "Pilih data yang akan dihapus"
End if

kalau familiar dengan adodb dan syntax sql, penghapusan record lebih mudah, lebih aman dan dapat digunakan untuk menghapus beberapa record yang diinginkan sekaligus.

contoh :
...
koneksi.execute "delete * from t_jual where no_jual='" & text1.text & ''"

...

pak mau tanya nich kalau mau update data langsung smua gimana to codingnya? contoh punya tabel nama,nim,tanggal jika wktu simpan nama,nim dikasih data sedangkan tanggal dikosongkan bagaimana jika smua data itu pengen update dengan datapicker tapi tanggalnya sma smua jadi serentak update gt?

gak eror,tapi kok masih gak kehapus ya?

Itu masukin codenya di option hapus bukan ? soalnya aku masukin kode di option hapus datanya tetap gak kehapus tapi juga gak eror.nah gmn tuh sarannya!!!
tolong segera di respon.
thnkz

Saya sarankan untuk menggunakan ADODB saja dengan syntax SQL contoh (dengan database ms Access)

dim con as ADODB.Connection
set con = New ADODB.connection

con.Provider = "Microsoft.jet.oledb.4.0"
con.Open App.Path & "\Data\data.mdb"

'update semua record
con.execute "update t_siswa set tanggal=#" + format(DTPicker1.value,"yyyy-MM-dd") + "#"

'jika yang diupdate hanya record tertentu dengan syarat tertentu
con.execute "update t_siswa set tanggal=#" + format(DTPicker1.value,"yyyy-MM-dd") + "# WHERE nim='" + text1.text + "'"

Kalau menggunakan Adodc bisa menggunakan metode looping untuk updatenya.

@ Giyan : mungkin masih ada masalah waktu (pada code) pencariannya.

mas biar jumlah barang bisa bertambah pas kita tambahin atau berkurang pada saat barang tersebut kita jual itu gimana scriptnya?hhhhe
respon ya :)

Dicari barangnya terus di Update, hehehe..

codenya gmn bang,5 hari lgy gw presentasi ni,jadi tolong dong bantunnya hhhe .

databasenya pake apa mas? koneksinya pake adodc atau adodb?

ADODB mas?
respon secepatnya ya mas

database nya gw bikin pake ms acces,koneksinya pake ADODB,mas.
tolong respon secepatnya mas

code update barang saat menjual :
koneksi.execute "update t_barang set qty=qty-" & val(text5.text) & " where kodebarang='" & text1.text & "'"

code update barang saat membeli :
koneksi.execute "update t_barang set qty=qty+" & val(text5.text) & " where kodebarang='" & text1.text & "'"

Terima kasih Gan, akhirnya bisa juga sekrang belajar vb

kalau itu data berupa, video gimana carnya gan?
terima kasih.

@Nurmala : Maaf,, saya belum pernah mencoba simpan video ke database mbak. Mungkin video disimpan didirectori tertentu, kemudian linknya disimpan kedalam database, lebih simple.

bos.. gimana bos klo buat buat koneksinya vb dengan mysql, yg dismbungkan dengan driver odbc. seperti itu kah kodenya klo buat simpan, edit, hapus, cari ???

mohon berikan penjelasan detilnya terhadap kodenya bos. thanks

bro mohon bantuannya untuk semuah.. gw punya table 1 dan 2 dan menggunakan Database mySQL.. yg buat saya penasaran itu dalam tabel 1 memiliki field kode dan stock dan table 2 memiliki field kode dan jumbel.. bila table 2 mempunyai data sebanyak 200 data penginputan,dan yg sama kodenya pada table 1 hanya kode, namun pada table 1 stock berkurang karena datanya sudah di ambil pada table 2.. untuk prtanyaan saya.. bila stock sudah berkurang.. bagaimana cara pengembalian stock yg berada di table 1,,dengan adanya pengambilan pada table 2.. tapi saya mengunakan database mySQL.. untuk logika loop update atau bisa di bilang loop edit. bisa saya tau source ny

gan aku udah coba pake script yang edit data dan pencarian data tapi kok scripnya gak ada yang jadi ya.. di tempate aq pasti masih aja ada kesalahannya. gimana tu gan. minta script pencarian data dan edit data lagi gan

gan kalau simpan data yg tampil di datagrid ke mysql server gmn ya?


Formulir Kontak

Nama

Email *

Pesan *

Pengikut