BOUND FORM DAN UNBOUND FORM
1. BOUND FORM
Bound Form adalah sebuah form yang memiliki Record Source dari Tabel Atau Query atau bahasa indonesianya berarti form yang memiliki sumber data/record dari tabel atau query.
Form jenis ini bisa kita buat dengan menggunakan Wizard dari Access dan memilih Tabel atau query sebagai sumber data/recordnya.
Kelebihan dari form ini adalah kita tidak terlalu repot-repot dalam hal menyimpan, menghapus atau mengedit data, atau hal-hal lain yang berhubungan dengan data/record dari sebuah tabel. Dengan jenis form ini kita dapat dengan mudah untuk membuat event-event tanpa harus dipusingkan dengan bahasa pemrograman, misalnya kita ingin mencari data dengan menggunakan ComboBox atau ListBox, maka kita hanya perlu membuat sebuah ComboBox atau ListBox menggunakan Wizard dan memilih "Find a record on my form based on the value I selected in my combo box". lalu menyesuaikan field-field yang kita butuhkan dalam ComboBox atau ListBox tersebut.
Namun buat penulis, form jenis ini "kurang baik" dalam hal manajemen data, terutama jika kita hanya "membiarkan" code-code yang dibuatkan oleh access seperti apa adanya. Dari pengalaman penulis dengan form jenis ini, penulis selalu mendapatkan data-data atau record-record yang tidak sesuai dengan apa yang penulis mau, karena event-event atau statement-statementnya tereksekusi walaupun user telah mencegah atau mengcancelnya.
Contohnya, jika dalam tabel ada 1 Primary Key dan field tersebut telah terisi dalam form sedangkan field yang lainnya belum terisi lalu kita langsung menutup form maka akan tetap terbuat data/record baru dalam tabel.
2. UNBOUND FORM
Unbound Form adalah form yang tidak memiliki Record Source. Form jenis ini bisa dibuat dengan cara klik dua kali pada Create form in Design view.
Jika anda membuat form jenis ini, maka anda akan harus sedikit bekerja keras dalam hal menuliskan code-code atau script-script untuk event-event dalam form.
Kelebihan form jenis ini salah satunya adalah jika terjadi error atas suatu event, maka tidak akan berpengaruh apa-apa terhadap tabel anda (selama errornya terjadi sebelum dieksekusinya event penyimpanan/pengupdate-an data). Oleh karena itu penulis sarankan jika anda ingin menggunakan form jenis ini, lebih baik anda menempatkan code yang berhubungan dengan simpan, update, dan delete data diakhir code (hal ini untuk berjaga-jaga jika suatu saat terjadi error, maka code simpan, update, atau delete data tidak dieksekusi oleh Access).
Contoh Perbedaan kedua jenis Form diatas dalam hal Penyimpanan Data :
1. BOUND FORM
Dalam form jenis ini untuk menyimpan data, codenya seperti ini :
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
2. UNBOUND FORM
Dalam form jenis ini untuk menyimpan data, contoh codenya seperti ini :
Dim KoneksiDB As ADODB.Connection
Dim DataDB As ADODB.Recordset
Dim strKoneksi As String
Dim dbAplikasi as string
Set KoneksiDB = New ADODB.Connection
dbAplikasi = "c:\Nama Folder\Nama Aplikasi.mdb"
strKoneksi = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbAplikasi
KoneksiDB.Open strKoneksi
'Membuka Tabel yang diinginkan.
Set DataDB = New ADODB.Recordset
DataDB.CursorType = adOpenKeyset
DataDB.LockType = adLockOptimistic
DataDB.Open "NamaTabel", KoneksiDB, , , adCmdTable
'Menambahkan data kedalam Tabel
DataDB.AddNew
DataDB!<Nama Field 1 Dalam Tabel> = Me.<Field1 Dalam Form>
DataDB!<Nama Field 2 Dalam Tabel> = Me.<Field2 Dalam Form>
DataDB!<Nama Field 3 Dalam Tabel> = Me.<Field3 Dalam Form>
DataDB.Update
MsgBox "Data Berhasil Disimpan.", vbInformation
DataDB.Close
KoneksiDB.CloseAnda bisa melihat perbedaan diatas dalam hal code-code yang dibutuhkan untuk menyimpan data, untuk form dengan jenis Bound Form, maka codenya sangat simple dan coe tersebut tidak dapat anda terapkan pada form dengan jenis Unbound Form, sedangkan pada code untuk menyimpan data menggunakan Unbound Form, seperti yang anda lihat, maka anda harus mendeklarasikan beberapa variable terlebih dahulu, lalu membuat statement atau perintah untuk menyimpan datanya kedalam table yang dimaksud. Hal ini belum mengenai masalah duplikasi data, misalnya dalam table yang anda tuju, terdapat sebuah Primary Key, dan data yang sedang diinput oleh user ternyata sudah ada dalam tabel, maka untuk mengantisipasi hal ini anda harus membuat statement atau code yang bisa digunakan jika masalah tersebut terjadi. Belum lagi persoalan-persoalan yang lainnya.
Semoga bermanfaat...


02.14
Gie Satria
Posted in: 
0 comments:
Posting Komentar
No Sara, Violence, Porn, And Spamming Allowed