Praktikum 8
Form Lanjutan
A. TUJUAN • • •
Pembuatan dan penggunaan Calculated Controls pada Form Fungsi Aggregate pada Form Menyembunyikan textbox pada subForm
B. DASAR TEORI MENGGUNAKAN CALCULATED CONTROLS PADA FORMS Seringkali diperlukan ringkasan informasi dari subform agar bisa ditampilkan pada main form. Contohnya, untuk menampilkan nilai subtotal dari detail order pada form main order. Pada praktikum ini akan dipelajari cara mengimplementasikan fitur seperti ini menggunakan calculated controls. Calculated control adalah unbound control dimana properti Control Source diset dalam suatu ekspresi. Calculated control hampir sama dengan calculated query seperti yang telah dibahas pada bab sebelumnya. PEMBUATAN CALCULATED CONTROLS PADA FORMS Pada bab ini, kita akan membuat text box hasil dari kalkulasi field Credits ke dalam suatu informasi yang lebih memberi arti [full year, half year]. Pelajari kembali yang sudah dibahas pada Bab 4.3.3.2 dengan menggunakan calculated query field. • Kerjakan langkah- langkah seperti yang ada pada Gambar 8.1 untuk membuat unbound text box pada form fmrCoursesMain.
Gambar 8.1. Membuat unbound text box pada sebuah form
• Set properti Control Source dari text box dengan menggunakan sintak : = <expression> Dalam hal ini, ekspresi harus merupakan fungsi “immediate if” Secara default, Access menginterprestasikan teks dalam properti Control Source sebagai nama dari variabel (misal nama dari field atau control yang lain • Uji form yang baru dibuat. MENAMPILKAN NILAI TOTAL PADA FORM UTAMA Pada bab ini, akan dibuat calculated text box (hasil kalkulasi pada text box) yang menampilkan jumlah kelas (section) yang berhubungan dengan tiap mata kuliah (course) yang ada. • Buat text box yang diberi nama txtNumSections pada main form seperti yang ada pada Gambar 8.2.
Gambar 8.2. Pembuatan unbound text box yang menampilkan jumlah sections yang berhubungan dengan tiap course.
Langkah berikutnya adalah merubah Control Source sehingga berisi suatu nilai ekspresi yang melibatkan fungsi Count(). Access memiliki beberapa fungsi aggregate (Sum(), Avg(), Count(), dll.) yang dapat dibuat pada main form yang merujuk pada suatu field yang ada dalam subform. 1. Gunakan fungsi aggregate untuk membuat calculated text box pada subform (sebagai “dummy” field untuk menampung hasil perhitungan yang tidak ditampilkan. 2. Buat calculated control pada main form yang merujuk pada dummy text box yang sudah dibuat pada langkah sebelumnya. MENGHITUNG FUNGSI AGGREGATE PADA SUBFORM • Buat unbound text box pada subform seperti yang ada pada Gambar 8.3. • Simpan subform tapi jangan di-close. • Kembali ke main form dan set properti Control Source dari txtNumSections dengan
nilai yang sama dengan nilai yang ada pada txtNumSectionsOnSub. Kita bisa menggunakan expression builder (seperti yang ada pada Gambar 8.4).
Gambar 8.3. Membentuk perhitungan (total/count) pada subform.
Expression builder mengorganisasi semua elemen dari lingkungan database ke dalam struktur hirarki. .
Gambar 8.4 : Menggunakan builder untuk melakukan ‘drilling down’ terhadap calculated control yang ada pada subform
Expression builder lebih praktis karena tinggal men- double-click bagian yang diinginkan. Alasan pengunaan nama depan frm pada nama form karena suatu form bisa merupakan komponen dari form yang lain. Jika kita pilih versi stand-alone pada builder, nama yang dibuat akan salah. • Close subform.
• Uji hasil dari form. Nilai txtNumSections dan txtNumSectionsOnSub harus sama seperti yang terlihat pada Gambar 8.5.
Gambar 8.5. Jumlah sections (kelas) pada main form
MENYEMBUNYIKAN TEXT BOX PADA SUBFORM Pada Gambar 8.5 dummy text box masih terlihat pada subform. Jika dummy text box ini akan dihilangkan ada dua cara untuk melakukan ini : cara pertama dengan mengeset properti Visible menjadi No; cara kedua dengan menggunakan page header atau page footer untuk menyembunyikan text box. Page header dan footer adalah bagian form yang hanya terlihat pada saat form tersebut dicetak. • Pada mode desain, pilih View -> Page Header/ Footer dari menu. • Drag (atau lakukan cut lalu paste) txtNumSectionsOnSub dari form header ke page header, seperti yang ada pada Gambar 8.6.
Gambar 8.6. Menyembunyikan hasil sementara yang ada di page header
• Uji hasilnya.
C. PERCOBAAN Kerjakan sesuai dengan dasar teori yang sudah dijelaskan sebelumnya. 1. Tampilkan nilai subtotal, tax, dan grand total pada form order Petunjuk : kita bisa menggunakan teknik yang sama. Perbedaannya adalah bahwa yang digunakan adalah fungsi Sum() bukan Count() untuk mengambil nilai subtotal untuk suatu order. 2. Buat dummy field pada subform OrderDetails untuk menghitung nilai subtotal untuk suatu order. 3. Hitung nilai tax dan nilai grand total pada form utama.(informasi ini diletakkan pada bagian bawah form – tapi bukan pada form footer).
D. LAPORAN RESMI 1. Buat laporan untuk setiap langkah yang diperlukan dalam menjawab soal yang ada pada bagian Percobaan. 2. Rangkum hasil yang anda dapat pada pembahasan tentang pembuatan form lanjutan