I would appreciate some re-design advice to speed up the display of data on a VFP7 application form running in Windows 2000.
We have a Form which, in addition to a Top Header portion, contains a Pageframe with 10 tab pages.
Each tab page displays data associated with a selected individual and is coming from one or more tables.
Some tab pages display multiple table records unique to an individual via Grids.
And other tab pages display TextBoxes containing individual variable values from the associated table. Currently these TextBoxes are using memory variables as their ControlSource rather than being bound directly to the table field to minimize the risk of erroneous user entry changing data.
* General Data (mostly TextBox displays)
* Order Data (some TextBox, some Grid)
* Monthly Data (mostly Grid)
* Yearly Data (mostly Grid)
* Payment/AR Data (mostly Grid)
* Change Pending Data (mostly Grid)
* General Notes (mostly Grid)
* 3 Other Data Tab Pages... (mostly TextBox)
Most of the Grids are "View for reference ONLY", no direct user input.
As is normal, the users may change the individual they are looking at, thereby causing the form to need to re-acquire data and then re-display it.
One of the initial problems was that after gathering new TextBox data from the data tables and then using ThisForm.Refresh or ThisForm.Pageframe1.ThisTab.Refresh. The re-'paint' of the new data was not working reliably. It was leaving some of the variable TextBox fields showing data from previous individuals or showing blank.
Consequently new code was added to "force" the re-display of each and every TextBox. Unfortunately, as can be expected, this has introduced un-acceptable delays into Form data gathering and displays.
An additional problem is using FILTER's on tables of 200K to 300+K records for Grid displays.
Finally - Older (may be read as slower) user computers aren't being any help to the speed.
I now need to re-think the approach to the entire form to expedite the display of accurate data for an selected individual.
Any new approach suggestions to speed up the data display would be greatly appreciated.
Thanks,
JRB-Bldr
We have a Form which, in addition to a Top Header portion, contains a Pageframe with 10 tab pages.
Each tab page displays data associated with a selected individual and is coming from one or more tables.
Some tab pages display multiple table records unique to an individual via Grids.
And other tab pages display TextBoxes containing individual variable values from the associated table. Currently these TextBoxes are using memory variables as their ControlSource rather than being bound directly to the table field to minimize the risk of erroneous user entry changing data.
* General Data (mostly TextBox displays)
* Order Data (some TextBox, some Grid)
* Monthly Data (mostly Grid)
* Yearly Data (mostly Grid)
* Payment/AR Data (mostly Grid)
* Change Pending Data (mostly Grid)
* General Notes (mostly Grid)
* 3 Other Data Tab Pages... (mostly TextBox)
Most of the Grids are "View for reference ONLY", no direct user input.
As is normal, the users may change the individual they are looking at, thereby causing the form to need to re-acquire data and then re-display it.
One of the initial problems was that after gathering new TextBox data from the data tables and then using ThisForm.Refresh or ThisForm.Pageframe1.ThisTab.Refresh. The re-'paint' of the new data was not working reliably. It was leaving some of the variable TextBox fields showing data from previous individuals or showing blank.
Consequently new code was added to "force" the re-display of each and every TextBox. Unfortunately, as can be expected, this has introduced un-acceptable delays into Form data gathering and displays.
An additional problem is using FILTER's on tables of 200K to 300+K records for Grid displays.
Finally - Older (may be read as slower) user computers aren't being any help to the speed.
I now need to re-think the approach to the entire form to expedite the display of accurate data for an selected individual.
Any new approach suggestions to speed up the data display would be greatly appreciated.
Thanks,
JRB-Bldr