Pada artikel sebelumnya, penulis telah sedikit membahas tentang cara membuat custom menubar/menubar buatan sendiri dalam ms access. Jika anda belum tahu caranya silahkan buka artikel
Membuat Menubar/Toolbar sendiri dalam blog ini sebelumnya. Dan kali ini penulis akan share tentang bagaimana cara menampilkan custom menubar tersebut pada saat ms access/aplikasi database yang kita buat diload/dibuka.
Untuk menampilkan menubar, baik itu menubar buatan sendiri ataupun menubar standar/bawaan dari ms access, maka perintah yang digunakan adalah DoCmd.ShowToolbar. Struktur dari perintah ini adalah sebagai berikut :
DoCmd.ShowToolbar "Nama Toolbarnya", acToolbarYes/acToolbarNo/acToolbarWhereApprop
acToolbarYes -> Untuk menampilkan menubar/toolbar
acToolbarNo
-> Untuk menyembunyikan menubar/toolbar
acToolbarWhereApprop -> Untuk menampilkan menubar/toolbar pada objek yang didukung oleh menubar/toolbar tersebut ketika objek tersebut ditampilkan/dalam keadaan aktif.
Pada artikel membuat custom menubar yang lalu, penulis membuat sebuah custom menubar dengan nama MenuSendiri, sehingga jika di implementasikan, maka perintahnya menjadi :
DoCmd.ShowToolbar "MenuSendiri", acToolbarYes
Mungkin akan ada pertanyaan, dimana saya harus menempatkan kode tersebut ?, jawabannya ya tergantung dari keperluan anda heheheheh, namun biasanya (untuk penulis), penulis akan menempatkannya pada event On Close atau On UnLoad dari form yang dijadikan sebagai StartUp ketika aplikasinya dibuka (lihat cara membuat
form startup pada artikel sebelumnya.)
Nah kadang-kadang kan kita juga mau untuk menyembunyikan menubar/toolbar standar access dan hanya menampilkan menubar/toolbar buatan kita sendiri
Untuk menyembunyikan menubar standar access 2003, sejauh yang penulis tahu ada 2 (atau mungkin lebih tepatnya baru 2 cara yang penulis tahu).
Cara pertama adalah dengan menggunakan perintah DoCmd.ShowToolbar.
Dengan cara ini maka kita bisa memilah dan memilih menubar/toolbar apa saja yang tidak kita perlukan, dan menubar/toolbar apa saja yang kita butuhkan. Namun tentunya jika menggunakan cara ini anda harus tahu nama dari masing-masing menubar/toolbar standar access 2003. Dan menuliskannya satu persatu. Misalnya:
DoCmd.ShowToolbar "Menu Bar", acToolbarNo -> untuk menyembunyikan menubar access.
Untuk nama-nama toolbar yang lainnya bisa anda lihat pada menu Tools->Customize, nama-nama toolbar standar access berada pada tab Toolbars.
Cara kedua adalah dengan menggunakan statement For Next, dengan perintah Commandbars
Dengan cara ini maka seluruh menubar/toolbar bisa langsung disembunyikan, dan salah satu kentungan dari menggunakan cara ini adalah penulisan codenya sedikit, simple dan tidak "memakan" tempat. Namun jika menggunakan cara ini akan sedikit sulit jika anda mau memilah dan memilih menubar/toolbar apa saja yang mau disembunyikan atau ditampilkan.
Berikut adalah contoh codenya :
Dim intMTstd As Integer
For intMTstd = 1 To CommandBars.Count
CommandBars(intMTstd).Enabled = False
Next intMTstd
Berikut ini adalah langkah-langkah implementasi dari cara yang kedua (soalnya kalau cara pertama panjang nulisnya) :D versi yang biasa penulis lakukan.
Langkah Pertama:
Buat dahulu sebuah Form startup (form yang dijadikan startup ketika aplikasi dibuka). misalnya dengan nama frmStartUp seperti contoh yang pernah penulis buat dalam artikel Membuat Form StartUp.
Jika menggunakan Form Utama, maka persiapkan dahulu form utama tersebut, misalnya dengan nama frmUtama
Langkah berikutnya tergantung dari keperluan anda, namun disini penulis akan menyembunyikan semua menubar/toolbar, baik itu menubar/toolbar standar access maupun menubar/toolbar buatan sendiri pada saat frmStartUp dibuka/diload. Untuk keperluan tersebut maka penulis akan memasukkan code berikut ini kedalam event OnLoad dari frmStartUp :
Dim intMTstd As Integer
For intMTstd = 1 To CommandBars.Count
CommandBars(intMTstd).Enabled = False
Next intMTstd
DoCmd.ShowToolbar "MenuSendiri", acToolbarNo
Sehingga codenya akan menjadi seperti ini :
Private Sub Form_Load()
On Error Resume Next
Dim intMTstd As Integer
For intMTstd = 1 To CommandBars.Count
CommandBars(intMTstd).Enabled = False
Next intMTstd
DoCmd.ShowToolbar "MenuSendiri", acToolbarNo
End Sub
Efek dari code diatas adalah pada saat frmStartUp diload, maka semua menubar/toolbar akan disembunyikan.
Jika anda tidak menggunakan frmUtama, berarti anda akan menggunakan menubar/toolbar buatan sendiri, untuk itu maka anda tentunya harus menampilkan menubar/toolbar tersebut. Jika anda mengikuti apa yang penulis lakukan, maka yang harus anda lakukan adalah menempatkan code berikut ini kedalam event On Close atau On Unload dari frmStartUp atau pada form terakhir yang dibuka/diload pada saat aplikasi baru dijalankan. Namun jika anda menggunakan frmUtama, maka anda harus menentukan saat yang paling tepat untuk meletakkan code dibawah ini. Codenya adalah :
DoCmd.ShowToolbar "MenuSendiri", acToolbarYes
Sehingga codenya akan menjadi seperti ini :
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
DoCmd.ShowToolbar "MenuSendiri", acToolbarYes
End Sub
Efek dari code diatas adalah pada saat frmStartUp diunload, maka menubar/toolbar buatan sendiri akan ditampilkan, akan tetapi menubar/toolbar standar access akan tetap disembunyikan (karena tidak ada perintah dari kita untuk menampilkannya).
Untuk mengembalikan settingan menubar/toolbar menjadi standar, maka kita perlu memberikan perintah kepada access, yang menurut penulis lebih baik perintah tersebut diletakkan pada form/sebuah kondisi yang akan menutup aplikasi. Misalnya jika anda tidak menggunakan frmUtama, maka anda buat sebuah custom menubar dengan caption Exit (seperti dalam contoh pembuatan custom menubar dalam blog ini sebelumnya). Sekedar mengingatkan, jika pada artikel sebelumnya penulis membuat sebuah sub yang bernama Sub Keluar(), dengan codenya :
Sub Keluar()
If MsgBox("Apakah anda yakin mau keluar ?", vbQuestion + vbYesNo) = vbYes Then
DoCmd.Quit
End If
End Sub
Yang perlu anda tambahkan adalah code dibawah ini :
Dim intMTstd As Integer
For intMTstd = 1 To CommandBars.Count
CommandBars(intMTstd).Enabled =True
Next intMTstd
DoCmd.ShowToolbar "MenuSendiri", acToolbarNo
Sehingga code Sub Keluar() akan menjadi seperti ini:
Sub Keluar()
Dim intMTstd As Integer
If MsgBox("Apakah anda yakin mau keluar ?", vbQuestion + vbYesNo) = vbYes Then
For intMTstd = 1 To CommandBars.Count
CommandBars(intMTstd).Enabled =True
Next intMTstd
DoCmd.ShowToolbar "MenuSendiri", acToolbarNo
DoCmd.Quit
End If
End Sub
Efek dari code diatas adalah ketika user memilih Yes pada pesan pertanyaan, maka seluruh menubar/toolbar standar access akan ditampilkan kembali, dan menubar/toolbar buatan sendiri akan disembunyikan.
Semoga apa yang penulis sampaikan cukup menjelaskan, semoga berhasil dan Semoga Bermanfaat...