Skip to main content

Membuat Pengaturan Sistem Sendiri Di Access - Membuat Form (Bagian 4)

Seperti telah dijelaskan di bagian terdahulu. Pengaturan sistem yang akan kita buat mempunyai keunikan tersendiri. Keunikan itu terletak pada perancangan form yang akan kita buat berikut ini.

Jika umumnya, kita membuat form dengan menggunakan field sebagai bagian dari control form, maka kali ini kita membuat form dengan menggunakan nilai yang ada pada record sebagai control formnya.

Dasar berpikirnya adalah sebagai berikut. Pengaturan sistem disimpan dalam sebuah tabel, dalam hal ini diberi nama tblPreferensiSistem seperti di bawah ini, yang jumlah recordnya dapat dikatakan tetap. Dengan jumlah record yang tetap itu, maka kita dapat melakukan manipulasi data pada sebuah form untuk memberikan nilai yang diinginkan pada setiap recordnya, terutama untuk nilai pada field prefNilai (kolom Nilai Preferensi).
tblPreferensiSistem
Nama Preferensi Judul Preferensi Deskripsi Nilai Preferensi
borderDitampilkan Tampilkan Pembatas Pembatas (Border) untuk setiap kotak memasukkan data ditampilan
borderTipe Tipe Pembatas Tipe pembatas yang diinginkan
borderUkuran Ukuran Pembatas Ukuran yang digunakan untuk pembatas (border)
borderWarna Warna Pembatas Warna yang digunakan untuk pembatas (border)
fontTipe Tipe Font Tipe font yang digunakan
fontUkuran Ukuran Font Ukuran font tyang digunakan
lokasiFolder Lokasi Folder Lokasi folder tempat menaruh aplikasi database
namaPemilik Nama Pemilik Nama yang didaftarkan sebagai pemilik aplikasi
penggunaTampilkanNama Tampilkan Nama Pengguna Nama pengguna ditampilkan sebagai pengganti ID
monterUnit Unit Moneter Unit moneter yang dipakai
moneterPengucapan Pengucapan Unit Moneter Bagaimana unit moneter diucapkan, misalnya: IDR/Rp diucapkan Rupiah, JPY diucapkan Yen Jepang, dsb
Nilai Preferensi, karena disimpan dalam tipe data text/char, akan lebih mudah untuk dikonversi ke tipe data lain, seperti Boolean, Array, Number, Date/Time, dan lain-lain. Nah, nilai yang sudah dikonversi inilah yang kemudian akan digunakan sebagai pengaturan sistem yang sesungguhnya.

Karena setiap nilai mempunyai cara tersendiri untuk menyimpannya ke dalam tabel, maka kita juga harus membuat alat bantu yang disesuaikan dengan setiap control yang ada dalam form ini. Sebagai pedoman umum, untuk hal-hal yang menjadi prioritas atau penting, kita harus meletakkan nilai setiap control di bagian atas atau bagian pertama. Misalnya, untuk field dengan nilai namaPemilik ditempatkan di bagian paling atas, kemudian diikuti dengan nilai lokasiFolder, dan seterusnya.

Berikut ini adalah langkah untuk membuat form Preferensi Sistem. Control yang ada dalam form berikut ini hanya terbatas pada apa yang kita buat secara khusus. Kita bisa menambahkan contro lain, seperti judul form, tanggal, dan sebagainya.

