[AccessD] Form Lifetime Control Limit -- Final Recommendation

William Benson vbacreations at gmail.com
Thu Dec 15 18:09:39 CST 2011


Control name property is read only in runtime right? So for ac97 this a
manual find and rename operation?
On Dec 15, 2011 6:09 PM, "Kenneth Ismert" <kismert at gmail.com> wrote:

> Here is my proposal for how to best fix Form Control Limit problems:
>
> Control Limits
> ===========
> Access imposes limits on how may controls you can put on a form or report:
> A97 - 753
> A2000 - 800
> A2002 - 894
> A2007 - 1040
> A2010 - 1040
> Thanks to Jim Dettman for working out these limits.
>
> If you try to add more controls than your version of Access allows, you
> will see:
> Error: 29053
> <database> can't create any more controls on this form or report.
>
> At this point, check the number of controls on the form:
> ? forms("Form1").Controls.Count
>
> If that number is less than the stated limit, you can still add more
> controls, but you have to reset the control counter. Here's how:
>
> Access 2000 or Later
> =================
> If you CREATED the form in Access 2000 or later, follow these steps:
> Application.SaveAsText acForm, "Form1", CurrentProject.Path & "\Form_Form1"
> Application.LoadFromText acForm, "Form1", CurrentProject.Path &
> "\Form_Form1"
>
> This should reset your control list, allowing you to keep adding up to the
> stated limit. Notes:
>  * This is a lot easier than copying the controls to a new form, and
> manually changing all form properties to match the old
>  * EatBloat will also reset the counter for such forms, as it uses this
> basic technique
>
> Access 97
> ========
> If the form was created in Access 97, and you imported it into a later
> version, there is more work to do. Follow these steps:
>
> 1. Rename all form controls with a default numeric suffix, like 'label123'
> and 'text234'. This eliminates all possibility of name collisions.
>
> 2. In the Immediate window, count the number of controls:
> ? Forms("Form1").Controls.Count
>
> 2. Save the form as text:
> Application.SaveAsText acForm, "Form1", CurrentProject.Path &
> "\Form_Form1.txt"
>
> 3. Edit "Form_frmFoo.txt" using a text editor. Find this attribute, and
> edit it to the number of controls +1:
> ItemSuffix =128
>
> 4. Import the form using:
> Application.LoadFromText acForm, "Form1", CurrentProject.Path &
> "\Form_Form1.txt"
>
> -Ken
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>



More information about the AccessD mailing list