Tab Control (loading data)

wglmb

Registered User.
Local time
Today, 00:36
Joined
May 7, 2005
Messages
21
If I have a tab control in a form, with a form on each tab, will the data from all the tab's forms have to be loaded when I open the 'host' (don't know what to call it) form?
I can't tell if the load time is increased, as there isn't much data there yet, so it's pretty much instant anyway...
 
What are you worrying about, the draw time or the time it takes to retrieve the data?

AFAIK all data for a record is retrieved when you view that record, it doesn't matter if some of the fields are shown on different tabs.

What will significantly slow down the 'display' of the data is how long it takes Access to retrieve the data and this is a factor of the number of records, the database structure and any queries being run; although the processor speed and RAM will have some impact. So, if you have a slow computer and a large database it will take more time for the data to be displayed. Once the data on the first tab is displayed though the data for the controls on the other tabs should already be available for when you switch to them (unless of course you have code running new queries when you switch to them, thus introducing more delays...).

If you're worried about the draw time, get a faster computer with more RAM, if you are worried about the retrieval time take care in how you design your database.

Tim
 
Sorry; didn't explain too well.
I'm worried about the retrieval time.

...but I've just realised none of this matters; I overlooked a (totally unrelated) problem which means that I need a quick re-design anyway. Too complicated for me to bother explaining...

Thanks for trying to help!
 
2nd tab loads slow

I have a form with a tab control that has three pages. The first page contains a dozen textboxes all bound to the table that is the recordsource for the form. It opens and loads the data instanly. The second page contains about 15 combo boxes, also bound to the table that is the recordsource for the form. It opens and takes a very long time to load the data which happens one at a time (in tab order accross & down the page), about 15 - 20 seconds in all. The rowsource of each combo is a 2 field query ,[ID],[Name], based on the ID which is the controlsource of the combo.

Is there a way to speed this up?

Thanks,

Sup
 
If the calculations have to be done then they have to be done and that will always take a finite time. So, what can you do?

Speed up the calculations (faster CPU? more RAM?), perhaps not practical? However, you might be able to find a more efficient way of handling the calculations, so have a look at them.

How about redistributing the calculations? You could have more tabs and less combo boxes on each tab, thus the delay for each tab would be less. Perhaps you could also force some of the combo box recordsources to be calculated when the first tab is displayed; this would transfer some of the delay to the first tab and hopefully make the delay for the second tab more acceptable (although I'm not sure if this would work because the evidence that you present suggests that they are all calculated when the tab is selected).

You could also perhaps have a look at the overall design too, but I'm really clutching at straws here.

Tim
 
The "Calculations" are mostly 2 field queries based on the primary key of the table (which at this point has only 20-25 records in it). The form's recordsource table holds an employee ID for various positions. Each Combo box's control source is the field equal to the employeeID for that position for that record. Each Combo box's rowsource is:

Code:
 SELECT tblEmployee.ID, tblEmployee.Name
FROM tblEmployee
ORDER BY tblEmployee.Name;

Should it take that long to load 15 of these? Is there a better way to show the employee name based on an employee number?

BTW - after the initial load of the first record, it is MUCH faster on subsequent records.

Thanks,

Sup
 
To start with name is a poor choice for a field in Access since it's a reserved word, change it to something else
 
'Name' is not the actual name of the field, I was trying to make my example generic.

Sup
 

Users who are viewing this thread

Back
Top Bottom