Northwind 2.0 Feedback

Re privileges subform: the reason it is there, is that it is used in the System Admin form.
When you advance a PO to the Approved status, we do a security check and clearly spell out what to do if you don't have the required permission:

---------------------------
Microsoft Access
---------------------------
You don't have the Approve PO privilege so you cannot perform this action. If you feel this is an error, discuss it with your supervisor. (TIP: login as Andrew Cencini, or give yourself rights in System Admin > Privileges)
---------------------------
OK
---------------------------
 
Last edited:
I only complained about the ribbon because the first code I tried to look at was the form where the right click menu did not show developer options. But later on, I found forms that did. Inconsistency is usually accidental but it is disturbing as you are trying to work with something and should be fixed I think but I don't know if that is even possible at this point. If you decide to fix this, I would go with having the design options on the right click menu but maybe including instructions on how to turn them off.

Since this app is something you want the developer to dig into, I think this is just confusing. It confused me. But using the shift key to open the db gives you no option for a menu and that interferes with finding things which may turn people off. It is a conundrum. Do you want some organization (menu, ribbon) so you are sure you are operating the app correctly, or do you want to be able to get to design view on all objects?

I guess I'm so used to having something that actually controls the interface that it left me feeling at sea. With a switchboard/menu, the screen never goes blank when you close a form so my first reaction was that I did something wrong.

Templates have to be deployed as single accdts. It would be cool to see someone add relinker code and split it.
Wouldn't the app have to recognize the situation when it opens and either always split if it wasn't split or maybe ask and log the answer so you don't bother the user on every open. I actually have code that creates a database adds tables and populates them. This code is used in an auditing app so that an audit can be archived when it is completed. If you really want something like this, I could do it. I just am not willing to waste my time if it is never going anywhere since the code has limited usefulness and I was sure I was never going to ever have a use for it again:) Or, I can send you the code and you can add the other stuff around it like the prompting for a target directory, saving the answer, and renaming the local tables if the split happens.

For example, the lack of a way to go from employee form to privileges.
I read a lot of the documentation but I didn't notice this. I only brought it up because I tried to do something and found I couldn't and couldn't find the way to fix that. I understand that this isn't supposed to be a working app but having features that partially work is just confusing. Maybe expand the error message in the code to explain the situation.

@tvanstiphout Thanks Tom, I do see the form now.
 
Dev version. Superficial reaction.

My initial reaction is negative due to certain design choices.

So far, I really don't like the structure. The autoexec, prevents access to some design features so I have to close the app and then reopen with the shift key depressed. Without a menu form, it is difficult to figure out what object I want to work with. I think the lack of a more standard menu/switchboard is going to be a challenge for others as well. I just made it a little easier by changing the Nav pain (sic) sort order to by type rather than modified date. But It is really frustrating to have to reopen the database to get the menu so I can try stuff but then have to close and reopen using the shift/bypass to get to design view. I really would have preferred a form menu. I know the ribbon is cool and "modern" but it makes it very difficult to switch between running a form and modifying it. I suppose if I ever spent enough time with the app to become familiar with all the objects, it would be less frustrating but this particular design choice might turn off people from trying to understand what's behind the scenes. ----- I just noticed that not all forms have this problem. Some have the developer options available from the right click menu and some don't. I don't know what is causing this.

The other downside of the ribbon menu is the vertical space. Several of the forms get chopped off at the bottom when you have the ribbon expanded so you have to minimize it. But, that closes your menu so then you have to expand it again.

Is there a way to reload the custom ribbon without losing the developer features?

I also hate the tab view but that's just me. Mostly, i hate the way multiple forms stay open AND you can open multiple instances of the same form. I think this just confuses people and that always leads to errors. Was there a conscious decision to allow multiple instances of a the same form to open? This actually makes more sense in the form view because you can see both forms at the same time but with the tab view, you can only see one form at a time so comparing them is pretty near impossible - at least for my pea brain. BUT, if you do want to open multiple instances of the same form - you shouldn't be able to open multiple forms to the same record. I created conflict errors by trying to update the same order from different form instances. This may just be an inconsistency but the companies form won't open two instances of even different companies.

