UtterAccess.com
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
> How To Install An Updated Form With A Shared Database?, Any Version    
 
   
RAZMaddaz
post May 19 2017, 09:37 AM
Post#1


UtterAccess VIP
Posts: 9,522
Joined: 23-May 05
From: Bethesda, MD USA


Hi Everyone!

I recently had to make some changes to the Main Form, that shows when any User opens the database. This is a bound Form, has Tabs, Sub Forms and everything else.

This Form is in the "front" in that every User has a copy of this Form on their computer.

Getting to my question, ten years later, how does one upload and get this new Form version to another User that is located in another office/location? So the Front End, Back End story in which the Front End needs to be replaced.

Thanks!

RAZMaddaz
Go to the top of the page
 
doctor9
post May 19 2017, 09:45 AM
Post#2


UtterAccess Editor
Posts: 17,852
Joined: 29-March 05
From: Wisconsin


RAZ,

Search our Code Archive for the keyword "autoupdater". This was actually the first question I ever asked on this forum, and the one I still use to this day is this one. The core concept:

1. The frontend contains a table that stores the "version number" of the frontend. Every time you make an update to your copy of the frontend file, you change this value and copy your file to a public network folder that the users have read-only access to.
2. When the user opens the frontend, the version of the user's local copy and the version of the network copy are compared. If they don't match, the network file is copied on top of the local copy.
3. Regardless of whether the network file was copied, the local frontend is opened at this point.

The demo I linked you to uses a small, separate file that just performs the version check the file copying, and then opens the local frontend file. There are different methods - I think some of the other demos are able to include the version checking from within the frontend itself.

Hope this helps,

Dennis

--------------------
(;,;) Li'l Cthulu says: Please talk about what you're trying to do, as well as how you're doing it.
Changing your real table name to "Table1" and your real form name to "Form1" in your posts makes it more difficult to understand what's going on, not easier.
Guidelines for Posting Questions
Go to the top of the page
 
RAZMaddaz
post May 19 2017, 10:04 AM
Post#3


UtterAccess VIP
Posts: 9,522
Joined: 23-May 05
From: Bethesda, MD USA


Dennis, this seems like what I want to accomplish, however I cannot get either version to run.

I am using Access 2016 and only the "AutoUpdaterAc2k" I was able to import, but even then I get an "Error in VersionCheck" window that appears in which there is an "Error: 76 Path not found" window and when I click on the OK button the file/database closes and quits-out.

Might you have a newer version?

Thanks!!!

RAZ
Go to the top of the page
 
doctor9
post May 19 2017, 10:12 AM
Post#4


UtterAccess Editor
Posts: 17,852
Joined: 29-March 05
From: Wisconsin


RAZ,

Did you customize the table data to include the proper paths to the three files? There should be a form called frmSetup that allows you to browse to the locations so the paths are easier to enter. You also need to use the Linked Table Manager to link to the network copy of the frontend. (But all of this is in the instructions, isn't it?)

The only thing I've done with the original updater file is open it and save it in a newer format when my company upgraded - no re-coding that I can recall.

Here's more details about my preferred setup:

1. Local frontends go into C:\Frontends
2. The updater goes in a destop folder named "Databases"
3. The network frontend goes in T:\Databases\Frontends

With this setup, the users see a folder named "Databases" on their desktop and assume that those are the actual database files in that folder. They are not. They are just the autoupdaters. I don't even tell the users about the C:\Frontends folder. I created an installer that creates the two local folders, and copies the updater and frontend for each selected database.

Hope this helps,

Dennis

--------------------
(;,;) Li'l Cthulu says: Please talk about what you're trying to do, as well as how you're doing it.
Changing your real table name to "Table1" and your real form name to "Form1" in your posts makes it more difficult to understand what's going on, not easier.
Guidelines for Posting Questions
Go to the top of the page
 
RAZMaddaz
post May 19 2017, 10:59 AM
Post#5


UtterAccess VIP
Posts: 9,522
Joined: 23-May 05
From: Bethesda, MD USA


Sorry Dennis!!!


Let Me read the instructions and learn how to use this masterpiece.

Thanks!

RAZ
Go to the top of the page
 
BruceM
post May 19 2017, 11:01 AM
Post#6


UtterAccess VIP
Posts: 6,995
Joined: 24-May 10
From: Downeast Maine


My preference is to compare the LastModifed dates of the files, rather than using a version table.

I use SysCmd(acSysCmdAccessDir) to get the path to ACCESS.EXE, and I put the databases into a folder Local_Databases (or whatever) within the AppData/Roaming folder, which path I get with Environ("AppData"). I have heard there are potential issues with Environ, and an API may be a better approach, but I'll leave it at that.

I also use FileExists and FolderExists (Allen Browne). If the Local_Databases folder doesn't exist I create it and add the front end database file. If the folder is in place I check for the file, and copy it from the network location if it is not there. If it is there I compare the dates as described above, but I suppose the master copy could be copied to local location every time.

Then I build a command line using the variables described above to open the database.

This could work within the context of the AutoUpdater file to avoid the need to enter the ACCESS.EXE location, and to use a folder within the AppData folder as the front end location. All that would be needed is the location of the master copy on the server, the name of the local databases folder, and the name of the database to be opened.

Full disclosure: the above is not exactly what I do, but is a summary version of a system I use where there are several databases. I use a VBScript file to create the Local_Databases folder if needed, and to copy a launcher database to that folder. It also adds a desktop shortcut to the VBScript file, if there is not one. The VBScript compares LastModified dates, copies a new version of the launcher database if needed, and uses a command line to start the launcher. It is a similar system to the above, but in VBScript rather than VBA.

The launcher database lists the various databases in a list box, and uses VBA and the general system described above to assemble a command line that uses the selected database.
Go to the top of the page
 
RAZMaddaz
post May 19 2017, 12:17 PM
Post#7


UtterAccess VIP
Posts: 9,522
Joined: 23-May 05
From: Bethesda, MD USA


Thanks Dennis and Bruce!!!!

I actually understand both of your ways, in accomplishing this!!! THANKS!

cheers.gif

RAZ
Go to the top of the page
 


Custom Search
RSSSearch   Top   Lo-Fi    22nd November 2017 - 09:51 AM