473,418 Members | 2,159 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,418 software developers and data experts.

How does Access table link at startup

I'm having a complicated linking problem. Before I get into the particulars,
I'd like to know how Access links to the back-end file at startup, AFTER I've
distributed my application to the client.

Here's the issue. While I'm working on my app, I'm linked to the backend on
my computer. When I distribute the app, the backend file is obviously in a
different location (on the client server).

But the first time my app is started up at the client location, the
connection strings for the backend will still be to my development computer
and these strings are obviously invalid.

Now I have a custom linking routine and use a launcher. The launcher passes
to my app via Command, the correct location of the backend files. This has
worked flawlessly over the past 6 months, but a recent update to the client
failed to work and generated a linking error. But, I'm having trouble
replicating the problem.

So, for now, I would just like to know what Access does when it encounters
the situation I mentioned. Is an error generated only if code or some action
attempts to extract data from a table link that is not valid. In other words,
Access will allow the invalid connection strings on startup and an error is
only generated when some action is taken to actually view or select data from
the linked table. I should mention that I use RWOP queries as well, so I
guess I'm wondering why there isn't an error generated at startup when the
RWOP query selects data from the linked table. I guess this must mean that
it doesn't actually select until an action of some type is taken (i.e. the
user opens the RWOP query or code tries to perform an action on the query).

Understanding how this works, I think will help me in solving my problem.

Thanks.

--
Message posted via http://www.accessmonster.com

Sep 29 '06 #1
12 5714
>In other words, Access will allow the invalid connection strings on
>startup and an error is only generated when some action is taken to
actually view or select data from the linked table.
Yes. Access does not notice that a table link is invalid until it tries
to actually use it for something. Then you get run-time error 3044
("... is not a valid path)

rdemyan via AccessMonster.com wrote:
I'm having a complicated linking problem. Before I get into the particulars,
I'd like to know how Access links to the back-end file at startup, AFTER I've
distributed my application to the client.

Here's the issue. While I'm working on my app, I'm linked to the backend on
my computer. When I distribute the app, the backend file is obviously in a
different location (on the client server).

But the first time my app is started up at the client location, the
connection strings for the backend will still be to my development computer
and these strings are obviously invalid.

Now I have a custom linking routine and use a launcher. The launcher passes
to my app via Command, the correct location of the backend files. This has
worked flawlessly over the past 6 months, but a recent update to the client
failed to work and generated a linking error. But, I'm having trouble
replicating the problem.

So, for now, I would just like to know what Access does when it encounters
the situation I mentioned. Is an error generated only if code or some action
attempts to extract data from a table link that is not valid. In other words,
Access will allow the invalid connection strings on startup and an error is
only generated when some action is taken to actually view or select data from
the linked table. I should mention that I use RWOP queries as well, so I
guess I'm wondering why there isn't an error generated at startup when the
RWOP query selects data from the linked table. I guess this must mean that
it doesn't actually select until an action of some type is taken (i.e. the
user opens the RWOP query or code tries to perform an action on the query).

Understanding how this works, I think will help me in solving my problem.

Thanks.

--
Message posted via http://www.accessmonster.com
Sep 29 '06 #2
I've been testing my code under a variety of conditions. Moving the folder
the back-end files are located in. Moving just the back-end files out of the
folder. Changing the name of the back-end files in a valid back-end folder.
In every case, my custom error messages are invoked and my custom linking
screen gets displayed. I have not yet been able to get run-time error 3044
to appear. When the client told me over the phone that he was getting this
error, I was puzzled and am now even more puzzled, since I just don't see how
this could happen.

Right now when my app launches, it deletes all linked tables during startup
and recreates them based on the location information passed in from the
launcher. So given that the app deletes the links at startup before any type
of action is done on the links (opening or code action), I don't see how this
error can even be generated given how my startup code works.

Also the error that my client got occurred in a module that is invoked in the
startup routine. In my client's case, if there was a problem during linking
an error should have been generated at that time, not in a subsequent module.

Gord wrote:
>>In other words, Access will allow the invalid connection strings on
startup and an error is only generated when some action is taken to
actually view or select data from the linked table.