Buatlah sebuah form dengan menggunakan Blank Form. Simpanlah form ini dengan nama frmPreferensiSistem. Lalu pada bagian Detail dari form, lakukan langka berikut ini:
  1. Sisipkan sebuah control Text Box beserta label yang menempel, lalu isikan properti pada control ini sebagai berikut: Name= namaPemilik
  2. Sisipkan sebuah control Text Box beserta label  yang menempel, lalu isikan properti pada control ini sebagai berikut: Name= lokasiFolder
  3. Sisipkan sebuah control Command Button di sisi kanan text box lokasiFolder, lalu isikan properti pada control ini sebagai berikut:
    1. Name= cmdBukaFolder
    2. Picture= Embbedded
  4. Sisipkan sebuah control Check Box beserta label  yang menempel, lalu isikan properti pada control ini sebagai berikut: Name= penggunaTampilkanNama
  5. Sisipkan sebuah control Text Box beserta label  yang menempel, lalu isikan properti pada control ini sebagai berikut: Name= moneterUnit
  6. Sisipkan sebuah control Text Box beserta label  yang menempel, lalu isikan properti pada control ini sebagai berikut: Name= moneterPengucapan
  7. Sisipkan sebuah control Text Box beserta label  yang menempel, lalu isikan properti pada control ini sebagai berikut: Name= fontUkuran
  8. Sisipkan sebuah control Spin Box di sisi kanan text box fontUkuran, lalu isikan properti pada control ini sebagai berikut: Name= SpinButton1
  9. Sisipkan sebuah control Check Box beserta label  yang menempel, lalu isikan properti pada control ini sebagai berikut: Name= borderDitampilkan
  10. Sisipkan sebuah control Combo Box beserta label  yang menempel, lalu isikan properti pada control ini sebagai berikut:
    1. Name= borderTipe
    2. Row Source= 0;Transparan;1;Garis Penuh;2;Garis Putus;3;Titik-titk
    3. Row Source Type= Value List
    4. Bound Column= 1
    5. Limit To List= Yes
    6. Column Count= 2
    7. Column Widths= 0";2"
    8. List Width= 2"
  11. Sisipkan sebuah control Combo Box beserta label  yang menempel, lalu isikan properti pada control ini sebagai berikut:
    1. Name= borderUkuran
    2. Row Source= 0;Hairline;1;1 pt;2;2 pt;3;3 pt
    3. Row Source Type= Value List
    4. Bound Column= 1
    5. Limit To List= Yes
    6. Column Count=2
    7. Column Widths= 0";1"
    8. List Width = 1"
  12. Sisipkan sebuah control Combo Box beserta label  yang menempel, lalu isikan properti pada control ini sebagai berikut:
    1. Name= borderWarna
    2. Row Source= 000000;Hitam;16777215;Putih;132786;Merah Maroon;13750737;Abu-abu Terang
    3. Row Source Type= Value List
    4. Bound Column= 1
    5. Limit To List= Yes
    6. Column Count= 2
    7. Column Widths= 0";2"
    8. List Width= 2"
Pada bagian Form Footer, lakukan langkah berikut ini:
  1. Sisipkan sebuah Command Button dengan properti sbb:
    1. Name= cmdSimpan,
    2. Caption= Simpan
  2. Sisipkan sebuah Command Button dengan properti sbb:
    1. Name=cmdDefault
    2. Caption= Kembali ke Default
Berikut ini gambar control yang ada di form frmPreferensiSistem dengan field tabel tblPreferensiSistem.
Berikut ini adalah kode VBA yang ada dalam form frmPreferensiSistem:
Option Compare Database

Private Sub cmdBukaFolder_Click()
  Me.lokasiFolder = membukaFolder(Nz(Me.lokasiFolder, ""))
  Me.lokasiFolder.SetFocus
End Sub

Private Sub cmdDefault_Click()
 kembaliKeDefault Me
End Sub

Private Sub cmdSimpan_Click()
  Dim rs As dao.Recordset
  Dim fld As dao.Field
  Dim ctl As Control
  Dim prp As Property
  
  If Not cekDbsTerbuka Then membukaDbs
  Set rs = membukaRecordset("SELECT * FROM tblPreferensiSistem", True)
  For Each ctl In Me.Detail.Controls
    Do While Not rs.EOF
      If Controls(ctl.Name).Name = rs.Fields("prefNama").Value Then
        If Controls(ctl.Name).Value <> rs.Fields("prefNilai").Value Then
          simpanNilaiPrefs ctl.Name, Nz(Controls(ctl.Name).Value, "")
        End If
      End If
      rs.MoveNext
    Loop
    rs.MoveFirst
  Next ctl
  Set rs = Nothing

