Sabtu, 02 Juli 2011

Koneksi ke database menggunakan ADODB

pertama kita buat dulu data base nya dengan mengunakan MS ACCES 2007/2003, Tapi untuk yang pake ms acces 2007 nanti file save nya di buat ke ms acses 2003 ja ya,hehehe........
buka ms accses 2007,pada menu table klik kanan trus pilih design view trus ketikan seperti pada gambar berikut :

Name Field Type Width
Npm Text 6
Nama Text 50
Tgllahir Date/Time
Alamat Text 100

tutup ms acces 2007 nya tapi inget saveanya harus 2003 dan inget file savenya di taruh dimana, kalo udah buka vb.6 nya buat tampilan nya seperti gambar berikut :

Adapun Keterangan Object pada form sbb:
1. 4 buah label dengan nama sembarang dan diberi caption seperti pada gambar (MANIPULASI RECORD, NIM, NAMA,
TGLLAHIR dan ALAMAT)
2. 3 Buah Textbox dengan nama TxtNim, TxtNama dan TxtAlamat)
3. 1 Dtpicker dengan nama Dttgllhr, format tanggal mengikuti format sistem operasi windows
4. 4 Buah Command Button dengan nama : cadd - caption Add, cedsave - caption Edit, cdelete - caption Delete
dan cexit - caption Exit
5. Sebagai catatan bahwa tombol cedsave adalah tombol dengan dua fungsi yakni sebagai Edit dan Save
6. Set TabIndex tombol cadd= 0, TxtNim = 1, TxtNama=2, Dttgllhr= 3 dan TxtAlamat=4 melalui jendela properties
masing-masing object
7. Selanjutnya Double klik form2 pada bagian kosong dan ketik listing seperti dibawah ini:

Atur tab index tombol Add=0, TxtNim=1, TxtNama=2 dst
Deklarasikan variabel yang digunakan pada area form2 seperti dibawah ini:

'Generals Declaration
Public Cn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public Rbaru As Boolean

'Pada form load ketikkan perintah untuk mengeset sekaligus membuka variabel CN (Connection)
Private Sub Form_Load()
Set Cn = New ADODB.Connection
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dbvb.mdb;Persist Security Info=False"
' Connecting STring dapat dicopy dari Connecting string control data ADODC nya
End Sub

'Double klik tombol Cadd dan ketikkan perintah seperti dibawah ini:
Private Sub cadd_Click()
txtnim.Text = ""
txtnama.Text = ""
dttgllhr.Value = Date
txtalamat.Text = ""
txtnim.SetFocus
End Sub

'Ketikkan perintah pengecekan record data pada event Txtnim LostFocus seperti dibawah ini:
Private Sub txtnim_LostFocus()
If Len(Trim(txtnim)) <= 0 Then
'Tidak melakukan aksi..
Else
' Buka recordset
Set rs = New ADODB.Recordset
rs.Open "Select * from Siswa", Cn, adOpenKeyset, adLockOptimistic, adCmdText
Rbaru = True
Periksa record data
If rs.BOF And rs.EOF Then
'Tabel yg di select tidak ada isinya
Else
cedsave.Caption = "&Save"
'Pindahkan pointer ke awal data
rs.MoveFirst
'Awal perintah perulangan untuk menelusuri record data
Do Until rs.EOF
'Jika NIM yang dicari = NIM Record data
If rs!NIM = Trim(txtnim) Then
Rbaru = False
cedsave.Caption = "&Edit"
' Berikan pilihan apakah akan ditampilkan record data pada pointer aktif
Tanya = MsgBox("Maaf NIM ini sudah pernah ada, Mau ditampilkan..? ", vbQuestion + vbYesNo, "NIM GANDA")
If Tanya = vbYes Then
' Jika User menekan tombol OK
txtnama = rs!nama
dttgllhr.Value = rs!tgllhr
txtalamat = rs!alamat
cdelete.Enabled = True
Exit Do
Else
'Jika User menekan tombol No
'Hapus isi TxtNIM
txtnim.Text = ""
cadd.SetFocus
End If
End If
rs.MoveNext
Loop
End If
End If
End Sub

'Perintah untuk menghapus record data pada tombol Cdelete
Private Sub cdelete_Click()
Tanya = MsgBox("Anda yakin menghapus Record yang tampil.?", vbQuestion + vbYesNo, "DELETE RECORD")
If Tanya = vbYes Then
rs.Delete
txtnim.Text = ""
txtnama.Text = ""
dttgllhr.Value = Date
txtalamat.Text = ""
MsgBox "Data sudah terhapus"
cadd.SetFocus
End If
End Sub

'Perintah untuk menyimpan data, perhatikan bahwa tombol cedsave merupakan tombol dual Function
'Dua fungsi sebagai pemicu Edit dan tombol Save
Private Sub cedsave_Click()
If cedsave.Caption = "&Save" Then
cedsave.Caption = "&Edit"
If Rbaru Then
rs.AddNew
End If
rs!NIM = Trim(txtnim.Text)
rs!nama = txtnama.Text
rs!tgllhr = dttgllhr.Value
rs!alamat = txtalamat.Text
rs.Update
MsgBox "Data sudah tersimpan"
Else
cedsave.Caption = "&Save"
Rbaru = False
End If
End Sub

Private Sub cexit_Click()
Unload Me
End Sub

Tidak ada komentar:

Posting Komentar