Lots of people allow runtime changes to combos so I can see why you would include an example. I don't for a lot of reasons. One which came to mind as I tried to enter a new Title on the Employee form. Of course, I realized too late that I had misspelled what I added and I had no way to fix it. If your users can't type and can't spell, allowing changes this way just lets them be sloppy and you end up with two, or more, entries one of which is spelled correctly hopefully.

Things I liked
- Using a bright colored background for hidden fields. I've been doing that for years.
- Style of the forms is clean. A little too much white space on the single record forms though but not horrible the way many web pages are.
- Ability to re-date the data is very useful. As this template ages, it will make it much easier to use.
- Ability to delete the data. I didn't try this. Does it leave the lookup list data?
- Showing the ID on the tab for some of the tabs. It would be nice if the employee form did also.

Things I don't see:
1. No maintenance forms for lookup lists - The Titles can be updated on the fly but not all can. Some need to be controlled by IT because the values affect program logic but all other lookups should have maintenance options.
2. How to add employee privileges - just found the subform but it doesn't seem to be connected to the employee form. I couldn't find a way to get to it except by opening it from the Nav Pane.

Specs:
I looked at the documentation and I don't see anything about how the inventory works or how to do a stocktake. I get an error about "Expected Quantity" but I don't know what that means. Do you have any documentation about how the inventory works. For example when the various quantity fields get updated. I know the app isn't supposed to be a real app but parts of this work as I would expect but not others. It would be nice to know how much of the inventory actually works.

I didn't look at any of the code or data macros or error handler. Later:)

If you disregard my personal pet peeves, the app is better organized and potentially more useful than older versions.
Re "I tried to enter a new Title on the Employee form. Of course, I realized too late that I had misspelled what I added and I had no way to fix it."
Editing the list is possible. We rely on Access built-in behavior, which is to display a faint edit button when you drop down the list. Once clicked there is an edit form (also built-in behavior) to edit the list.
1682873605679.png
 
Dev version. Superficial reaction.

My initial reaction is negative due to certain design choices.

So far, I really don't like the structure. The autoexec, prevents access to some design features so I have to close the app and then reopen with the shift key depressed. Without a menu form, it is difficult to figure out what object I want to work with. I think the lack of a more standard menu/switchboard is going to be a challenge for others as well. I just made it a little easier by changing the Nav pain (sic) sort order to by type rather than modified date. But It is really frustrating to have to reopen the database to get the menu so I can try stuff but then have to close and reopen using the shift/bypass to get to design view. I really would have preferred a form menu. I know the ribbon is cool and "modern" but it makes it very difficult to switch between running a form and modifying it. I suppose if I ever spent enough time with the app to become familiar with all the objects, it would be less frustrating but this particular design choice might turn off people from trying to understand what's behind the scenes. ----- I just noticed that not all forms have this problem. Some have the developer options available from the right click menu and some don't. I don't know what is causing this.

The other downside of the ribbon menu is the vertical space. Several of the forms get chopped off at the bottom when you have the ribbon expanded so you have to minimize it. But, that closes your menu so then you have to expand it again.

Is there a way to reload the custom ribbon without losing the developer features?

I also hate the tab view but that's just me. Mostly, i hate the way multiple forms stay open AND you can open multiple instances of the same form. I think this just confuses people and that always leads to errors. Was there a conscious decision to allow multiple instances of a the same form to open? This actually makes more sense in the form view because you can see both forms at the same time but with the tab view, you can only see one form at a time so comparing them is pretty near impossible - at least for my pea brain. BUT, if you do want to open multiple instances of the same form - you shouldn't be able to open multiple forms to the same record. I created conflict errors by trying to update the same order from different form instances. This may just be an inconsistency but the companies form won't open two instances of even different companies.

Lots of people allow runtime changes to combos so I can see why you would include an example. I don't for a lot of reasons. One which came to mind as I tried to enter a new Title on the Employee form. Of course, I realized too late that I had misspelled what I added and I had no way to fix it. If your users can't type and can't spell, allowing changes this way just lets them be sloppy and you end up with two, or more, entries one of which is spelled correctly hopefully.

Things I liked
- Using a bright colored background for hidden fields. I've been doing that for years.
- Style of the forms is clean. A little too much white space on the single record forms though but not horrible the way many web pages are.
- Ability to re-date the data is very useful. As this template ages, it will make it much easier to use.
- Ability to delete the data. I didn't try this. Does it leave the lookup list data?
- Showing the ID on the tab for some of the tabs. It would be nice if the employee form did also.

Things I don't see:
1. No maintenance forms for lookup lists - The Titles can be updated on the fly but not all can. Some need to be controlled by IT because the values affect program logic but all other lookups should have maintenance options.
2. How to add employee privileges - just found the subform but it doesn't seem to be connected to the employee form. I couldn't find a way to get to it except by opening it from the Nav Pane.

Specs:
I looked at the documentation and I don't see anything about how the inventory works or how to do a stocktake. I get an error about "Expected Quantity" but I don't know what that means. Do you have any documentation about how the inventory works. For example when the various quantity fields get updated. I know the app isn't supposed to be a real app but parts of this work as I would expect but not others. It would be nice to know how much of the inventory actually works.

I didn't look at any of the code or data macros or error handler. Later:)

If you disregard my personal pet peeves, the app is better organized and potentially more useful than older versions.

Re "No maintenance forms for lookup lists":
The System Admin form allows for editing of System Settings, Strings, Privileges, and Product Categories. We deemed those the ones most likely needing editing.

The OrderDetailStatus, OrderStatus, and PurchaseOrderStatus tables do not have an edit form because the records must have these values (are referenced by enums in modGlobal) and meanings. In the rare event someone wants to change a code or name, indeed they would have to use the table, or create their own edit forms.
 
' This main error handler should not itself have an error handler.
Public Sub HandleError(ByVal strModuleName As String, ByVal strProcedureName As String)
Dim lngError As Long
Dim lngErrorLine As Long
Dim strError As String
Dim strMsg As String

'Get the current error information
10 strError = Err.Description
20 lngError = Err.Number
30 lngErrorLine = Erl 'If no line number, this will be 0.
Where is Erl defined? When I right-click to get to the definition, I get this error.

1682874732335.png
 
@tvanstiphout Thanks but I don't see where on the Object Browser I can unhide hidden objects. Pressing help tells me "keyword not found" so the help link doesn't work. I did a specific search and came up with the help entry but it didn't mention hiding/unhiding objects.
 
[OT / show hidden members]
right click in window =>
ObjectBrowser_show_hidden_members.png
 
Last edited:
Thanks. I was looking for a menu option since this seems to be a global action. It never occured to me to right click on a visible detail item to find the show hidden members option. I wonder what happens if there is no visible detail? Don't answer. MS can put options any illogical place it desires.
 
Is there anywhere to download Northwind 2?
Access 365 with latest updates can not find it?

Or is it only for US?

2023-05-02_10-35-36.png
 
Is there anywhere to download Northwind 2?
I changed preferred item in "Office authoring language and proofing" to "English (United States)" ... Northwind appears

BTW:
Tip for first run of NW2-DEV: use "Break on Unhandled Errors"
I usually work with "Break on All Error" and then an error raised in modDAO.HasField which is used in AddDataMacros.
=> Maybe switch to "Break on Unhandled Errors" by code: Application.SetOption "Error Trapping", 2
 
Last edited:
I changed preferred item in "Office authoring language and proofing" to "English (United States)" ... Northwind appears
That did the magic. Though I downloaded the template from the link given by @theDBguy, But it's good to know for future cases.

