Sebelum melangkah lebih jauh, terlebih dahulu siapkan sebuah database dengan minimal ada sebuah table yang didalamnya terdapat field- field sebagai berikut : Kode, Nama, Harga, Kuantitas, Total
Atau dapat dibuat sesuai dengan kebutuhan Anda, intinya ada field- field yang akan kita kalikan /jumlahkan /kurangkan dan atau operasi- operasi bilangan lainnya.Kemudian setelah database sudah siap, langkah selanjutnya adalah koneksi database dengan program, agar lebih simple akan kita gunakan ADODC untuk koneksinya, untuk langkah- langkah koneksinya dapat Anda simak pada artikel sebelumnya disini.
Tambahkan sebuah datagrid, kemudian set properti "datasource = Adodc1". Biarkan datagrid sesuai defaultnya, pastikan properti AllowUpdate bernilai True.
Tambahkan 2 buah textbox, 2 buah label dan 1 buah command. Atur properti masing-masing sesuai kebutuhan Anda. Kemudian Tuliskan kode simpan dibawah ini dalam jendela coding Anda :
Private Sub Command1_Click()
With Adodc1.Recordset
.AddNew
.Fields(0) = Text1.Text
.Fields(1) = Text2.Text
.Fields(2) = 0
.Fields(3) = 0
.Fields(4) = 0
.Update
End With
MsgBox "data telah ditambahkan"
Adodc1.Refresh
setdatagrid
End Sub
With Adodc1.Recordset
.AddNew
.Fields(0) = Text1.Text
.Fields(1) = Text2.Text
.Fields(2) = 0
.Fields(3) = 0
.Fields(4) = 0
.Update
End With
MsgBox "data telah ditambahkan"
Adodc1.Refresh
setdatagrid
End Sub
Untuk menghidari perubahan nilai dari field-field yang tidak ingin nilainya bisa diubah secara manual maka perlu adanya penguncian pada field-field tersebut. Tambahkan sebuah code berikut ke dalam jendela coding Anda.
Sub setdatagrid()
With DataGrid1
.Columns(0).Locked = True
.Columns(1).Locked = True
.Columns(4).Locked = True
.Refresh
End With
End Sub
With DataGrid1
.Columns(0).Locked = True
.Columns(1).Locked = True
.Columns(4).Locked = True
.Refresh
End With
End Sub
Inti dari edit-ing data grid adalah pada code dibawah ini. yaitu pada event afterColEdit
Private Sub DataGrid1_AfterColEdit(ByVal ColIndex As Integer)
DataGrid1.Columns(4).Text = DataGrid1.Columns(2).Text * DataGrid1.Columns(3).Text
Adodc1.Recordset.Update
End Sub
DataGrid1.Columns(4).Text = DataGrid1.Columns(2).Text * DataGrid1.Columns(3).Text
Adodc1.Recordset.Update
End Sub
Untuk mengoperasikannya cukup dengan menekan tombol enter setelah melakukan perubahan suatu field dalam sebuah record.
Yang perlu diperhatikan adalah setiap record haruslah ada field bernilai unik atau berbeda dari record yang lain (bisa dengan cara menggunkan primary key). Hal tersebut untuk menghindarkan error karena program tidak dapat melakukan update data lebih dari satu record, biasanya akan diikuti pesan error berikut :
atau pesan "debug" seperti ini :
dan ini :
Pencegahan error seperti diatas seharusnya dilakukan sejak proses penyimpanan dari awal, yang biasanya disebut dengan validasi. Ganti kode penyimpanan sebelumnya dengan code dibawah ini :
Private Sub Command1_Click()
If Not Text1.Text = "" Or Text2.Text = "" Then
With Adodc1.Recordset
.MoveFirst
.Find "kode='" & Text1.Text & "'", , adSearchForward
If Not .EOF Then
MsgBox "Data sudah Ada"
Else
.AddNew
.Fields(0) = Text1.Text
.Fields(1) = Text2.Text
.Fields(2) = 0
.Fields(3) = 0
.Fields(4) = 0
.Update
MsgBox "data telah ditambahkan"
End If
End With
Adodc1.Refresh
setdatagrid
End If
End Sub
If Not Text1.Text = "" Or Text2.Text = "" Then
With Adodc1.Recordset
.MoveFirst
.Find "kode='" & Text1.Text & "'", , adSearchForward
If Not .EOF Then
MsgBox "Data sudah Ada"
Else
.AddNew
.Fields(0) = Text1.Text
.Fields(1) = Text2.Text
.Fields(2) = 0
.Fields(3) = 0
.Fields(4) = 0
.Update
MsgBox "data telah ditambahkan"
End If
End With
Adodc1.Refresh
setdatagrid
End If
End Sub
Demikian. Selamat mencoba. Semoga bermanfaat.
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :