473,385 Members | 1,693 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Distributing a split database: catch-22 on data MDB file location

I have an Access 2003 database application that I split into an
application component MDB file (i.e., forms, etc) and a data component
MDB file (i.e., tables, etc.). I used the 2003 developer extensions
Package Wizard program to create an installation package. (Note: I
included the Access 2003 runtime because the users of my application
don't have Access on their machines).

My problem is that when a user runes the installation program, although
it puts both MDB files in the installation directory (e.g., C:\program
files\xxxx), it insists that the data component MDB be in the same
directory as it was on my development machine. The catch-22 is that
although I wrote code in the app to allow the user to relink to the
data MDB in the install directory, they can't get to it because Access
won't let the app start because it can't find the data MDB file to
begin with.

As I was using the package wizard. I noticed I had the opportunity to
specify the install location of the data component MDB file, but I
don't want to hardcode "C:\program files\xxxx". Is there a way in the
package wizard to use an environment variable or something to specify a
relative install location, i.e., the install location specified by the
user?

Thanks

Jul 17 '06 #1
2 2418
Bill wrote:
I have an Access 2003 database application that I split into an
application component MDB file (i.e., forms, etc) and a data component
MDB file (i.e., tables, etc.). I used the 2003 developer extensions
Package Wizard program to create an installation package. (Note: I
included the Access 2003 runtime because the users of my application
don't have Access on their machines).

My problem is that when a user runes the installation program,
although it puts both MDB files in the installation directory (e.g.,
C:\program files\xxxx), it insists that the data component MDB be in
the same directory as it was on my development machine. The catch-22
is that although I wrote code in the app to allow the user to relink
to the data MDB in the install directory, they can't get to it
because Access won't let the app start because it can't find the data
MDB file to begin with.
You need to have startup code that allows the user to relink the tables
BEFORE anything in your app actually tries to use the tables. This means
your startup form cannot be a bound one.

--
Rick Brandt, Microsoft Access MVP
Email (as appropriate) to...
RBrandt at Hunter dot com
Jul 17 '06 #2
I see --- I'm chagrined - it seem so obvious in hindsight, thanks!

,
Rick Brandt wrote:
Bill wrote:
I have an Access 2003 database application that I split into an
application component MDB file (i.e., forms, etc) and a data component
MDB file (i.e., tables, etc.). I used the 2003 developer extensions
Package Wizard program to create an installation package. (Note: I
included the Access 2003 runtime because the users of my application
don't have Access on their machines).

My problem is that when a user runes the installation program,
although it puts both MDB files in the installation directory (e.g.,
C:\program files\xxxx), it insists that the data component MDB be in
the same directory as it was on my development machine. The catch-22
is that although I wrote code in the app to allow the user to relink
to the data MDB in the install directory, they can't get to it
because Access won't let the app start because it can't find the data
MDB file to begin with.

You need to have startup code that allows the user to relink the tables
BEFORE anything in your app actually tries to use the tables. This means
your startup form cannot be a bound one.

--
Rick Brandt, Microsoft Access MVP
Email (as appropriate) to...
RBrandt at Hunter dot com
Jul 17 '06 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: David | last post by:
I have been going around in circles trying to understand the method of creating a database in VB.Net 2003 and distributing that application and database. It seems if I use the Server Explorer to...
2
by: Ian Davies | last post by:
Hello Recently changed from using Access to MySQL. Looked at the online docs but could not find anything about the process of distributing a database to customers. Can anyone give me a general...
1
by: Marcin Floryan | last post by:
Hello! I am writing and application which uses ADO to connect to Microsoft Access 2000 database (a .mdb file) using Microsoft.Jet.OLEDB.4.0 provider. I wish to distribute this application later...
4
by: carriolan | last post by:
Hi I have managed to secure a split database. Both frontend and backend share a common workgroup, common security groups and common users and permissions, but as in all good stories there is a...
7
by: Mark A | last post by:
If server 01 running HADR in the primary role crashes, and the DBA does a HADR takeover by force on the 02 server to switch roles, then the 02 server is now the primary. What happens when the...
2
by: needin4mation | last post by:
Hi, thanks for any help here: SqlCommand cmd = new SqlCommand("SELECT categories FROM catalog" conn); rdr = cmd.ExecuteReader(); String temp; while (rdr.Read()) { temp = rdr;...
4
by: p.lavarre | last post by:
How can I instantiate shlex.shlex to behave like shlex.split does? I see shlex.split gives me what I want: import shlex print shlex.split("1.2e+3") # 1.2e+3 But every doc'ed...
1
by: Nasr | last post by:
Hi We want to distribute .NET applications using database engine but we do not want to install the whole database engine for each instance of the application. Can anyone help me with ideas to...
2
by: pascal.baetscher | last post by:
Hello everyone, I face currently a problem where I could need some input for searching the source of the Problem System: SQL Server 9.0 I fill from Database A with triggers Database B,...
4
by: Mark A | last post by:
I would like to make a split mirror copy of a HADR standby database. Please note that I do not want to create a standby with a split mirror of the primary, but I want to make a split mirror of the...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.