Home, Forum diskusi, Chatting, Download


Memahami ADODC melalui Data Form Wizard

Data Form wizard adalah salah satu fasilitas Add In yang disediakan oleh Visual Basic untuk membuat form isian data lokal maupun remote.

Pada Modul ini kita akan memanfaatkan fasilitas ini untuk mempelajari kontrol ADODC yang diperkenalkan sejak Visual Basic 6.0.

Mengaktifkan fasilitas Data Form Wizard

Anda dapat mengaktifkan fasilitas ini melalui menu Add Ins, Add Ins Manager, dan kemudian akan muncul dialog box Add-In Manager, dan lakukan double klik pada VB 6 Data Form Wizard.

Menjalankan Data Form Wizard

Untuk mengaktifkan data form wizard anda dapat memilihnya langsung pada menu Add-Ins, sehingga ditampilkan dialog box Data Form Wizard.

Lakukan klik Next, dan akan muncul dialog box berikutnya yaitu memilih jenis database yang akan digunakan, dalam hal ini Access (data lokal), atau Remote (SQL server)

Misalnya kita memilih Access, dan akan muncul dialog box berikut ini :

Tentukan nama database yang akan digunakan, misalnya C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb, dan lakukan klik pada tombol Next.

Dalam hal ini kita akan menggunakan ADO Data Control.

Tentukan Record Source yang akan digunakan, dalam hal ini kita menggunakan tabel Customers, kemudian tentukan field-field yang akan digunakan, dan kolom yang akan di Sort, dan klik pada Next.

Selanjutnya tentukan tombol-tombol yang ingin ditambahkan pada form, dan klik pada next.

Akhirnya akan menghasilkan suatu form frmCustomer.

Untuk menjalankan frmCustomer, anda dapat melakukan pengaturan pada Project, Project Properties, dan lakukan pemilihan frmCustomer pada bagian StartUp Object.

Mempelajari kontrol ADODC hasil Form Wizard.

Lakukan klik kanan pada kontrol ADODC, dan pilih ADODC Properties

Hal yang paling paling penting dari suatu ADODC adalah Connection String. Connection String ini  dapat dibuat dengan command Build, atupun dengan mengetik sendiri.

PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;

Misalnya dengan menggunakan command Build.

Dalam hal ini PROVIDER yang kita gunakan adalah Microsoft.Jet.OLEDB.3.51. Jenis provider ini sangat tergantung kepada jenis database yang kita gunakan, dalam hal ini adalah *.mdb.

Catatan :

Microsoft.Jet.OLEDB.3.51, hanya mampu membuka sampai database Access 97, untuk membuka data Access 2000, anda perlu mengunakan PROVIDER Microsoft.Jet.OLEDB.4.0.

Selanjutkan adalah menunjukkan database yang kita gunakan dalam connection.

Klik pada Test Connection untuk mencoba keberhasilan koneksi dengan sumber data.

Halaman Authentication dapat digunakan untuk login ke sistem database yang membutuhkan authentication User Name dan Password, misalnya pada database SQL Server.

Halaman RecordSource digunakan untuk menentukan sumber data dari Table, Query ataupun suatu SQL Statement. Dalam hal ini menggunakan SQL Statement :

select CustomerID,CompanyName,Address,City,ContactName,ContactTitle,Country,Fax,Phone,PostalCode,Region from Customers

Bound TextBox pada ADODC

Hasil dari Data Form Wizard menggunakan metode bound kontrol terhadap kontrol ADODC. Untuk mempelajari cara bound kontorl tersebut lakukan klik pada txtFields(0), dan pelajari properti-propertinya :

Property Value
DataSource DatPrimaryRs
DataField CustomerId

Dalam hal ini Property DataSource berisi DatPrimaryRs (nama dari kontrol ADODC), dan properti DataField berisi CustomerId (nama dari field yang di bound)

Periksa juga txtFields(1), dst.

Mempelajari Koding yang dihasilkan

Event datPrimaryRS_Error, merupakan event yang akan dibangkitkan ketika terjadi kesalahan pada proses data oleh ADODC.

Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean)
  'Ini merupakan tempat anda menempatkan kode error handling
  MsgBox "Data error event hit err:" & Description
End Sub

Event datPrimaryRS_MoveComplete, merupakan event yang akan dibangkitkan ketika terjadi perubahan posisi record.

Private Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
  'Dalam hal ini akan menampilkan posisi record pada data kontrol
  datPrimaryRS.Caption = "Record: " & CStr(datPrimaryRS.Recordset.AbsolutePosition)
End Sub

Event datPrimaryRS_WillChangeRecord, merupakan event yang akan dibangkitkan ketika akan terjadi perubahan pada record, yang dapat dipelajari dari parameter adReason, dan perubahan tersebut dapat dibatalkan dengan parameter adStatus.

Private Sub datPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
  'Merupakan tempat anda menempatkan kode validasi, ubah isi bCancel menjadi False untuk membatalkan perubahan
  'Event ini akan dibangkitkan ketika terjadi hal seperti
  Dim bCancel As Boolean

  Select Case adReason
  Case adRsnAddNew
  Case adRsnClose
  Case adRsnDelete
  Case adRsnFirstChange
  Case adRsnMove
  Case adRsnRequery
  Case adRsnResynch
  Case adRsnUndoAddNew
  Case adRsnUndoDelete
  Case adRsnUndoUpdate
  Case adRsnUpdate
  End Select

  If bCancel Then adStatus = adStatusCancel
End Sub

Event cmdAdd_Click, merupakan event untuk command button cmdAdd.

Private Sub cmdAdd_Click()
  On Error GoTo AddErr
  datPrimaryRS.Recordset.AddNew

  Exit Sub
AddErr:
  MsgBox Err.Description
End Sub

Event cmdDelete_Click, merupakan event untuk command button cmdDelete

Private Sub cmdDelete_Click()
  On Error GoTo DeleteErr
  With datPrimaryRS.Recordset
    .Delete
    .MoveNext
    If .EOF Then .MoveLast
  End With
  Exit Sub
DeleteErr:
  MsgBox Err.Description
End Sub

Event cmdRefresh_Click, merupakan event untuk command button cmdRefresh

Private Sub cmdRefresh_Click()
  'Bagian ini dibutuhkan pada lingkungan multiuser
  On Error GoTo RefreshErr
  datPrimaryRS.Refresh
  Exit Sub
RefreshErr:
  MsgBox Err.Description
End Sub

Event cmdUpdate_Click, merupakan event untuk command button cmdUpdate

Private Sub cmdUpdate_Click()
  On Error GoTo UpdateErr

  datPrimaryRS.Recordset.UpdateBatch adAffectAll
  Exit Sub
UpdateErr:
  MsgBox Err.Description
End Sub

Event cmdClose_Click, merupakan event untuk command button cmdClose

Private Sub cmdClose_Click()
  Unload Me
End Sub

Event Form_Unload, merupakan event untuk Form_Unload

Private Sub Form_Unload(Cancel As Integer)
  Screen.MousePointer = vbDefault
End Sub

PENTACOM, Jl. Samosir No. 21 Medan.
pentacom@yahoogroups.com


Dibuat  oleh hendra@indoprog.com
Medan - Sumatera Utara
Indonesia