X   Site Message
(Message will auto close in 2 seconds)

Welcome to UtterAccess! Please ( Login   or   Register )

Custom Search
   Reply to this topicStart new topic
> Another Side Menu Alternative, Access 2016    
post Apr 12 2017, 08:24 AM

Posts: 138
Joined: 18-June 06

The hierarchical grid offers a very flexible tool for developing an application menu.

I have attached a menu I built with Exontrol's ExGrid ActiveX control (Exontrol.com)

I nice feature of this approach is that the user can reorganize the menu to suit his preferences because the menu entries are table based.

Bob McGaffic
Attached File(s)
Attached File  MenuAlternative.png ( 546.11K )Number of downloads: 448
Go to the top of the page
post Apr 12 2017, 03:56 PM

Posts: 138
Joined: 18-June 06

My posting was removed from the forum because one or more members felt I was advertising something. I am not. I just wanted to show an easy to use ActiveX control for building menu structures. MS Access does not do a really good job with hierarchical data display, even using MS TreeView. The control I used allows me to all the user to change the menu structure by editing the hierarchy directly MS Access using this control.

Below is the full text of the explanation I provided to the forum's moderators:

Hello UA Mod Team,

I am flattered that some forum members thought I used a third party tool to create the screen print in my posting this morning.

I want to confirm for you that I used only Microsoft Access 2016 with one ActiveX control from Exontrol.com. I have no financial interest whatsoever in Exontrol, but have found them easy to work with because they include a really good library of samples that work with Access. My reference was only for those members who may have wondered -- how exactly did he do that?

If you check my posts over the last month, you can see that I have posed several questions on colors. Forum member responses have helped me develop a shell for my application whose colorization can be changed by the user.

My screen print shows my menu form, which I clicked on the menu option Maintain colors. You can see that my form frmMaintain Color is opened to the right of menu.

I wrote the code to select colors (used FMS color-picker ActiveX control, now shown) and then both display the color and write its RGB values to my form's table. I am using this table to re-color my application, see menu item Change form colors.
My menu's colors are looked up in this table so that the user can easily change its color scheme. If you look at the table entries for Grid1, those are exactly the ones displayed in the screenprint.

Please delete the reference to Exontrol if you wish, and just say a third party ActiveX controls house, whose projects work very nicely with Microsoft Access

I certainly did not mean to ruffle anyone's feathers, just show what beautiful applications can be created with Access, if the developer pays attention to design issues: not going overboard with color, fonts, or clumsy layouts.

I'm saddened every time I see amateurish scheduling and calendar solutions built with native Access, when I have achieved professional looking results (professional = it looks like MS Outlook or MS Project) using third party ActiveX controls. Why reinvent the wheel, when inexpensive ActiveX controls do all the heavy lifting and allow the developer to focus on his application not writing utility type code.

Go to the top of the page
post Apr 21 2017, 07:11 PM

Posts: 331
Joined: 24-July 13
From: Vancouver, WA

I like their products and they are well done, but they definitely are not cheap...though I guess that's relative.

Either way, your menu looks good. thumbup.gif
Go to the top of the page
post Apr 28 2017, 06:55 AM

Posts: 138
Joined: 18-June 06


If you would like to experiment with the activeX control that I used, you can download it from Exontrol's website.

The nice thing about this company is that they allow developers unlimited use of their controls for testing purposes.

The control will have a small note at the bottom of the screen to the effect that this is for demonstration and testing purposes,

but there is NO TIME LIMIT on its use.

This takes the pressure of you to complete your evaluation within the 30 days that most control vendors will allow.

Also you don't have to buy the entire suite, just one control if that's all you need.

Go to the top of the page
post Jun 9 2017, 02:05 PM

Posts: 141
Joined: 5-April 09
From: Seattle, WA

A while ago, I also posted some screenshots and described a third party ActiveX grid control that has been indispensable in my Access application. My post was also removed which I assume was for the same reason. I realize that forums in general are very much abused by spammers advertising their products but I think it is possible to tell when someone is just trying to share with the community a product that works well for them and might help others. This is especially true for Access since so very few ActiveX controls actually work properly in Access and even fewer are actually SUPPORTED by the developers specifically for use in Access. You can probably count them on one hand.

And so in the spirit of sharing, I will try again. This is an amazing grid control: grouping, sorting, custom formatting by row, column, and cell, icon support, drag-and-drop, etc. I think it is a one-person company and the guy is really helpful. He often will make a new version just to solve one person's problem. He even has a forum section specifically for Access support. I use about 70 instances of this grid in my app and can't imagine working without it. It's also very reasonably priced.

10Tec ActivX Grid
Attached File(s)
Attached File  111.jpg ( 612.07K )Number of downloads: 224
Go to the top of the page
post Jun 10 2017, 09:43 AM

