Wrox Programmer Forums

Need to download code?

View our list of code downloads.

| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read
BOOK: Expert Access 2007 Programming ISBN 978-0-470-17402-9
This is the forum to discuss the Wrox book Expert Access 2007 Programming by Rob Cooper, Michael Tucker; ISBN: 9780470174029
Welcome to the p2p.wrox.com Forums.

You are currently viewing the BOOK: Expert Access 2007 Programming ISBN 978-0-470-17402-9 section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developers’ questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old January 6th, 2008, 02:58 PM
Authorized User
 
Join Date: Oct 2007
Location: , , .
Posts: 11
Thanks: 0
Thanked 0 Times in 0 Posts
Default Dashboard Example with different users

Dear Rob,

I would try to explain as best as I can ( because English is not my native language), what I am trying to achieve in my database program using your dashboards tables for Fig 8-13 of page 335 of the book. First of all I have my databases tables split so I have all the tables in one database and another with all the forms, querys and modules. I do have a table of users with privileges in it (like administrator could see all of the components that the choose component form (fig 8-15 of page 344) list and the normal usr could not access some of the , so there are not visible in the combo box.

My problem is that I can´t associate a specific user with a Dashboard. For examplelets suppose that User A logs on and choose Dashboard ID 1 (Simple Design), and then loads all the components that they want in the dashboard. Next morning User B enters the system and also choose DashboardID1 , but with different components, do you recommend to make an option table with this selections or can I add a field in the table USysDashboards Components with the user name and then with VBA code look for the different forms that the user selects.

Thank you for your time. !! and patience,

Maria Ines


Reply With Quote
  #2 (permalink)  
Old January 6th, 2008, 08:01 PM
Wrox Author
 
Join Date: May 2007
Location: , Washington, .
Posts: 17
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Hi Maria,

Thanks for the clarifications of your scenario and for your interest in the book.

Since the database is already split, does each person have their own copy of the front-end database? If so, the easiest way to accomplish this might be to put the 3 dashboard tables in the front-end database instead of the back-end. With the dashboard tables in the front-end, each person will have their own copies of the tables. If you need to manage the components closely, the downside to this is that managing components may become more difficult.

An alternative to putting the dashboard tables in the front-end database is to add a field to USysDashboardComponents but in playing around with this approach, it looks like this might require some additional changes:

1. Modify the USysQrySelectedDashboard query to include criteria for the user name. The criteria will vary depending on how you are managing users.

2. Modify the FillDashboard function in the book to include any additional criteria in the query. This will only be required if you change the USysQrySelectedDashboard query to be a parameter query.

3. Modify the code behind cmdSet_Click in the USysFrmComponents form to either insert or update the user name in the USysDashboardComponents table.

This last step will further denormalize the USysDashboardComponents table since the current design would require duplicating each dashboard and component for each user. You might consider abstracting this out with an additional table for this case.

If each user has their own copy of the front-end, moving the dashboard tables to the front-end will be much easier.

Hope this helps! If you have any additional questions, please let me know.

Thanks,

Rob Cooper
Lead Software Design Engineer in Test
Microsoft Access Team

co-author: Access 2007 VBA Programmer's Reference
co-author: Expert Access 2007 Programming

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at microsoft.com/info/cpyright.htm.
Reply With Quote
  #3 (permalink)  
Old January 7th, 2008, 03:01 PM
Authorized User
 
Join Date: Oct 2007
Location: , , .
Posts: 11
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Thank you Robb, I would follow your advice and I let you know. Meanwhile I tell you that every user has the same front end database. Thank you again for your prompt reply , .

Reply With Quote
  #4 (permalink)  
Old January 7th, 2008, 04:40 PM
Wrox Author
 
Join Date: May 2007
Location: , Washington, .
Posts: 17
Thanks: 0
Thanked 0 Times in 0 Posts
Default

You're quite welcome. Since each user has their own copy of the front-end, the easiest thing to do might be to move those tables into the front-end.

Good luck!

Rob Cooper
Lead Software Design Engineer in Test
Microsoft Access Team

co-author: Access 2007 VBA Programmer's Reference
co-author: Expert Access 2007 Programming

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at microsoft.com/info/cpyright.htm.
Reply With Quote
  #5 (permalink)  
Old January 26th, 2008, 08:51 PM
Authorized User
 
Join Date: Oct 2007
Location: , , .
Posts: 11
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Dear Rob

After a long time (I was in Vacations) I start to work on my project and to modify your dashboard example.

I have found that the best way was, creating a new table with this fields, EmployeeID, DashboardID, ComponentID. As you can imagine I already have an Employee table. So I add to your table relationship this table that I created just to let the program know wich component different users add to their dashboards. Also when you start the program a routines checks if that user has a Dashboard associate , in case he did not have any automatically pops up the select dashboard form, and after that the dashboard component form to add the components.
Also I modify the getcurrent dashboard function and filldashboard function to work with this scenario.

But when one of the users want to modify his dashboards , from the one that he already created the table could not update the new components.

Could you please give a try ?? If I send you the files
Thank you

Maria




Reply With Quote
  #6 (permalink)  
Old January 31st, 2008, 02:31 AM
Wrox Author
 
Join Date: May 2007
Location: , Washington, .
Posts: 17
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Hi Maria,

Thanks again for your continued interest in the book! The scenario you are working on is very interesting. I'd be glad to take a look at the files. Can you make the files available for download somewhere?

Incidentally, if you feel like sharing your thoughts about the book on Amazon, we'd sure appreciate that as well.

Thanks,

Rob Cooper
Lead Software Design Engineer in Test
Microsoft Access Team

co-author: Access 2007 VBA Programmer's Reference
co-author: Expert Access 2007 Programming

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at microsoft.com/info/cpyright.htm.
Reply With Quote
  #7 (permalink)  
Old February 4th, 2008, 09:45 PM
Authorized User
 
Join Date: Oct 2007
Location: , , .
Posts: 11
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Dear Rob.

I came up with this scenario after trying different relationships with no success at all. What do you think if I create a table for every employee that I have with the same fields that the example have, so when every user logs into the application the program reads from the table of that employee. (UsysDashboard, UsysDashboardComponent and UsysComponent from says Maria).

If a new user logs on to the system the program creates three new tables (YsusDashboard, UsysDashboardComponent and USysComponent) for that user.

I would like you to know also that I have just rate your book in amazon

Thank you
MAria

Reply With Quote
  #8 (permalink)  
Old February 9th, 2008, 05:18 PM
Wrox Author
 
Join Date: May 2007
Location: , Washington, .
Posts: 17
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Hi Maria,

Thanks for your review on Amazon! Michael and I greatly appreciate it.

Did you run into problems when moving the 3 dashboard tables into the front-end database? As I think about it more, this should let each user create their own dashboard, but it might create problems trying to manage the dashboard and components from one database.

I think you are on the right track using a separate field in the existing USysDashboardComponents table rather than a new table. In this approach, the USysDashboardComponents will have records for each user, component, and dashboard. The table could grow with each new user that is added, but since it is system data, it should be manageable.

Instead of filling the table in advance if there are a large number of users, I might do the following:

1. Create "default" records for each dashboard, component, and user. These records could be used to configure the default dashboard for a new user.
2. When a new user logs on, fill the default dashboard with the default components.
3. If a new user changes their dashboard, INSERT records into USysDashboardComponents. Be sure to mark the user that is making the changes in this table.
4. If an existing user changes their dashboard, UPDATE records in USysDashboardComponents. Again, be sure to update only the records for the user making the change.

Hope this helps,

Rob Cooper
Lead Software Design Engineer in Test
Microsoft Access Team

co-author: Access 2007 VBA Programmer's Reference
co-author: Expert Access 2007 Programming

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at microsoft.com/info/cpyright.htm.
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Problems with login logic and Dashboard alanphil BOOK: Professional CodeIgniter ISBN: 978-0-470-28245-8 18 August 13th, 2009 05:04 AM
Dashboard example mruschetti BOOK: Expert Access 2007 Programming ISBN 978-0-470-17402-9 1 January 5th, 2008 02:41 PM
How many users.... rupen Classic ASP Basics 0 October 20th, 2006 08:45 AM
Dashboard reporting tool luxx Excel VBA 0 January 2nd, 2004 12:26 PM



All times are GMT -4. The time now is 06:15 PM.


Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.