Access2k3 Application works under XP, fails under Windows 2000

T

teddysnips

SCENARIO:

Application originally developed in Access 97 several years ago.
Worked with no problem until recent change from Novell to Active
Directory.

PROBLEM:

Application was converted from Access 97 to Access 2003.

It WORKS on machines running Windows XP

It FAILS on machines running Windows 2000 as below:

In the Form_Load event of one of the forms (which contains a number of
subforms) the following lines appear:

Forms![frmPartDetails]![fsubNHA_Details].Form.RecordSource
= "qryPart_Details_frm_NHA"
Forms![frmPartDetails]!
[fsubEndUnit_Details].Form.RecordSource =
"qryPart_Details_frm_End_Unit"

When the second line is hit it prompts for a parameter thus:

Forms!frmPartDetails!fsubNHA_Details!NHA.Text

This problem does not occur on Windows XP machines.

In order to test this reasonably thoroughly, I copied the code onto a
pen drive and installed it on three machines running XP. They all
worked fine. I then copied it to three machines running Windows 2K
and they all failed with the same problem.

The answer, obviously, is to upgrade all Windows 2000 machines to XP.
But what is the reason that this doesn't work? Is it an
incompatibility between Access 2003 and Windows 2000?

Thanks

Edward
 
A

Allen Browne

When you open a form, Access must it and its subforms into memory. One of
the 2 subforms loads before the other. If you have a dependency that assumes
the other subform is loaded, you can get caught short if Access loads them
in the other order.

Since this happens only when the form is loading, you might be able to work
around the problem by adding error handling, and ignoring the specific error
that occurs when the form first loads.
 
T

teddysnips

When you open a form, Access must it and its subforms into memory. One of
the 2 subforms loads before the other. If you have a dependency that assumes
the other subform is loaded, you can get caught short if Access loads them
in the other order.

Since this happens only when the form is loading, you might be able to work
around the problem by adding error handling, and ignoring the specific error
that occurs when the form first loads.

I tried that, and it didn't work because the second form depends on a
value that exists in a control on the first form, which is not
available when it's run on Windows 2000. So although I can bypass the
run-time error the containing form, when loading is complete, is
useless.

What I really want to know is why this should work as expected under
XP but not W2k. I suspect that it is a library issue.

Thanks

Edward
 
A

Albert D. Kallal

Try placing a doevents command between the two lines....

It might very well be a threading issue, and those NT machines behave a bit
different...

I had a few threading issues pop up when converting from a97 to a2003.

It is a guess on my part..but, give it a try...
 

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