473,394 Members | 1,700 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,394 software developers and data experts.

Access Table Linking Problem

I have a multiuser access database to which I have split into fe &
be. The system refreshes the links at each log-on between the fe & be
automatically via code.

PROBLEM:

Locally it runs perfectly... in the client server setting the re-
linking is extremely slow...
DETIALS:

FE: 80MB

BE: 30MB

#of Tables... 120

time to load locally 5-10 seconds..

time to load via netword 5-7 Minutes

SubDataSheets - Set to [NONE]

Any help would be appreciated.

Nov 3 '08 #1
4 2842
I've noticed this before. If ANY user is in the BE database, then you
attempt to relink tables on another machine to the BE, you'll notice the
extreme slowness. I believe Access needs to get locks on the tables to
refresh the links, and there is a major delay if the tables are opened by
another user (not so if no one else is in the BE database).

Couple of work-arounds:

1) When you are compiling an .mde, make sure the tables are already linked
to the same database they will be connecting to (if possible). Then when you
distribute the .mde to each machine, the program is already linked to the
proper location.

2) If # 1 is not possible, make sure to NOT relink the tables each time the
program starts, but only if you determine that relinking is necessary (see
code sample below), such as the linked table database is no longer valid,
etc.

Even with #2 above, one person at that location could launch the program to
relink to the back-end, then distribute his/her .mde to all other pc's (the
..mde would now be correctly linked). If you had the code put in that would
only relink if the current links were invalid, this would solve the issue,
as the program they save would already be linked to the proper BE.

Here's an example of a check in your relinking code where you only refresh
if the link is not valid:

(you could test one table's link and see if it's correct, and set the proper
path to variable: datapath)

If MyTable.Connect <";DATABASE=" & datapath Then
MyTable.Connect = ";DATABASE=" & datapath
MyTable.RefreshLink
End If

Hope this makes sense,

Andy
"Mike" <in**@baltworld.comwrote in message
news:41**********************************@c36g2000 prc.googlegroups.com...
>I have a multiuser access database to which I have split into fe &
be. The system refreshes the links at each log-on between the fe & be
automatically via code.

PROBLEM:

Locally it runs perfectly... in the client server setting the re-
linking is extremely slow...
DETIALS:

FE: 80MB

BE: 30MB

#of Tables... 120

time to load locally 5-10 seconds..

time to load via netword 5-7 Minutes

SubDataSheets - Set to [NONE]

Any help would be appreciated.
Nov 3 '08 #2
On Nov 3, 4:43*pm, "Andy" <PCES...@PCESoft.invalidwrote:
I've noticed this before. If ANY user is in the BE database, then you
attempt to relink tables on another machine to the BE, you'll notice the
extreme slowness. I believe Access needs to get locks on the tables to
refresh the links, and there is a major delay if the tables are opened by
another user (not so if no one else is in the BE database).

Couple of work-arounds:

1) When you are compiling an .mde, make sure the tables are already linked
to the same database they will be connecting to (if possible). Then when you
distribute the .mde to each machine, the program is already linked to the
proper location.

2) If # 1 is not possible, make sure to NOT relink the tables each time the
program starts, but only if you determine that relinking is necessary (see
code sample below), such as the linked table database is no longer valid,
etc.

Even with #2 above, one person at that location could launch the program to
relink to the back-end, then distribute his/her .mde to all other pc's (the
.mde would now be correctly linked). If you had the code put in that would
only relink if the current links were invalid, this would solve the issue,
as the program they save would already be linked to the proper BE.

Here's an example of a check in your relinking code where you only refresh
if the link is not valid:

(you could test one table's link and see if it's correct, and set the proper
path to variable: datapath)

If MyTable.Connect <";DATABASE=" & datapath Then
* * * * *MyTable.Connect = ";DATABASE=" & datapath
* * * * *MyTable.RefreshLink
End If

Hope this makes sense,

Andy"Mike" <i...@baltworld.comwrote in message

news:41**********************************@c36g2000 prc.googlegroups.com...
I have a multiuser access database to which I have split into fe &
be. *The system refreshes the links at each log-on between the fe & be
automatically via code.
PROBLEM:
Locally it runs perfectly... *in the client server setting the re-
linking is extremely slow...
DETIALS:
FE: 80MB
BE: 30MB
#of Tables... 120
time to load locally 5-10 seconds..
time to load via netword 5-7 Minutes
SubDataSheets - Set to [NONE]
Any help would be appreciated.- Hide quoted text -

- Show quoted text -
I see your solution says "make sure to NOT relink the tables each time
the program starts"... i am confused a little about linked tables..
does the link need to be re-established each time the FE is opened or
not??? So threads I see say yes.. Some seem to say no however I cannot
get a definative answer....

THanksagain for the help..
Nov 3 '08 #3
No, if a table is already linked to the proper location, you should not
relink it, as this will be slow with other user's in the db. Check the
..connect property to see if it's linked to the correct place. If it is,
don't refresh the link, and the speed will be much better.

Hope this helps,

Nov 3 '08 #4
Mike <in**@baltworld.comwrote:
>Locally it runs perfectly... in the client server setting the re-
linking is extremely slow...
Andy's got some very valid points. No need to relink the tables if the the link to
the BE works. I just open a recordset against a one record table linked to the back
end such as my always present GlobalOptions table. If the appropriate error message
is received then I know I need to relink to the BE. If it opens cleanly then I exit
this logic.

However the real answer to your problem is to either open a database object to the BE
database before you start relinking the tables in code. Or, once you've relinked the
first table open a recordset based on that table.

Now if you want to leave the database or recordset object open for performance
reasons that's fine. Or you can open a hidden form with the record source set to a
linked table such as I do with my GlobalOptions table.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Nov 9 '08 #5

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

Similar topics

18
by: Mark P | last post by:
I have a bit of vb code that uses Tables.Append to programatically link tables from Oracle and DB2 datasources. The problem I am having on some client machines is that the link will take anywhere...
4
by: anand | last post by:
Hi, I have an Access 2000 database, which contains some native tables, and some linked tables which belong to an ORACLE database, through ODBC. Using VB.NET, I am trying to fetch some data by...
1
by: Terry | last post by:
Hello, Has anyone experienced the following problem following an Upsize from Access 97 to SQL 2000 using the MS Upsize Wizard? Or can anyone see what the problem might be. Before Upsize...
52
by: Neil | last post by:
We are running an Access 2000 MDB with a SQL 7 back end. Our network guy is upgrading to Windows Server 2003 and wants to upgrade Office and SQL Server at the same time. We're moving to SQL Server...
8
by: rdemyan via AccessMonster.com | last post by:
I've converted my application from A2K format to A2003 format. I tried to follow Allen Browne's protocol in getting my app into A2003 (although I was unable to find informtion on the conversion...
12
by: rdemyan via AccessMonster.com | last post by:
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....
6
by: oyk | last post by:
I hope someone could help me on this. I have linked an excel worksheet to access but the some data shown in the access table has the #Num errors. Presumably, this must be because the data in the...
11
by: Chad | last post by:
Hi Is it possible to substitute an alternative data source (eg MySQL or SQL Server) into an existing MS-Access application?
1
by: lochmant | last post by:
I have a series of about 10 test databases with about 34 linked table each. I need to create an Access 2003 database front end for each of these. I am currently trying to write a script that will...
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: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
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...
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:
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,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
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...

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.