End Sub


Private Sub Form_Open(Cancel As Integer)
  Dim rs As dao.Recordset
  Dim fld As dao.Field
  Dim ctl As Control
  Dim prp As Property
  Dim varVouchNumberFormat As Variant
  
  If Not cekDbsTerbuka Then membukaDbs
  aplikasikanFormat Me
  Me.AllowAdditions = False
  Set rs = membukaRecordset("SELECT * FROM tblPreferensiSistem", True)
  For Each ctl In Me.Detail.Controls
    Do While Not rs.EOF
      If ctl.Name = rs.Fields("prefNama").Value Then
        ctl.Value = tampilkanNilaiPrefs(ctl.Name)
          ctl.ControlTipText = menampilkanNilaiField("prefJudul", "tblPreferensiSistem", "prefNama", "'" & ctl.Name & "'") & _
                               vbNewLine & _
                               menampilkanNilaiField("prefDeskripsi", "tblPreferensiSistem", "prefNama", "'" & ctl.Name & "'")
          ctl.Controls.Item(0).Caption = menampilkanNilaiField("prefJudul", "tblPreferensiSistem", "prefNama", "'" & ctl.Name & "'")
      End If
      rs.MoveNext
    Loop
  rs.MoveFirst
  Next ctl
  rs.Close
  Set rs = Nothing
  If Me.fontUkuran = "" Then Me.fontUkuran = Me.SpinButton1.Min
  Me.SpinButton1.Value = Me.fontUkuran
End Sub

Private Sub SpinButton1_Change()
  Me.fontUkuran = Me.SpinButton1.Value
  Me.fontUkuran.SetFocus
End Sub

Ada satu fungsi membukaFolder yang digunakan untuk membuka folder, tanpa harus mengetikkan lokasi folder yang diinginkan. Untuk mengetahui fungsi membukaFolder itu, silakan klik di sini.

Bila form dibuka
Pada gambar animasi di atas, saat form dalam mode Design View, semua control masih terlihat acak, dapat dikatakan tidak jelas. Tetapi saat form dalam mode Form View, semua control terlihat dengan jelas, bahkan tip text juga dapat menjelaskan tiap control yang ada di dalamnya. Control Tip Text mengambil dari field prefJudul dan prefDeskripsi yang ada pada tblPreferensiSistem. Jadi, bila nilai yang ada pada masing-masing fieldJudul dan prefDeskripsi diubah, maka perubahan ini juga akan ditampilkan secara otomatis di form frmPreferensiSistem.

Saat sebuah nilai diubah, seperti nilai Ukuran Font yang diubah dari 11 menjadi 13, maka, setelah perubahan disimpan, nilai preferensi sistem untuk ukuran font juga berubah.

Animasi di bawah ini menunjukkan efek perubahan dari preferensi sistem yang kita buat sendiri.

Pada posisi awal, tipe pembatas masih berupa garis penuh dan warna pembatas masih abu-abu terang. Setelah itu, kita mengubah tipe pembatas menjadi garis putus dan warna merah maroon. Untuk melihat perubahan pengaturan, kita harus menutup form atau mengubahnya ke Design View untuk kemudian dibuka lagi dengan Form View. Hasilnya, semua pembatas pada kotak isian telah berubah menjadi garis putus dengan warna merah maroon. Pada bagian akhir, kita kemudian mengubah tipe pembatas kembali lagi menjadi garis penuh. Hasilnya, semua pembatas pada kotak isian kembali menjadi garis penuh dengan warna tetap merah maroon.

Baca juga:

Membuat Pengaturan Sistem Sendiri Di Access - Pengantar (Bagian 1)
Membuat Pengaturan Sistem Sendiri Di Access - Mendesain Tabel  (Bagian 2)
Membuat Pengaturan Sistem Sendiri Di Access - Membuat Modul (Bagian 3)

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Fungsi Untuk Menghitung Pajak Penghasilan PPh 21 di MS Access

Format Untuk Field Dengan Tipe Data Number dan Currency di MS Access