T
Tom Carter
I have a form in Access 2000 which will not let me make any changes without
becoming unstable. I don't know if I've simply hit a limit for complexity of
a form or something else. I've seen references to the limit of 754 controls
over the "lifetime" of a form, but I don't think I'm anywhere near that on
any one form. Let me describe my situation, symptoms, and what I've tried.
First, I'm running Win2k, Access 2k sp6. I haven't yet updated to Access 2k
sp7 because that update seems to require a whole OS service pack update, but
that's my next & last idea. The database is divided into a front end (code)
& back end (data), but is only being used single-user on one machine (by
me).
The database consists of one main form with a tab control that displays all
sorts of information about one person. The main form has less than 200
controls on it, and the main person table only has 27 fields. Most
information is in related tables and displayed through ~15 subforms (one
subform for phone numbers, one subform for addresses, etc.) on the 6 pages
of the tab control. One of the pages of the tab control has a subform that
allows for the search & selection of a person. That selection is done by
double-clicking on the desired record in the subform, which in turn sets the
recordsource of the parent/main form. That is set with the most simple of
all queries, "select * from people where personID = <X>". That has worked
flawlessly for quite some time . . . until now. I should add that other
functionality in the form seems to work ok. Changing the recordsource of the
primary form gives me a half-life somewhere between 0 and 20 seconds.
As I try to add other controls & functionality to the primary form, I now
get a variety of error messages and/or crash Access completely by trying to
select a new person and re-assign the recordsource of the main/parent form.
The primary error that I now get is 2101, "The setting you entered isn't
valid for this property," Within a few additional mouse-clicks, Access
usually crashes with the Windows error dialog that a certain memory address
(usually 0x0, but not necessarily) could not be read, or that a certain
memory address (usually 0x0) could not be written. Many times this happens
in a dialog with the title "DDE Server Window." This happens regardless of
whether I catch the original error with my own error handler or not. In
addition to this (most painful) symptom, I also occasionally get contents
from a comboBox showing up in an unrelated text field or as the default
value for another unrelated combo box. Often the close box for a form will
not close Access, and even after choosing the Exit menu item for Access, I
see that an MSAccess.exe process is still hanging around. Sometimes when I
try to Exit from Access, it leaves the Code Editor window up & running. If I
get the 2101 error and am still running, simply scrolling the window in the
Code Editor will often cause Access to crash.
In going to a backup database which is still working fine, I've found that
Access becomes unstable simply adding a second tab control to the primary
form. I now have a situation where I can run reliably, then add the second
tab control with no other modifications or code, and the problems begin.
Thinking I had found the core problem, I've re-implemented my design with
toggle buttons in an option group. I thought I was ok for a while, but now
the same problems have reappeared with the toggle buttons.
I have tried "Compact & Repair Database...", launching Access with the
/decompile flag, and creating a blank database and importing all the forms,
queries, etc. I've also tried creating a new form in the database, then
copying & pasting the controls and their scripts from the bad form. I've
tried changing the code to using a filter, rather than changing the
recordsource entirely. The problem still remains, though the above attempts
sometimes delay the error. Sometimes I can assign the new query to the
recordsource a few times, but it always returns within a handful of
successful attempts.
I have done SaveAsText on the main form, and the text file produced is 143k.
Rougly 75% of that is the form definition, and 25% is the "CodeBehindForm."
I've scanned the text file for any obvious signs of corruption and don't see
any, though I haven't tried to be exhaustive in that. I've counted the
number of lines with "GUID =" and found 135 instances. There are 145
instances of "Begin". I think that implies that I'm well below the 754
limit, but I don't understand the other implications of that limitation.
I've searched for a variety of keywords everywhere I can think of (Google,
Microsoft, Experts-Exchange,etc.). Topics like "corruption" and "crashing"
are so vague that I haven't found anything helpful, and I have been mostly
surprised that the only occurrence of "DDE Server Window" seems to talk
about the problem with reports set for a specific printer.
Does anyone have any suggestions or advice? Is someone aware of a cause of
the DDE Server Window crash, other than the one caused by the specific
printer selection? I need to make changes to this form, but despite my best
efforts, I just seem stuck in the water right now. I'll update to the latest
service pack in the next day or so, which I see does include a new
vba32.dll, but please reply if you can provide any helpful suggestions.
Thanks in advance,
Tom
becoming unstable. I don't know if I've simply hit a limit for complexity of
a form or something else. I've seen references to the limit of 754 controls
over the "lifetime" of a form, but I don't think I'm anywhere near that on
any one form. Let me describe my situation, symptoms, and what I've tried.
First, I'm running Win2k, Access 2k sp6. I haven't yet updated to Access 2k
sp7 because that update seems to require a whole OS service pack update, but
that's my next & last idea. The database is divided into a front end (code)
& back end (data), but is only being used single-user on one machine (by
me).
The database consists of one main form with a tab control that displays all
sorts of information about one person. The main form has less than 200
controls on it, and the main person table only has 27 fields. Most
information is in related tables and displayed through ~15 subforms (one
subform for phone numbers, one subform for addresses, etc.) on the 6 pages
of the tab control. One of the pages of the tab control has a subform that
allows for the search & selection of a person. That selection is done by
double-clicking on the desired record in the subform, which in turn sets the
recordsource of the parent/main form. That is set with the most simple of
all queries, "select * from people where personID = <X>". That has worked
flawlessly for quite some time . . . until now. I should add that other
functionality in the form seems to work ok. Changing the recordsource of the
primary form gives me a half-life somewhere between 0 and 20 seconds.
As I try to add other controls & functionality to the primary form, I now
get a variety of error messages and/or crash Access completely by trying to
select a new person and re-assign the recordsource of the main/parent form.
The primary error that I now get is 2101, "The setting you entered isn't
valid for this property," Within a few additional mouse-clicks, Access
usually crashes with the Windows error dialog that a certain memory address
(usually 0x0, but not necessarily) could not be read, or that a certain
memory address (usually 0x0) could not be written. Many times this happens
in a dialog with the title "DDE Server Window." This happens regardless of
whether I catch the original error with my own error handler or not. In
addition to this (most painful) symptom, I also occasionally get contents
from a comboBox showing up in an unrelated text field or as the default
value for another unrelated combo box. Often the close box for a form will
not close Access, and even after choosing the Exit menu item for Access, I
see that an MSAccess.exe process is still hanging around. Sometimes when I
try to Exit from Access, it leaves the Code Editor window up & running. If I
get the 2101 error and am still running, simply scrolling the window in the
Code Editor will often cause Access to crash.
In going to a backup database which is still working fine, I've found that
Access becomes unstable simply adding a second tab control to the primary
form. I now have a situation where I can run reliably, then add the second
tab control with no other modifications or code, and the problems begin.
Thinking I had found the core problem, I've re-implemented my design with
toggle buttons in an option group. I thought I was ok for a while, but now
the same problems have reappeared with the toggle buttons.
I have tried "Compact & Repair Database...", launching Access with the
/decompile flag, and creating a blank database and importing all the forms,
queries, etc. I've also tried creating a new form in the database, then
copying & pasting the controls and their scripts from the bad form. I've
tried changing the code to using a filter, rather than changing the
recordsource entirely. The problem still remains, though the above attempts
sometimes delay the error. Sometimes I can assign the new query to the
recordsource a few times, but it always returns within a handful of
successful attempts.
I have done SaveAsText on the main form, and the text file produced is 143k.
Rougly 75% of that is the form definition, and 25% is the "CodeBehindForm."
I've scanned the text file for any obvious signs of corruption and don't see
any, though I haven't tried to be exhaustive in that. I've counted the
number of lines with "GUID =" and found 135 instances. There are 145
instances of "Begin". I think that implies that I'm well below the 754
limit, but I don't understand the other implications of that limitation.
I've searched for a variety of keywords everywhere I can think of (Google,
Microsoft, Experts-Exchange,etc.). Topics like "corruption" and "crashing"
are so vague that I haven't found anything helpful, and I have been mostly
surprised that the only occurrence of "DDE Server Window" seems to talk
about the problem with reports set for a specific printer.
Does anyone have any suggestions or advice? Is someone aware of a cause of
the DDE Server Window crash, other than the one caused by the specific
printer selection? I need to make changes to this form, but despite my best
efforts, I just seem stuck in the water right now. I'll update to the latest
service pack in the next day or so, which I see does include a new
vba32.dll, but please reply if you can provide any helpful suggestions.
Thanks in advance,
Tom