[AccessD] Array as source for query

JWColby jwcolby at colbyconsulting.com
Tue Jan 23 10:54:29 CST 2007


Jurgen,

I too have bound forms so complex that I get this "no more database"
message.  The surprising thing is that IIRC there are more than 2400
"available" "recordsets".  The issue is (as you have discovered) at LEAST
one is used for each combo, list, form etc.  It turns out that each object
can use two or more "recordsets" as well so it isn't like you can have up to
2400 combos / forms at once.

I too make heavy use of Just In Time subforms, on tabs, connecting and
disconnecting the subforms as the user clicks on and then off of tabs.  That
definitely helps but doesn't solve the problem.  If I can build into my
framework a method of caching the data for combos and then using a callback
that would definitely help.  Combos are about 90% of the problem and this is
an issue that really can cause problems as your forms get complex.

I tried to solve this a few years ago but the cure was as bad as the
problem.  Callback functions are odd ducks, and I was never able to
satisfactorily use a single callback for more than one combo.  It is an
issue I would LOVE to figure out though.

John W. Colby
Colby Consulting
www.ColbyConsulting.com

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jurgen Welz
Sent: Tuesday, January 23, 2007 11:39 AM
To: accessd at databaseadvisors.com
Subject: Re: [AccessD] Array as source for query

Lembit:

I appreciate all the welcomes.

Peculiar thing is, I still 'NEED to to that'.  That application I wrote that
the 'NEED' pertains to is still in service and is currently up to 47 users.

Complexity has been added to the extent that if users leave too many forms
open, they frequently get a 'Cannot open anymore databases.' 3048 error (an
FE error) and it seems once that happens, even bound forms don't save data
until after a restart.  That application remains, in IT parlance 'just a
file' so it remains my responsibility, and there is no possiblity of
migrating it to an industrial back end.

The only way to reduce connections to data is to disconnect lists and combos
and just in time subforms from directly bound sources.  I have a few
particularly nasty reports that open from equally nasty forms that tend to
put the application over the top.

The only solution that comes to hand is to connect to data, throw the data
into arrays, close the connection and display the information as callback
lists and combos.  Bound (but not updateable) subforms can be done using the
virtual recordset approach provided the number of records is limited and
field length is restricted to a known maximum so as not to exceed the SQL
string length limitation.  And of course, although they are bound forms,
they are not bound to actual records in a real table.  Still, the other
Access bound bells and whistles are present.

We had a list debate here about allowing text fields all to be 255
characters rather than placing restrictions on them, but if a subform can
allow display of 6 records, it is useful to impose a maximum field size to
guarantee all data in those records can be displayed.  Drew argued
vehemently for unrestricted size and he made a good case, but I'm now glad
that I kept them since there is no need to 'fix' the data to fit new
requirements.

There is much 'display only' data to be disconnected.  It appears the
application is destined to continue for another 4 or 5 years until,
hopefully, the parent company developers start meeting some of our specific
needs.  Access development has, for me, slipped from close to primary to
tertiary scope in my employment so I can dabble with all this when I feel
the desire.  For the time being, limiting the number of forms allowed to be
open was a quick patch.  Hopefully I can disconnect all the 'display only' 
data.  After that, I may have to implement a custom record locking scheme
and go unbound.  It is anticipated that the number of users will continue to
climb exponentially from the 3 users we started with in 1997.

Oh yes, I 'NEED' to pursue this kind of amusement more than ever.  
Fortunately, as long as things continue to work reasonably well, it is a
matter of dabbling when I feel like it.  This task is occasional weekend
entertainment.

Ciao
J|rgen Welz
Edmonton, Alberta
jwelz at hotmail.com




More information about the AccessD mailing list