new developer needs help

D

Doug

I am trying to develop a stand-alone application using Access 2007 along with
the developer extensions. I am brand new at this and trying to figure this
out as I go. What I want to know is the best practice in terms of separating
tables from forms/functions. Right now I have a database that only contains
tables. I then have another database that contains forms/queries/modules.
How do I go about creating an installer package from here.

Another big question... Is there an upgrade path once I do create an
install package? What I mean by this... say I create this application and
call it version 1.0. What if I later make some changes to forms and a module
(no table/relationship change) and want to release a version 1.5. Is there
anyway to do this for existing users without changing the data on their own
database?

Are there any resources you all can point me to that might explain best
development practices for Access 2007 stand-alone packages? Thanks in
advance for your help!
 
E

ErezM via AccessMonster.com

hi
look for access forums, and articles ather are so many on the net, you can
learn from

for your questions
first, by seperating forms/queries/reports/code mdb from the tables mdb, you
place the tables mdb on a shared network folder and then replace (when a new
version comes) only the local mdb each user has on it's local machine. that
way your data (which is only on the shared mdb) stays intact and only the
front end ui changes

there are many methods programmers use for versioning, what i do is

i have a table (in the tables mdb, or the back-end) which holds the latest
version number, say Table "tblVersion" and Field LastAppVersion"

then in my code (in one of the public modules) i have a public const AppVer
as Integer=1

now, i use the first startup form (usually an about splash form with my
details and application name) to check if the current application's version
(that in the public const) matches the latest version (in the table), and if
not, alert the user and shut down the application

If DlookUp("LastAppVersion","tblVersion")>AppVer Then
MsgBox "A new version was released, please contact administrator..."
DoCmd.Quit
End If

if the new version is available to the users network, then add a shortcut to
a batch file that replaces the old file with the new one


good luck
 
D

Doug

Thanks for the thoughts... but I'm not sure I was clear in what exactly I
need. I am developing a small application for a local non-profit summer camp
to track campers, registration fees, etc. There is no network, etc. The PC
this will be running on doesn't even have Access installed. So - what my
questions were concerning was how to separate data from forms, etc. in a
packaged (ACCDE?) application. Also - is it possible to do this (link tables
in a packaged application) in a way that allows me to release updates to
forms without affecting their live data once I hand the app over to them.
Thanks!
 
G

George

Dear Doug,

1. You can download the runtime of MS Access and installed it in any PC
without needed to install MS Office. Have in mind that the runtime will only
used to open/run any MS Access database and will not allow to modify the
srtucture or create new ones. The runtime is located at
http://www.microsoft.com/downloads/...D9-9DC6-4B38-9FA6-2C745A175AED&displaylang=en

2. Since you will only be modifying the forms, queries, reports etc and not
the structure of the database use the database splitter in order to split
your application into a FrontEnd and BackEnd. FrontEnd will contain all
forms, queries, macros, reports and modules, and whilst the BackEnd only the
tables. In the FrontEnd tables will be linked actually to those found in
BackEnd. If you need lateron to create some more queries, reports, forms you
will send this FrontEnd to your associates without loosing their data.

Hope this helps,

GeorgeCY



Ο χÏήστης "Doug" έγγÏαψε:
 
T

Tony Toews [MVP]

Doug said:
I am trying to develop a stand-alone application using Access 2007 along with
the developer extensions. I am brand new at this and trying to figure this
out as I go. What I want to know is the best practice in terms of separating
tables from forms/functions. Right now I have a database that only contains
tables. I then have another database that contains forms/queries/modules.
Excellent.

How do I go about creating an installer package from here.

Relink Access tables from code
http://www.mvps.org/access/tables/tbl0009.htm

What I do is save the path and file name of the linked backend file in
an INI file in the same path as the FE. Then when I ship a new FE the
startup code tries to open a recordset on one of the linked tables.
The open fails and I then read the BE path and file name in the INI
file and try that. If that works then I relink the tables.
Another big question... Is there an upgrade path once I do create an
install package? What I mean by this... say I create this application and
call it version 1.0. What if I later make some changes to forms and a module
(no table/relationship change) and want to release a version 1.5. Is there
anyway to do this for existing users without changing the data on their own
database?

Given that this is a single user app I'd suggest creating a folder in
the My Documents folder. Then put the FE and BE in that folder.
Then email them a new, likely zipped, FE all they need to do is drag
and drop that file in to the above mentioned My Documents sub folder.

Tony
 
T

Tony Toews [MVP]

Doug said:
Another big question... Is there an upgrade path once I do create an
install package? What I mean by this... say I create this application and
call it version 1.0. What if I later make some changes to forms and a module
(no table/relationship change) and want to release a version 1.5. Is there
anyway to do this for existing users without changing the data on their own
database?

Now you will find that you do need to do updates to the backend
tables, relationships, fields and indexes. This is a very normal part
of database development.

Updating an Access Backend MDBs structure using VBA code
http://www.granite.ab.ca/access/backendupdate.htm

Tony
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top