By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,215 Members | 1,517 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,215 IT Pros & Developers. It's quick & easy.

auto updating front-end on workstations

tdw
100+
P: 206
I was reading the thread called "Re: Split the DB, how do I deploy the "Front-end"?" and Denburt mentioned something that I've been interested in doing with my database, and that is to create a way for each users front-end to recognize when I have made a modification to the copy of the front-end on the server. I guess I'd like a way to "push" the updated version to the workstations, or a way for their copy of the FE to see that there is a newer one, and to give them an option to update their copy.

Denburt gave a brief explanation of what he does, referencing a "main menu" and stuff like that (would that be like the Switchboard?) but I would like to see more specific suggestions, coding, etc to give me something to work with. It would sure be nice to not have to go to each work station and copy/replace everyone's front end manually.

Thanks!
Feb 6 '08 #1
Share this Question
Share on Google+
10 Replies


Rabbit
Expert Mod 10K+
P: 12,421
Off the top of my head, the way I would do it is to change the name of the file to include a version number. Then you could use code to check for a larger version number and then copy it if there's a more recent one.
Feb 6 '08 #2

tdw
100+
P: 206
tdw
Off the top of my head, the way I would do it is to change the name of the file to include a version number. Then you could use code to check for a larger version number and then copy it if there's a more recent one.
Makes sense. Then is there code to close the db file and reopen the new one? For example, if I write the code to look for a newer version each time the file is opened, can code within that file relaunch the updated one?
Feb 6 '08 #3

Megalog
Expert 100+
P: 378
I have a system set up to where every time a user starts the FE, they are actually calling a batch file that copies the current version to their local drive, and then starts it. This way I know they're using the most current revision every day. Here's the post I did on that process:
http://www.thescripts.com/forum/thread760986.html

But, I've also employed versioning as well, with a small form that starts on load, showing them their version # and information on what has changed in that revision. This form has a simple 'ok' button on it, which just turns it invisible. There's a timer set on this form, so that every 5 minutes it checks the BE version # (stored in a versioning table), and compares this number against the front end version # (stored in a module which houses the FE constants). If I make an update, I change the version # in the new FE, and in the BE table. The hidden form on the outdated FE's will detect the new 'current' version #, and alert the user that a new version is available, set the form to visible, and then show whatever information about the new available version I want. This allows them to decide if they want to restart and gain the new version, or to keep working with the one they have. Once alerted, the form timer resets to zero, and goes hidden again, else they'll be annoyed every 5 minutes with the update notice.

The coding behind it was very simple, but if you want me to post what I did just let me know.
Feb 6 '08 #4

tdw
100+
P: 206
tdw
I have a system set up to where every time a user starts the FE, they are actually calling a batch file that copies the current version to their local drive, and then starts it. This way I know they're using the most current revision every day. Here's the post I did on that process:
http://www.thescripts.com/forum/thread760986.html
This sounds like a good method, since it takes almost no time to copy the file over from the server to the workstation (although it takes several minutes to copy it the other direction). I have never worked with batch files, so I'll have to do some studying on that. Any recommended sites or threads for that? I'm not really a programmer, I just fake it (and learn fast) and hope that what I do works (done good so far, with help from this forum).

But, I've also employed versioning as well, with a small form that starts on load, showing them their version # and information on what has changed in that revision. This form has a simple 'ok' button on it, which just turns it invisible. There's a timer set on this form, so that every 5 minutes it checks the BE version # (stored in a versioning table), and compares this number against the front end version # (stored in a module which houses the FE constants). If I make an update, I change the version # in the new FE, and in the BE table. The hidden form on the outdated FE's will detect the new 'current' version #, and alert the user that a new version is available, set the form to visible, and then show whatever information about the new available version I want. This allows them to decide if they want to restart and gain the new version, or to keep working with the one they have. Once alerted, the form timer resets to zero, and goes hidden again, else they'll be annoyed every 5 minutes with the update notice.

The coding behind it was very simple, but if you want me to post what I did just let me know.
This option would be the best I think if I find that copying the FE file over every time someone opens the database is too annoying to the users.
I have never used timers in Access, and again would have to study that. I know ttimers have been discussed a lot in this forum, so I can search for info here. Unless a brief lesson in this thread would be very simple... or a link?

Thanks for the advice.
Feb 6 '08 #5

tdw
100+
P: 206
tdw
I just re-read the link you gave me, and I understand the bat file now.
I think I'll try that first, and see if it's fast enough to not disturb users.
Feb 6 '08 #6

tdw
100+
P: 206
tdw
I just re-read the link you gave me, and I understand the bat file now.
I think I'll try that first, and see if it's fast enough to not disturb users.
Ok, I've tested it out, and it's fast enough.
Is there a way to hide the msdos window that opens up showing the bat file commands being run? maybe replace it with a splash window or something?
Feb 6 '08 #7

Megalog
Expert 100+
P: 378
Ok, I've tested it out, and it's fast enough.
Is there a way to hide the msdos window that opens up showing the bat file commands being run? maybe replace it with a splash window or something?
I believe there's a way you can specify what prints to the screen, and what remains hidden.. but I dont think you can hide the command window itself. It's only on-screen for 2-3 seconds at the most so I never cared. Try googling it and see what you get. If you find a solution let me know =)
Feb 6 '08 #8

tdw
100+
P: 206
tdw
I believe there's a way you can specify what prints to the screen, and what remains hidden.. but I dont think you can hide the command window itself. It's only on-screen for 2-3 seconds at the most so I never cared. Try googling it and see what you get. If you find a solution let me know =)
http://www.geekstogo.com/forum/Hide-...ws-t56092.html

Pretty simple solution I never knew about.

Next step is to figure out how to display a message or splash saying something like "checking for updates..." during those 2-3 seconds. this thing gonna be pretty when I'm done with it :-)
Feb 6 '08 #9

tdw
100+
P: 206
tdw
Yikes.

It looks like I'm going to have to learn to use Java SE6 to do a splash screen.
But I figured out a compromise for now: I added the lines

ECHO OFF

and

ECHO CHECKING FOR REVISIONS TO THE ORDERS DATABASE PROGRAM...

to the bat file. That way all the junk it's doing doesn't show up in the command window, but the message does.
Feb 6 '08 #10

MMcCarthy
Expert Mod 10K+
P: 14,534
Nice thread. I'd love to see a tutorial on this if either of you are interested. Seems like something a lot of Access developers would be interested in.

Mary
Feb 7 '08 #11

Post your reply

Sign in to post your reply or Sign up for a free account.