Sebagi alternatif untuk membuat menu pilhan, kita dapat menggunakan Activex Control Treeview. Treeview merupakan Activex Control yang dapat kita tambahkan pada aplikasi Microsoft Access yang kita bangun.
Untuk membuat menu pilihan menggunakan Treeview dapat dilakukan dengan langkah-langkah berikut:
MEMBUAT TABEL UNTUK KOMPONEN MENU PILIHAN
Buat dua buah tabel untuk menyimpan data menu.
1. Tabel menu0 dengan struktul tabel
- ID type field: Number(Integer)
- Menu_Item type field: Text(50)
- Tipe type field: Text(20)
2. Tabel menu1
- Menu_ID type field: Number(Integer)
- Menu_Item type field: Text(50)
- Object_Name type field: Text(20)
- Urutan type field: Number(Integer)
- Tipe type field: Text(20)
MEMBUAT FORM MENU DENGAN KOMPONEN TREEVIEW
Menambahkan komponen/object Treeview pada form Microsoft Access dilakukan dengan cara berikut:
- Buat form pada baru dengan mode design view
- Klik more controls icon (gambar palu dan kunci pas) pada toolbar toolbox
- Cari dan pilih (klick) pada Microsoft TreeView Control, version 6.0
- Klik pada area form design view, akan muncul object Treeview pada form baru
- Atur tinggi dan lebar object treeview sesuai kebutuhan
- Beri nama object treeview ini dengan nama TV
---------------------------------------------------------------------------
Private Sub Form_Load() Dim strSql1 As String Dim strSql2 As String Dim i As Integer i = 0 Set rsLevel1 = New ADODB.Recordset Set rsLevel2 = New ADODB.Recordset rsLevel1.CursorLocation = adUseClient rsLevel2.CursorLocation = adUseClient strSql1 = "SELECT * FROM Menu0 ORDER BY [ID];" rsLevel1.Open strSql1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic With TV .Nodes.Add , , "Root", UCase("MENU PILIHAN") .Nodes("Root").ForeColor = vbBlue .Nodes("Root").Bold = True i = i + 1 arrayMenu(i, 1) = UCase("MENU PILIHAN") arrayMenu(i, 2) = "-" While Not rsLevel1.EOF keyLevel1 = "G" & Trim(rsLevel1.Fields("Menu_Item")) Set nd = .Nodes.Add("Root", tvwChild, keyLevel1, UCase(Trim(rsLevel1.Fields("Menu_Item")))) nd.ForeColor = vbBlack nd.Bold = True nd.EnsureVisible i = i + 1 arrayMenu(i, 1) = rsLevel1.Fields("Menu_Item") arrayMenu(i, 2) = rsLevel1.Fields("Tipe") 'Tampilkan Level 2 strSql2 = "SELECT * FROM Menu_Qry WHERE [Menu_ID] =" & _ Trim(rsLevel1.Fields("ID")) & " ORDER BY [Urutan]" rsLevel2.Open strSql2, _ CurrentProject.Connection, adOpenKeyset, adLockOptimistic While Not rsLevel2.EOF keyLevel2 = "L" & Trim(rsLevel2.Fields("myKey")) Set nd = .Nodes.Add(keyLevel1, tvwChild, keyLevel2, UCase(Trim(rsLevel2.Fields("Menu_Item")))) nd.ForeColor = vbBlack nd.Bold = True i = i + 1 arrayMenu(i, 1) = rsLevel2.Fields("Menu_Item") arrayMenu(i, 2) = rsLevel2.Fields("Tipe") rsLevel2.MoveNext Wend rsLevel2.Close rsLevel1.MoveNext Wend End With End Sub
---------------------------------------------------------------------------
Tambahkan juga kode program berikut:
---------------------------------------------------------------------------
Private Sub TV_dblClick() If arrayMenu(TV.SelectedItem.Index, 2) <> "-" Then If arrayMenu(TV.SelectedItem.Index, 2) = "Form" Then DoCmd.OpenForm arrayMenu(TV.SelectedItem.Index, 1) ElseIf arrayMenu(TV.SelectedItem.Index, 2) = "Query" Then DoCmd.OpenQuery arrayMenu(TV.SelectedItem.Index, 1) ElseIf arrayMenu(TV.SelectedItem.Index, 2) = "Report" Then DoCmd.OpenReport arrayMenu(TV.SelectedItem.Index, 1), acViewPreview ElseIf arrayMenu(TV.SelectedItem.Index, 2) = "Exit" Then Keluar_Aplikasi End If End If End Sub Sub Keluar_Aplikasi() If MsgBox("Apakah anda yakin akan keluar dari aplikasi ini ?", vbQuestion + vbYesNo) = vbYes Then DoCmd.Quit End If End Sub
---------------------------------------------------------------------------
Contoh tampilan menu pilihan dengan menggunakan Treewiew
Keterangan:
Untuk membuka sub menu klik pada tanda + dari menu utama
Untuk mengeksekusi menu double click pada sub menu
Tidak ada komentar:
Posting Komentar