Posts: 65
Joined: 14-October 10

Congratulations, I found your menu very good, this is what we need, to leave our applications more and more, I have also been the target of many to think that I would be advertising my applications, but the idea is only to demonstrate that MS ACCESS Is able to do with professional layouts helping the end user to work with the tool.
Go to the top of the page
post Jul 10 2017, 04:02 PM

Posts: 4
Joined: 11-August 16

I like it! I have one simple question that I tried searching for in the help files and did not see in the sample files. I want to use this as a 2 tier menu (Based off a table) for example



However, I am trying to figure out how to apply a on click event to the row. So if a user were to click on Orders--->Open, it would open the Users open the "Open Orders form". Aka act as the standard navigation tabs in access.
Go to the top of the page
post Jul 22 2017, 01:05 PM

Posts: 138
Joined: 18-June 06

This code might help:

Private Sub Grid1_Click()
On Error GoTo Error_Grid1_Click

Dim mHandle As Long
mHandle = Grid1.Items.FocusItem
Dim mObject As String
If IsNull(Grid1.Items.CellValue(mHandle, 1)) Then
' Do nothing
If mEditMode = True Then
'Do nothing
mObject = Grid1.Items.CellValue(mHandle, 1)
On Error Resume Next
DoCmd.OpenForm mObject
DoCmd.OpenQuery mObject
DoCmd.OpenReport mObject, acViewPreview
End If
End If

Exit Sub
mtxt = "Error " & Err & ": " & Error$
modDialog.Box Prompt:=mtxt & "", Buttons:=(vbOKOnly + vbCritical), Title:="Message"
Resume Exit_Grid1_Click
End Sub

The Load event loads the records as follows:

Private Sub LoadFormGrid()

' Note: Color and font are set directly in the grid's own properties:
' Exgrid ActiveX control object>Properties
' Font = Tahoma 9 point

On Error GoTo Error_LoadFormGrid

Set mygrid = Me.Grid1.Object
Dim myset As DAO.Recordset
Dim myitems As EXGRIDLib.Items
Dim myh As HITEM, myC As HITEM
Dim h As Long, k As Long

Set myset = CurrentDb.OpenRecordset("SELECT " & _
"tblMenu.ItemDescription, " & _
"tblMenu.ItemObject, tblMenu.ItemId, tblMenu.ParentItemId, " & _
"tblMenu.SortSeq FROM tblMenu " & _
"ORDER BY tblMenu.ParentItemId,SortSeq;", dbOpenDynaset)

With mygrid
'Vertical scroll bars only
.ScrollBars = exVertical

'Column widths set by code
.ColumnAutoResize = False

'Indicator for searching column is marked or unmarked
.MarkSearchColumn = False

'Set height to match Access datasheet height
.HeaderHeight = 22

'Set item height to match Access datasheet height
.DefaultItemHeight = 22

'Enables full-row selection in the control; single field selection
.FullRowSelect = False

'Retrieves or sets a value that indicates whether an item is selected
'using right mouse button
.RClickSelect = True

'Retrieves or sets a value that indicates the data source for object
.DataSource = myset

'Retrieves or sets a value that indicates whether the control supports
'single or multiple selection
.SingleSel = False

'Retrieves or sets a value that indicates whether the grid lines are
'visible or hidden
.DrawGridLines = True

'Adds a button to the left side of each parent item. The user can
'click the button to expand or collapse the child items as an
'alternative to double-clicking the parent item
.HasButtons = exCustom

'Image 1 on ImageList is a right pointing arrow
.HasButtonsCustom(False) = 1

'Image 2 on ImageList is a down pointing arrow
.HasButtonsCustom(True) = 2

'Enables full row selection in control
.FullRowSelect = -1

.DataSource = myset
Set myitems = .Items
Do Until myset.EOF
'Note that column 3 is the second column to be loaded
'which contains ItemId
myh = myitems.FindItem(Nz(myset("ParentItemId"), 0), 2)
If myh > 0 Then
myC = myitems.FindItem(myset("ItemId"), 2)
With myitems
.SetParent myC, myh
.ExpandItem(myh) = False
End With
End If
Call DisplayInNonEditMode
End With

Exit Sub
mtxt = "Error " & Err & ": " & Error$
modDialog.Box Prompt:=mtxt & "", Buttons:=(vbOKOnly + vbCritical), Title:="Message"
Resume Exit_Error_LoadFormGrid
End Sub

Go to the top of the page
post Jul 22 2017, 02:20 PM

Posts: 138
Joined: 18-June 06

Just to clarify - my code posted above uses the ExGrid control not the control used by Jose in his example
Go to the top of the page

Custom Search
RSSSearch   Top   Lo-Fi    18th October 2018 - 11:57 PM