tinygiant
Mar 30 2006, 03:51 PM
I've been working on this for about two days now and I finally think I have something presentable and useful for those of you GUIers out there. I started with the basic Explorer Bar concept that the Utterly Banned XyonX uploaded about eight months ago. I know there have been several revision to it since then by others, but all of the revisions, although cool, didn't seem to meet my needs (i.e. too much coding, didn't look like I wanted, etc.).
So I finally took the time to sit down and get what I wanted done. Here are some of the features:
1. The menu is completely table driven, including the Menu Titles, Menu Items, Icon Image, Whether they're open or closed on Form_Open, What order the menus appear in, what order the items appear in, etc. Changing any of these simply requires changing a number in tblDatabaseMenuItem
2. Mousing Over any item will highlight that item in yellow (the basic background is blue). Leaving any one menu will remove the yellow highlighting.
3. Clicking on any item will highlight that item in gray (to signify it's the current item), though you can still highlight other items by hovering over them. Clicking on another item will remove any other gray highlights except for the one just clicked.
4. Each pane is collapsible, and you can choose whether you want the pane collapsed on form open by setting the MenuItemStatus argument to True (Open) or False (Closed) in the Menu Table.
Here's how to interpret tblDatabaseMenuItem
MenuItemID - Unique Number to ID Menu Items and Used to Identify Panes
MenuItemText - What will actually appear on the menu
MenuItemDescription - Ostensibly ToolTip Text, but not implemented yet
MenuItemParent - MenuItemID of Main MenuItem under which this item will appear
MenuItemOrder - Order of MenuItem in Pane (For MenuItems with MenuItemParent=0, it's the order the panes will appear)
MenuItemAction - The action you want the item to do when it's clicked (i.e. Open Form - Not Yet Implemented)
MenuItemTarget - Target to perform that action on (i.e. Form Name - Not Yet Implemented)
MenuItemArgument - Any Argument to pass when it performs it's action (Not Yet Implemented)
MenuItemIcon - Path to Icon for MenuItem (Not Yet Implemented)
MenuItemStatus - True if you want the menu open when the form open, false if not. Has no effect for MenuItems whose MenuItemParent is not 0
Active - True if you want the menu item to show up at all, false to remove it from the menus
There are a few other features thrown in there, but I can't remember them right now. Please let me know what you think of this. I've put about 10 hours into it so far and am finally getting it work like I want it. I plan on making the main menu support up to 10 panes, but right now there are only three.
Any comments/criticisms appreciated. Enjoy.
tinygiant
Mar 30 2006, 04:00 PM
There is a small bug that maybe someone can help me out with. For some reason, when you first open the form, the highlighting hangs up a bit and it shows "Calculating..." in the status bar. But if you close the form and reopen (once or twice), it works fine. I've also have luck by opening the VBE and closing it and it working fine again. Any ideas?
perrymans
Mar 31 2006, 07:49 AM
Not bad for a Brown Shoe!
It opened and worked fine for me first time.
I will probably change it to not have the yellow mouse over and grey selection.
Instead, I like the text to become bold on mouse over, and on selection, and have the mouse pointer turn into a hand.
This is pretty sweet and simple! Just the way it should be.
Great job! Sean.
tinygiant
Mar 31 2006, 09:05 AM
Sean, thanks! It's my first attempt at creating a menu bar for a GUI. I think it's going pretty well so far.
There are still a bunch of changes/additions left. I'll post them as I go along, but for now they include:
1. Able to use up to ten menus (Done... Not posted yet)
2. Addition of icons (Easy, just have to make the icons)
3. Making the target/action stuff work
4. Create the Admin form to control the menu table (in the works, almost done).
If anyone has any suggestions, let me know.
I plan on keeping the table that controls the menu in the frontend to allow the user to modify which menu opens first on their computer and what order the choices are in (they can't change the choices, obviously).
CyberCow
Apr 1 2006, 07:30 AM
Looking good!
How about an Access 97 version?
Tomolena
Apr 1 2006, 12:35 PM
Why is XyonX "Utterly Banned?"
tinygiant
Apr 1 2006, 12:57 PM
I have no idea why XyonX is utterly banned. As for the 97 version, it's going to have to wait a little bit. I'm designing a GUI around my version of the explorer bar. When I get that design finalized, I'll try to get a 97 version to go along with the 2000 version I've working on right now.
New feature: I added a way to make a menu completely unavailable depending on your login permissions. For example, unless you were listed as databse admin, you will never see the database admin menu in the exploer bar. That should be in the next version that I post of this thing.
williams9969
Apr 2 2006, 10:25 AM
am looking forward to seeing your newest post tinygiant...it looks great as is...but am interested in your additions
keep up the great work
vr
DW
tinygiant
Apr 2 2006, 10:29 AM
There have been some new features added since my last post. It's become a full-screen GUI now. It'll probably take me a few more days to get some more functionality to it. I'll try to get some screenshots up, but I'm going to wait on the actual db post until I get it a little more complete.
jmcwk
Apr 3 2006, 09:24 PM
Very Nice! Anxious to see the next Version, am especially impressed with the simplicity of inputting the Menu Items etc. at the table level Like the colors as well, In fact there is not anything I do not like about it. I will be keeping an eye on this thread.
BTW what do you pilot? Just curious
tinygiant
Apr 3 2006, 09:28 PM
I've added tons of feature and made this little Explorer Bar into a full screen GUI. I just completed the simple interface that allows anyone to adjust the menu to suit them on their workstation. Which options they can change depends on their security level. For example, the dbadmin can change any option, but a regular user can only change the order in which the menu appears and whether it's expanded or collapsed on open. It's working out pretty well so far.
To answer your question, the mighty mighty A-10.
jmcwk
Apr 4 2006, 06:39 AM
Awesome!
tinygiant
Apr 4 2006, 04:56 PM
Here's the long awaited next version of the explorer bar. It's much more than just an explorer bar now, though. Attached is a full screen GUI for the Database I'm building. It centers around the menu for now. Here's how you can explore the basic features:
1. Select a SecurityLevel in the frame in the upper left corner of the form. Develop, Admin and User all have different permissions when it comes to modifying the menu.
2. Click on Menu Admin... at the bottom of the explorer bar. This will open up the Dynamic Menu Administration form to allow you to move items around, add items, delete items, etc. To see the results immediately, Click Apply and the menu on the left will refresh itself.
3. Click on a Menu Item. That menu item's info will populate at the top of the form underneath the db name. Where this happens is the same place the code will go to open the form in the big white subform area.
Notes: I know the icons in the upper right corner (help/quit) need work, they were just my quick hack at work in PSP8 for about five minutes. I also have to create an icon for the application itself and graphic to place in the subform area when no form is open.
Please provide feedback. This is by no means complete. I know there are many details that need attention. If you find something, feel free to let me know and I'll get it fixed in the next version I post, hopefully sometime early next week after I get everything I want into this basic GUI.
Enjoy!
jmcwk
Apr 4 2006, 05:20 PM
Appreciate this and will put it to use, will let you know how it goes. What is the purpose of the pulldowns at the top of the form? The pulldowns at the top of the form look somewhat out of place. Is there a future plan for their use?
Edited by: jmcwk on Tue Apr 4 18:45:29 EDT 2006.
tinygiant
Apr 4 2006, 06:40 PM
Of course there's a purpose.
The db this form is going into filters data for each persion in a gigantic organization via a hierarchical structure. Each person is assigned to a certain unit. The comboboxes cascade with superior and subordinate units to help filter the recordset that you see on the form that opens in the subform area. The old version of this db had these combos native to each form with complicated the process. I figured placing them on a single form and using the selections to filter each subform would make the whole thing a lot easier. The reason there are six is because we're dealing with records for thousands of people who are assigned to one of five, six or sever hierarchical structures. These combos are also enabled/disabled based on the viewing permissions of the logged in user. It's not all that complicated, but it is rather involved as far as the SQL goes.
jmcwk
Apr 4 2006, 06:43 PM
That explains it Thank You,
Looking forward to the next version. Your Menu Items are very familiar with me as I spent 26 years in the Air Force pretty cool stuff you have there.
tinygiant
Apr 4 2006, 07:36 PM
Since you're familiar, the combos will basically group each level from Command (ACC) to Wing to Group to Squadron to Unit to Flight to allow for filters. Each of my subforms has a listbox on the left side to show these filtered results. The source for the information to fill the combos is a table much like the menu table in the example, where an organization is listed and has a Parent who is another organization in that same table. How many iterations it takes to finally get to a organization who has no parent will determine how/which combo boxes will be filled with what information.
What do you do with all that time, anyway?
mlowell
Apr 5 2006, 12:44 AM
Thanks for posting your work..it is appreciated.
This is the best example of the explorer bar I have come across.
Well done.
--------------------
Martin
perrymans
Apr 5 2006, 07:49 AM
This is REALLY nice Ed, I especially always love easier administrative tools to manage the ever-advancing interface options.
Two suggestions:
1. In the menu admin form, using sunken text makes it hard to read.
2. Instead of the three buttons at the top, and Menu Admin button at the bottom, why not create an "admin" explorer bar grouping? Or use a small listbox that fills with the options? I have just always found these approaches much more flexible than cmdButtons.
This is hot stuff! And I thought pilots sat around all day talking about flying and playing beach volleyball!
Thanks. Sean.
tinygiant
Apr 5 2006, 09:25 AM
Sean,
1. I'm not sure which sunken text you're talking about on the admin form. To the best of my knowledge, there no sunken text anywhere in the example, mostly because I don't like it. Let me know where it is and I'll get rid of it.
2. The three buttons (actually a frame with three toggles) at the top are for example purposes only. They will not actually be there when the bar is in use. The permission will be set based on a who is logged in and what permissions they have stored in the tables. I just put the frame there for anyone that looks at the example to make swithching permissions easier. When you choose different options, you're allowed to do different things. For example, if you choose 'User,' the DB Admin Pane will disappear and when you open the Menu Admin form, you can't edit anything, only change order/expansion on open. If you choose 'Admin,' you're allowed to edit only certain controls on the Menu Admin form and the DB Admin Pane reappears.
Thanks for the suggestions, though. I'm always looking for them and trying to find a way to make it a little more user friendly. If you come up with any more ideas as you look at it a little closer, please let me know and I'll try to integrate them.
Martin -
Thanks!
tinygiant
Apr 5 2006, 05:56 PM
QUOTE
The pulldowns at the top of the form look somewhat out of place. (jmcwk)
Looking back on the replies, I'm taking this one as a suggestion also. Here's what's been added:
1. Subroutine to hide all the filter combos unless a form is present in the subform area that requires them. It does look much cleaner. Thanks.
2. Ability to actually open the form in the subform area when the menu option is clicked.
3. Subroutine to keep any subform open that is already open and the menu option that opened it highlighted grey when menu options are changed via the Admin Menu while a subform is open.
Things that have been taken away:
1. A LOT of excess VBA that was left over from me using functions/subs written by myself/others to make this whole highlighting thing work.
Still to be completed:
1. Come up with a graphic to center on the blank subform area when the db is first opened and nothing's there
2. Clean up some items on the admin menu (make combos show meaningful info etc)
3. Add login scripts, though I'll probably leave those out when I post the example to make things a little easier
4. Any suggestions/tips you guys may have!
Thanks for the help/reviews/advice so far. Hopefully not too much longer til this is "done."
P.S. No, the file's not attached, mostly just letting jmcwk know I'm using his suggestion!
jmcwk
Apr 5 2006, 06:05 PM
TinyGiant,
Wasn't really a criticism merely a cosmetic thing from a viewing standpoint that looked out of place. I am flattered that you took the suggestion though. Not sure but I think you asked what I did in the AF. Air Freight, Standard Operations, Logistics primarily. Loved everyminute of it but was time to retire Looking forward to the Update. What kind of ideas are you kicking around for your background Image? A-10 type Image/s?
tinygiant
Apr 5 2006, 06:17 PM
Criticism and suggestions are the same thing to me, most of the time. They have to be in my job.
Was planning on creating some kind of universal background, but will probably customize it with some kind of A-10 graphic that's looks embossed into the blue background. I've been playing around with PSP8 a lot lately and have had some success. We'll see. Do you have any ideas?
jmcwk
Apr 5 2006, 06:18 PM
That sounds good but I will see what I can find
perrymans
Apr 6 2006, 06:46 AM
I use a similar left-pane/ right-hand unbound subform structure in my db's, and the issue of that blank space came up.
So I created a blank form, matched the background to coordinate with the main form, then just placed a label in the middle that gave my name, e-mail, and phone and told people to contact me with any problems. Then loads that form on strt-up into the ubSubform.
Just a thought, probably doens't even warrant a suggestion.
Sean.
tinygiant
Apr 6 2006, 10:08 AM
Sean,
Good idea, but that assumes I want people calling me! I probably will do something like this until I can come up with a picture of some kind, so thanks for the idea. I've been including an automatic email to me whenever an error is handled, passing the error, subroutine and line error was created by, then I let the user know that I've been informed of the error and can be reach at whatever number. It has been working out pretty well.
jmcwk
Apr 6 2006, 04:07 PM
Ed,
I must have looked at 400 A-10 photos and nothing really popped out. Either the orientation was wrong or the image itself had no impact. I will continue to look however. One thing may be to list upcoming Events,schedules dealing with Group,Wing,or Squadron level somewhat like the Outlook Today Screen that lists your Appts. etc.
Edited by: jmcwk on Thu Apr 6 17:10:16 EDT 2006.
Nurofreeze
Apr 9 2006, 08:58 PM
Question.
Can the menu items only go 1 level deep?
tinygiant
Apr 9 2006, 10:14 PM
One level is all they go. I was trying to simulate the explorer bar you see in a lot of the folders in windows (which is not easy with Access for many reasons), and they run only one deep. I'm sure the code/setup can be modified to change that, but I don't think I'll be going that far in the near future. Thanks for the question. If you have any ideas to help modify, feel free to add them yourself (I should be putting out another version this week) or let me know and I can attempt to add/create them.
If you're looking to go further than one level, I would suggest using a Treeview ActiveX control as your menu system. You can find a good example of filling them by searching UtterAccess or looking at the
tutorial from Data Pig Technologies. You can also download the example used in the tutorials
here.
Hope this helps.
tinygiant
Apr 12 2006, 03:49 PM
Here's the latest version. Still not completely complete, but useful nonetheless, I believe. Here's are some of it's features:
1) Menus are completely table driven (see tblDatabaseMenuItem)
Here's how to interpret the table:
MenuItemID - Unique Number to ID Menu Items and Used to Identify Panes
MenuItemText - What will actually appear on the menu
MenuItemDescription - Ostensibly ToolTip Text, but you can put whatever you want in here
MenuItemParent - MenuItemID of Main MenuItem under which this item will appear
MenuItemOrder - Order of MenuItem in Pane (For MenuItems with MenuItemParent=0, it's the order the panes will appear)
MenuItemAction - The action you want the item to do when it's clicked (only OpenForm and OpenReport are implemented)
MenuItemTarget - Target to perform that action on (i.e. Form Name/Report Name)
MenuItemArgument - Any Argument to pass when it performs it's action (Not Yet Implemented)
MenuItemIcon - Path to Icon for MenuItem (Requires Full Path for now)
MenuItemAccess - Minimum Security (login) level required to see this menu
MenuItemStatus - True if you want the menu open when the form open, false if not. Has no effect for MenuItems whose MenuItemParent is not 0
Active - True if you want the menu item to show up at all, false to remove it from the menus
2) Each type of login (Developer, Admin, User) has different abilities as far as Menu Admin goes. You can change the type of login in the upper left corner (demo purposes only) and then click "Menu Admin" to see the differences. If you want, you can leave the table (tblDatabaseMenuItem) in the front end to allow users to customize their front end.
3) Speaking of the Admin Menu:
- Only developers can add/edit/delete menu items
- Any login is allowed to change the order of the items
- Admins can also choose whether items will appear or not
- Double Clicking on the IconFile textbox will bring up a File Dialog and allow you to choose an icon
- Selecting Open Form or Open Report in the Action Combo will repopulate the Target combo with Form or Reports respectively
- Click 'Apply' to see the results immediately or 'Close' to close the form, then see the results.
4) A scroll bar will show up to the right of the explorer bar if the explorer bar extends past the bottom of the maximized "desktop" area.
5) Possible future development:
- Ability to collapse explorer bar
- Passing arguments to forms that open in the subform window
- Anything else I (or you) can think of, just let me know!
- Better graphics/icons, though I will probably be using this long before I can finalize those.
- Support more than 10 menus, though it's easily done by adding more controls (Sorry, forgot to add error control if you try to have more than ten panes appear - it'll cause an error)
Let me know if you have any questions about what this is/what this does/how it works. I should be able to answer most of them (I think!).
Hope you enjoy. This'll probably be the last version before I continue the development on the rest of the database. Any future versions will be based on changes I have to make. Feel free to post suggestions/criticisms though so I can make it better. If I incorporate any of your ideas, I'll post a new copy here!
Thanks.
tinygiant
Apr 12 2006, 03:52 PM
One more thing...
Because it was requested by several people, I'll try to create a 97 version of this, however I'll probably need help with it as I only have Access 2003, so I may not see some errors that 97 users will see. Completion time uknown, but hopefully not too far down the road. Let me know if you'd like to help!
jmcwk
Apr 13 2006, 09:58 AM
Ed,
Firstly very Nice! I am experimenting with just opening a form so I created a test form,utilized the Admin Menu button,Added Menu Item Action (open),added the form name, Applied,closed the Menu Admin, went to the appropriate Menu Item text (I used Aircraft Boresight), clicked it and get an error "Wrong Number of Arguments or invalid property assignment" and it errors out on this line in the CmdHoverClick Module
CODE
DoCmd. [color="red"] OpenReport [/color] strTarget, acViewPreview, , , acWindowNormal
The tblDatabaseMenuItem is showing the correct Form Name AND the correct case -32768
More than likely it is something on my part but possibly something else????????????
tinygiant
Apr 13 2006, 10:58 AM
Are you try to open a form or report? I tested it with many test forms and it worked fine, but never got the chance to test the reports opening (oops). I'll check that out when I get a chance. If you chose Open Form, only forms should be populated and this line should never run. Also, I assume that the spaces are not actually there in the line DoCmd. OpenReport. It should be DoCmd.OpenReport.
I'll test the form opening sequence again today and check out a report opening. When I find the fix, I'll post it here (though I won't be available to check it until about 2pm today). According to the sytax checker, there are the correct number of argument for opening the report.
Please let me know if you run into any other problems. I'll try to post another copy of the file when I get a chance that includes a sample form and report.
Thanks for the input!
jmcwk
Apr 13 2006, 11:03 AM
Ed,
Like I said more than likely it is me rather than your code but I appreciate you looking into it. Maybe in your next attachment you can place a dummy report and form to insure those folks (me included) looking at the table as an example can see if things are right or wrong?? Just a thought and again Thanks
Sorry I did not answer your question I was trying to open a form
Edited by: jmcwk on Thu Apr 13 12:10:37 EDT 2006.
tinygiant
Apr 13 2006, 11:54 AM
No problems. I'll be gone for the next few hours, but will figure it out soon after that and post it up here.
tinygiant
Apr 13 2006, 03:53 PM
Using the explorer bar admin menu as is, I successfully opened a form and report. I didn't make any changes to the code before doing this. Attached is a version with a report and a form. The form is under the option "Top Gun" (under Weapons) and the report opens with the menu option "Performance Reports" in the CSS pane. Not sure what's causing the problem with your copy. Let me know if it's still happening with the attached. Thanks for checking it out.
jmcwk
Apr 13 2006, 04:57 PM
Drat!
Sorry to report I get the same result errors out at the docmd.openreport as before. Checked references none missing then did a debug and errors out on that line. Wonder if anyone else has experienced this. Do not want you scratching your head over something that is just inherant to this box.
Windows XP here with 2000 but should not make a difference based on the Compile Error??????
Ed,
If I Dim this line out it works?????
CODE
'DoCmd.OpenReport strTarget, acViewPreview, , , acWindowNormal
Also when the form opens what is used to close it?
Edited by: jmcwk on Thu Apr 13 18:10:28 EDT 2006.
Edited by: jmcwk on Thu Apr 13 18:12:11 EDT 2006.
tinygiant
Apr 13 2006, 05:19 PM
Wow. I really have no idea why that wouldn't be working. It works perfectly here. I haven't tried it on other machines yet. If that piece of code is broken somehow, it takes a lot of functionality away.
Have you tried retyping the code in the VBE window and letting AutoSense help you out with exactly what the context should be? And if I understand correctly, the compiler is simply throwing an error on that line when you try to open the desktop form, or only when you try to open a form in the workspace?
jmcwk
Apr 13 2006, 05:29 PM
EUREKA!
Changed the line to:
CODE
DoCmd.OpenReport strTarget, acViewPreview
tinygiant
Apr 13 2006, 05:32 PM
There you go. Glad you got it working. Let me know if you run into any other roadblocks.
Thanks for the help so far.
jmcwk
Apr 13 2006, 05:36 PM
Will Do!
AccDB4Free
Apr 14 2006, 05:37 AM
Hello to all,
First I want to ask permission to the maker of this explorer bar (tinygiant).. If I am allow to use it in my database, well it is not for a profit project, but for me,bcoz I am developing a simple database for my work and I am impress with this explorer.
Second I have been following up the forum, but could not get it to work in my db. How could I make my forms and reports working (open) in here..
Ok I must tell honestly, I don't know much coding, so if anyone can hold my nose and show me step-by-step that would be a great help to such person like me..
Thanks, any help would be appreciated.
ca
tinygiant
Apr 14 2006, 08:03 AM
ca,
I made the bar for one of my dbs and posted it here for anyone to use. It is designed to be the main form of my database, controlling all the other activity. I have no problem with you taking all or part of it and using it for whatever you want. After all, not all of it is completely my work either.
As far as making it work. Exactly what kind of problems are you having with it? Are you getting any errors when you try to use it and, if so, what are those errors?
To make a form open, all you should have to do is click on Menu Admin..., choose the appropriate menu item from the listboxes on the left, then choose "Open Form" from the Menu Item Action combo. Once you make this choice, the combo below it (Menu Item Target) should populate with all the forms in the database. Simply choose one and click "Apply" or "Close." Once you get back to the main form (i.e. close the Admin form), you should be able to click on the menu item you just assigned the form to and the form should open in the blank space to the right of the explorer bar. Opening reports works the same way, but I set it up to open in Preview mode instead of in the are to the right of the explorer bar.
The latest version, which is posted about 5 or 6 posts up, contains a sample form and smaple report to give a basic example of how this works. Let me know if you have any more questions, I'd be happy to help you make this work with your db.
jmcwk
Apr 14 2006, 09:29 AM
Ed,
Worked with your DB last evening and did not run into any additional problems however I do have one question from the UI standpoint. Rather than having a form open and populate the area to the right of the Bar (sfrmWorkspace) what can be done to open a form simularily to the report/s. ie. it opens to the original design view (ie Thin,Dialog,pop-up) whatever.
tinygiant
Apr 14 2006, 10:05 AM
I was thinking the same thing just yesterday. One possible option is to add a field to the table called something like MenuItemMode, which, depending on it's value, could cause the form to open up in different ways (i.e., in workspace, dialog, etc). I'll look into that today. I was also thinking of using that to open reports in different ways and possibly bring up context menus instead of forms/reports.
I'll let you know what I figure out.
jmcwk
Apr 14 2006, 10:25 AM
Ed,
Appreciate it, I guess I am looking at it from Both the flexibility the Bar gives the user but also from the Developer standpoint needing the same flexibility in the design of the Form/s, Report/s etc.
Thanks Again
tinygiant
Apr 14 2006, 03:04 PM
John,
Did a quick patch job to try to make that feature work. Here's the result. In the admin menu (child section), once you update the form/report you want to open, another small form pops up with some options. Select the appropriate options (sorry, no filter name or where condition yet) and click on Close. Close the Admin Menu and click on the menu option and see what happens? I was able to get it to work with the sample form/report that's already included (Top Gun / ID Report).
jmcwk
Apr 14 2006, 03:08 PM
Thanks Ed,
If I had the skills to do it I would however I do not you are doing all the work but hopefully my suggestions are giving you some assistance in some way. I'll continue with it of course and if I come out with other suggestions,ideas I will let you know.
tinygiant
Apr 14 2006, 03:25 PM
No problem, I enjoy learning new things when it comes to db programming. Let me know if you have any problems with this version, I only tested it with different options using the test form and report I've already included.
AccDB4Free
Apr 18 2006, 05:28 AM
Hello tinygiant!,
Sorry I could not come back to you earlier, I was away for a while. By the way thanks for the step-by-step procedure, I will try to follow.
I, as the other are too eager to see your last update..
Oh, yes I noticed also the calculating message on my status bar..
Again thank you,
ca