Then my assumption was correct. It seems at this point it's targeted for US users.
thanks.
 
As far as I know, MS Access templates have never been localized. These are not localized.

We did respond to a request for non-US centric date handling, so that should not be a problem. Please verify that if you wish.

I suppose this is another opportunity for enterprising developers. If you want to use the templates to show off translation capabilities and offer them in another language, that would be rather interesting.
 
Actually several of the templates have been localised into multiple languages. For example, Contacts, Project & Assets
Here the Japanese version of the Project template

1683038847018.png


Amongst other localised versions, I also have an Arabic version of the Assets template.
I downloaded several last year for testing with my own much delayed Access Application Translator utility

As I'm hoping to finally release that this month or in June, I was intending to translate the new Northwind into several languages. For example:

1683040384557.png


However, because a lot of the text on several forms is actually stored in tables as data, the app doesn't translate those parts
e.g. Recent Orders for ... caption below
1683040551037.png


The results will still need checking by a native speaker but this could do a lot of the work
 
I changed preferred item in "Office authoring language and proofing" to "English (United States)" ... Northwind appears

BTW:
Tip for first run of NW2-DEV: use "Break on Unhandled Errors"
I usually work with "Break on All Error" and then an error raised in modDAO.HasField which is used in AddDataMacros.
=> Maybe switch to "Break on Unhandled Errors" by code: Application.SetOption "Error Trapping", 2
Thanks, that change in the language version has worked for many people, but unfortunately, not all. It seems the roll out of the template through all the regions took longer than we anticipated.

Also, thanks for that tip on error handling. Can we pursue that a bit further? To be honest, asking people to modify options BEFORE a first run seems impractical. I get it that is might be effective, but not the experience we want.

However, if it refers to the problem I think it does, there is a step in a macro to handle that problem.
To be sure we are on the same page though, can you look at the macMainMenu_UpdateSubs macro for the line:

OnError
Go to Next

Again, we really appreciate community feedback.
 
A poster at UtterAccess has confirmed they now have the template available on a Chinese language page for Featured Access Templates, using ZH-CN instead of EN-US in the link.

I should also make it clear, these are not localized versions of the template itself. They are the download links for other regions. You can incorporate Colin's tool yourself to make the conversion, if you wish.

Also, when I have suggested that anyone who wants to use the NW templates as a starting point for your own enhancements, I did not intend to imply they would be published via Microsoft. I was thinking of making them available from your own sources, or as download files on sites like this. Sorry to have mislead you on that point.
 
Also, thanks for that tip on error handling. Can we pursue that a bit further? To be honest, asking people to modify options BEFORE a first run seems impractical. I get it that is might be effective, but not the experience we want.
simple method:
Code:
Public Function Startup()

   If Application.GetOption("Error Trapping") <> 2 Then
      Application.SetOption "Error Trapping", 2
      'perhaps with info:
      ' MsgBox "Error Trapping changed to 'Break on Unhandled Errors'", vbInformation
   End If
....

The more elegant method:
Class that is instantiated when the application is started and restores the original state when it is terminated.
 
simple method:
Code:
Public Function Startup()

   If Application.GetOption("Error Trapping") <> 2 Then
      Application.SetOption "Error Trapping", 2
      'perhaps with info:
      ' MsgBox "Error Trapping changed to 'Break on Unhandled Errors'", vbInformation
   End If
....

The more elegant method:
Class that is instantiated when the application is started and restores the original state when it is terminated.
Sorry, I should have been more clear about the request. I am not looking for code to make that change in behavior.

I was trying to ask WHY you got the error in the first place. As noted, we experienced it in an early version which was quickly replaced with a version that doesn't cause the error. If you downloaded the template before the fix (and that would have been within the first day or so of the "soft launch") the line in the macro I quoted won't be there. If it is there, and you still get an error, that's what we need to know.
 

Users who are viewing this thread

Back
Top Bottom