Controlling when subforms containing 10 TableBoxes gets filled with data

Dear all,

We have inherited a complex form that has subform with TabControl that contains 10 tabs.

Each of these tabs contains a subform that contains a Table Box Object.

You can probably see what’s coming…

Doing a find next /find previous in the toplevel form is very slow because it is filling each of the 10 TableBoxes with data.

What we would like to do is to still have all 10 Tabs but only fill the Active Tab with data so that each find within the toplevel form only causes one find in the TabControl.

Can I have folks suggestions on how to approach this problem.
It is worth noting that the filtering on some of the subforms is a little complex.

Kind regards

Rob

Take all of those tableboxes off the form and replace them with buttons to open a different form. That’s the only way to not fill them. You could put filters on the subform so that they are empty when the main form opens, and a button to fill them on demand, but that would be essentially the same as providing buttons to open those forms.

Also, you could also look at the subforms themselves and see how they are defined. Saved positions, reverse ordering, thins like that, all slow down list forms tremendously. Flowfields also do this. You could probably trim a lot of fat from those list forms to speed it up, perhaps even enough to make the users stop complaining

Dear Dan,

Many thanks for you reply.

Can I ask a few supplementary questions about your proposed form.

Does the parent form have 10 buttons and 10 subforms?

If so what is the state of the 10 subforms and how do I activate them?

Or does the parent form have 10 buttons and 1 subform?

If so how do I get this one subform to point at each of the 10 subforms ?

Or is something completely different :wink:

Kind regards

Rob

I don’t like this, but if you really want to, you may try this:

It is possible to make use of CurrForm.Sub_x.FORM.VISIBLE(true/false) in OnOpenForm and each subform’s OnActivate and OnDeactivate.

But it will probably not be a “nice” solution. And I’m not even sure that it will work properly…[^o)]

In standard NAV, access to this information is provided through the dropdown menubuttons. Sometimes, customers will say that clicking the menubutton and then clicking a selection is too much work, and could we please have this right on the form. It appears that in this instance, that has been taken into a whole other level. When a form has 10 subforms, there are bound to be performance issues, especially if the information comes from ledger tables, and has tons of flowfields on them.

Personally I would never put 10 subforms onto a form because that always results in bad performance. What I am saying is to get rid of all of those subforms, and provide a row of “one click buttons” on the main form, that open the forms in their own instances. Kind of the same as standard NAV, but with “one click access”. It’s an additional click to close the form, but you’re going to see much better performance on the main form. The added benefit is that if your screen is big enough, you can have multiple forms open next to eachother, which is not possible with subforms on a tab control.