Yes. Access does not notice that a table link is invalid until it tries
to actually use it for something. Then you get run-time error 3044
("... is not a valid path)
>I'm having a complicated linking problem. Before I get into the particulars,
I'd like to know how Access links to the back-end file at startup, AFTER I've
[quoted text clipped - 28 lines]
>>
Thanks.
--
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/For...ccess/200609/1

Sep 29 '06 #3
I wish this forum had the ability to edit posts.

To be clear, the error the client got occurred after my code recreated the
links. Also, the file name listed by the 3044 error does in fact exist out
on the server. The only thing I can think of is that there was some kind of
hiccup at the server. But I had him logon at least 6 to 8 times to test a
few things and the error occurred each time in the same module. So based on
that, it is hard to believe that this could be a server hiccup.

rdemyan wrote:
>I've been testing my code under a variety of conditions. Moving the folder
the back-end files are located in. Moving just the back-end files out of the
folder. Changing the name of the back-end files in a valid back-end folder.
In every case, my custom error messages are invoked and my custom linking
screen gets displayed. I have not yet been able to get run-time error 3044
to appear. When the client told me over the phone that he was getting this
error, I was puzzled and am now even more puzzled, since I just don't see how
this could happen.

Right now when my app launches, it deletes all linked tables during startup
and recreates them based on the location information passed in from the
launcher. So given that the app deletes the links at startup before any type
of action is done on the links (opening or code action), I don't see how this
error can even be generated given how my startup code works.

Also the error that my client got occurred in a module that is invoked in the
startup routine. In my client's case, if there was a problem during linking
an error should have been generated at that time, not in a subsequent module.
>>>In other words, Access will allow the invalid connection strings on
startup and an error is only generated when some action is taken to
[quoted text clipped - 9 lines]
>>>
Thanks.
--
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/For...ccess/200609/1

Sep 29 '06 #4
Sorry for all of these posts one after the other. Another idea occurred to
me and that was to corrupt the back-end files to see what happens (now that I
know how, it is really depressing to see how easy it is to corrupt an access
file, protected or not).

So, I corrupted my back-end file and tried to connect to it. I got the
following error message during startup of my application:

Error #3343
"Unrecognized database format '......'.

Still can't figure out to make error #3044 show up.
rdemyan wrote:
>I wish this forum had the ability to edit posts.

To be clear, the error the client got occurred after my code recreated the
links. Also, the file name listed by the 3044 error does in fact exist out
on the server. The only thing I can think of is that there was some kind of
hiccup at the server. But I had him logon at least 6 to 8 times to test a
few things and the error occurred each time in the same module. So based on
that, it is hard to believe that this could be a server hiccup.
>>I've been testing my code under a variety of conditions. Moving the folder
the back-end files are located in. Moving just the back-end files out of the
[quoted text clipped - 20 lines]
>>>>
Thanks.
--
Message posted via http://www.accessmonster.com

Sep 29 '06 #5
>To be clear, the error the client got occurred after my code
>recreated the links.
Is your client able to establish the links manually via

Tools Database Utilities Linked Table Manager

....?
rdemyan via AccessMonster.com wrote:
I wish this forum had the ability to edit posts.

To be clear, the error the client got occurred after my code recreated the
links. Also, the file name listed by the 3044 error does in fact exist out
on the server. The only thing I can think of is that there was some kind of
hiccup at the server. But I had him logon at least 6 to 8 times to test a
few things and the error occurred each time in the same module. So based on
that, it is hard to believe that this could be a server hiccup.

rdemyan wrote:
I've been testing my code under a variety of conditions. Moving the folder
the back-end files are located in. Moving just the back-end files out of the
folder. Changing the name of the back-end files in a valid back-end folder.
In every case, my custom error messages are invoked and my custom linking
screen gets displayed. I have not yet been able to get run-time error 3044
to appear. When the client told me over the phone that he was getting this
error, I was puzzled and am now even more puzzled, since I just don't see how
this could happen.

Right now when my app launches, it deletes all linked tables during startup
and recreates them based on the location information passed in from the
launcher. So given that the app deletes the links at startup before any type
of action is done on the links (opening or code action), I don't see how this
error can even be generated given how my startup code works.

Also the error that my client got occurred in a module that is invoked in the
startup routine. In my client's case, if there was a problem during linking
an error should have been generated at that time, not in a subsequent module.
>>In other words, Access will allow the invalid connection strings on
startup and an error is only generated when some action is taken to
[quoted text clipped - 9 lines]
>>
Thanks.

--
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/For...ccess/200609/1
Sep 29 '06 #6
Gord:

Appreciate your sticking with me on this. I hide the default Access menu bar
and use custom menu bars which do not include the Linked Table Manager. So
by default the answer is no.

The fact that I can't recreate this problem in my office puzzles me..

He tried to logon to a test version of my app (we're checking new
functionality). I had to copy the files onto their server from about 1200
miles away. It is a very slow connection and took about an hour for the app
and back-end files to get copied from my location to their server. It's
possible that something went wrong with the copy process.

I forgot to mention that I actually did login with this new test app to the
updated back-end files from my remote location (took 15 minutes to login
whereas the normal login time is well under a minute). I did not get any
errors so I think that rules out the back-end files as somehow causing the
problem. However, my copy of the front end was not the exact same one that
he pulled off of their server and loaded onto his PC. It's supposed to be
exactly the same, but again I copied that front end from my remote location
to their server. Maybe something happened to the front end during the
copying process to their server. It's a .mde file and I always decompile
before creating a .mde to minimize corruption problems.

Perhaps it is his copy of the front end. I'll have to get him another copy
and try that before spending a lot of time exploring other problems.

Thanks for your help and I'll report back as I learn anything new.
Gord wrote:
>>To be clear, the error the client got occurred after my code
recreated the links.

Is your client able to establish the links manually via

Tools Database Utilities Linked Table Manager

...?
>I wish this forum had the ability to edit posts.
[quoted text clipped - 33 lines]
>Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/For...ccess/200609/1
--
Message posted via http://www.accessmonster.com

Sep 29 '06 #7
>>Is your client able to establish the links manually via
>>
Tools Database Utilities Linked Table Manager

...?
>I hide the default Access menu bar and use custom menu bars which do
not include the Linked Table Manager. So by default the answer is
no.
I was really just thinking of it as a diagnostic procedure, so it could
even be done from a separate .mdb file. It would catch things like
incorrect drive mappings, insufficient user permissions on the
files/folders, etc..

rdemyan via AccessMonster.com wrote:
Gord:

Appreciate your sticking with me on this. I hide the default Access menu bar
and use custom menu bars which do not include the Linked Table Manager. So
by default the answer is no.

The fact that I can't recreate this problem in my office puzzles me..

He tried to logon to a test version of my app (we're checking new
functionality). I had to copy the files onto their server from about 1200
miles away. It is a very slow connection and took about an hour for the app
and back-end files to get copied from my location to their server. It's
possible that something went wrong with the copy process.

I forgot to mention that I actually did login with this new test app to the
updated back-end files from my remote location (took 15 minutes to login
whereas the normal login time is well under a minute). I did not get any
errors so I think that rules out the back-end files as somehow causing the
problem. However, my copy of the front end was not the exact same one that
he pulled off of their server and loaded onto his PC. It's supposed to be
exactly the same, but again I copied that front end from my remote location
to their server. Maybe something happened to the front end during the
copying process to their server. It's a .mde file and I always decompile
before creating a .mde to minimize corruption problems.

Perhaps it is his copy of the front end. I'll have to get him another copy
and try that before spending a lot of time exploring other problems.

Thanks for your help and I'll report back as I learn anything new.
Gord wrote:
>To be clear, the error the client got occurred after my code
recreated the links.
Is your client able to establish the links manually via

Tools Database Utilities Linked Table Manager

...?
I wish this forum had the ability to edit posts.
[quoted text clipped - 33 lines]
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/For...ccess/200609/1

--
Message posted via http://www.accessmonster.com
Sep 29 '06 #8
"rdemyan via AccessMonster.com" <u6836@uwewrote in
news:6708208e0f77b@uwe:
I wish this forum had the ability to edit posts.
I don't know where *you're* posting, but I'm reading your posts on
Usenet, which has never had any capability of editing posts. Even if
you're posting from a website, the forum where *I'm* seeing it would
always have to post a second message to register any corrections you
made.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
Sep 29 '06 #9
>>Is your client able to establish the links manually via
>>
Tools Database Utilities Linked Table Manager

...?
>I hide the default Access menu bar and use custom menu bars which do
not include the Linked Table Manager. So by default the answer is
no.
I was really just thinking of it as a diagnostic procedure, so it could
even be done from a separate .mdb file. It would catch things like
incorrect drive mappings, insufficient user permissions on the
files/folders, etc..

rdemyan via AccessMonster.com wrote:
Gord:

Appreciate your sticking with me on this. I hide the default Access menu bar
and use custom menu bars which do not include the Linked Table Manager. So
by default the answer is no.

The fact that I can't recreate this problem in my office puzzles me..

He tried to logon to a test version of my app (we're checking new
functionality). I had to copy the files onto their server from about 1200
miles away. It is a very slow connection and took about an hour for the app
and back-end files to get copied from my location to their server. It's
possible that something went wrong with the copy process.

I forgot to mention that I actually did login with this new test app to the
updated back-end files from my remote location (took 15 minutes to login
whereas the normal login time is well under a minute). I did not get any
errors so I think that rules out the back-end files as somehow causing the
problem. However, my copy of the front end was not the exact same one that
he pulled off of their server and loaded onto his PC. It's supposed to be
exactly the same, but again I copied that front end from my remote location
to their server. Maybe something happened to the front end during the
copying process to their server. It's a .mde file and I always decompile
before creating a .mde to minimize corruption problems.

Perhaps it is his copy of the front end. I'll have to get him another copy
and try that before spending a lot of time exploring other problems.

Thanks for your help and I'll report back as I learn anything new.
Gord wrote:
>To be clear, the error the client got occurred after my code
recreated the links.
Is your client able to establish the links manually via

Tools Database Utilities Linked Table Manager

...?
I wish this forum had the ability to edit posts.
[quoted text clipped - 33 lines]
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/For...ccess/200609/1

--
Message posted via http://www.accessmonster.com
Sep 29 '06 #10
The biggest problem you are having is that you are not using the right
tool for the right job. Desktop tools are not ideally suited for
enterprise operations. Access is a desktop tool, and your operation is
of the enterprise type.

Note: I am not knocking Access here - just pointing out the right tool
for the right job. A very good tool for enterprise operations like
yours would be VB2005 with Sql Server as the backend. For single user
operations, VB2005 would be overkill where Access would be ideal.

Use this philosophy for choosing a tool - whatever requires the least
amount of coding for a job - use that tool. For enterprise ops - Access
can do it - but not without much heartache and pain (been there) and
mountains of code. For quick storage and querying of local data like
from textfiles, Excel files, Word docs, Access is way easier to deal
with than VB2005

VB2005 has a real nice feature (of the many it has) for deploying
applications without having to run setup. It is called "Click Once
Deployment". You publish your app to the web (internet/intranet) and
anyone who has the proper authorization can download your app and
install it without running setup. And when you update the app, you just
publish the update, and users will get the updates seamlessly.

Don't be fooled that VB2005 is way harder to use than Access. Once you
get past the OOP part it is a breeze. You will end up writing a
boatload of code for your relinking routine for the Access App, where
there is no code involved at all in VB2005 deployment.

Rich

*** Sent via Developersdex http://www.developersdex.com ***
Sep 29 '06 #11
David:

I'm posting in Access Monster. The other big Access Help forum does allow
user's to edit their posts, I believe within one hour after the first post.

I mentioned it as a suggestion that maybe one of the
moderators/administrators might want to consider.

David W. Fenton wrote:
>I wish this forum had the ability to edit posts.

I don't know where *you're* posting, but I'm reading your posts on
Usenet, which has never had any capability of editing posts. Even if
you're posting from a website, the forum where *I'm* seeing it would
always have to post a second message to register any corrections you
made.
--
Message posted via http://www.accessmonster.com

Sep 29 '06 #12
"rdemyan via AccessMonster.com" <u6836@uwewrote in
news:6708d3fcac847@uwe:
David W. Fenton wrote:
>>I wish this forum had the ability to edit posts.

I don't know where *you're* posting, but I'm reading your posts on
Usenet, which has never had any capability of editing posts. Even
if you're posting from a website, the forum where *I'm* seeing it
would always have to post a second message to register any
corrections you made.

I'm posting in Access Monster. The other big Access Help forum
does allow user's to edit their posts, I believe within one hour
after the first post.

I mentioned it as a suggestion that maybe one of the
moderators/administrators might want to consider.
Do you need me to draw you a picture? This forum,
comp.databases.ms-access, is not an Access Monster forum. It is a
Usenet group that is mirrored on the Access Monster website.

It is not moderated.

Let me repeat that: there is no moderator/administrator.

Personally, I wish websites would not mirror CDMA because it causes
things I post here for this newsgroup alone to end up in Google.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
Sep 30 '06 #13

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

Similar topics

20
by: | last post by:
If I need to check if a certain value does exist in a field, and return either "yes" or "not" which query would be the most effestive?
7
by: Mark Thiel | last post by:
I am working on a project for my company, which has a structure of six major areas. Certain people need to have access to all of the data, whereas other people only require access to the...
3
by: Alienz | last post by:
Hey guys heres my network question: 1- when I selet Tools-startup and limit the access to access, it applies to all of the users on the network who are accessing the database through a network...
1
by: John Michael | last post by:
I have created some password routines to protect certain forms from access without a password. This allows me to create some security for apps that will be used on diff machines for users that...
2
by: cmcmillan | last post by:
Hello folks. I have a database with about 10 users. On startup of the front end (Which holds some tables, macros, forms) I am running a macro that deletes a couple tables and imports replacements...
4
by: aspsql | last post by:
I have a website which runs off a Access database which I am currently converting to sql server database. I would like to still use my access front end for reporting and queries.. I created an...
1
by: SandyZ | last post by:
Hi - I am new to the forum. I starting developement on an application where the user level security is such that I need to restrict access to individual fields in a table. I am familiar with...
4
JodiPhillips
by: JodiPhillips | last post by:
MS Access2000 Hi everyone, I've searched the forums for an answer to this question and nothing jumps out at me. When a database is opened I want to automatically run code (at start-up) that...
7
by: Airtech | last post by:
I am building a media management tool and starting it in Access 2003. I have various linked tables, and have sufficient code to loop through my list of linked tables to verify that the data file...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
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
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

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.