PC Review


Reply
Thread Tools Rate Thread

Conditional Format and performance

 
 
Brian
Guest
Posts: n/a
 
      6th Nov 2008
I have a continuous form and want to make the foreground red in one combo box
based on the value of another field to which a checkbox is bound. The
expression is just this: Expression Is [chkBox1]=True

However, this form is very dynamic and is often requiried. The conditional
format slows it down to a crawl during the requery process. This is a split
FE/BE, with a copy of the FE residing on each computer.

Is my approach inherently inefficient?
 
Reply With Quote
 
 
 
 
Michel Walsh
Guest
Posts: n/a
 
      6th Nov 2008
Is a requery really required? Recalc or Refresh are faster than Requery.
Refresh allows you to see modifications made by other, to records you
initially "know". What a Requery does more is that it also make visible
records added by others.

I don't think that a Boolean check and eventually changing the brush (color)
can really impact on the speed, but Requery can, since it bring back all the
records (which pass the WHERE clause) from the BackEnd to the FrontEnd.

If a requery is required (pun intended), try to have an efficient WHERE
clause which will strongly limit the number of records to be sent.



Vanderghast, Access MVP

"Brian" <(E-Mail Removed)> wrote in message
news:9E612EB6-98D2-47E2-9FA7-(E-Mail Removed)...
>I have a continuous form and want to make the foreground red in one combo
>box
> based on the value of another field to which a checkbox is bound. The
> expression is just this: Expression Is [chkBox1]=True
>
> However, this form is very dynamic and is often requiried. The conditional
> format slows it down to a crawl during the requery process. This is a
> split
> FE/BE, with a copy of the FE residing on each computer.
>
> Is my approach inherently inefficient?



 
Reply With Quote
 
Brian
Guest
Posts: n/a
 
      6th Nov 2008
Unfortunately, Requery is required on this form. There are two main reasons:

1. The users change filters very often, and
2. At any given moment, it is possible that another user has modified,
added, or deleted a record.

When I remove just the conditional format (no other changes), the form is
much faster. I finally decided to remove the conditional format and instead
add a calculated control beside the one in question. This control is always
red, but its ControlSource is this: =IIf([cboBox1],"X",Null), so it appears
only on records matching the IIf True condition.

According to the users, this is much faster than using Expression Is
[cboBox1] Is Null in a Conditional Format. I still like the Conditional
Format idea, but it still seems to make the system take a performance hit.

Now, one more piece of info. This seems to be much more of a problem on
one-year-old Duo Core 1.4 GHz Dell Dimension systems with 1 GB RAM than it is
on this week's new Quad Core 2.8 GHz Dell Optiplex systems with 2 GB RAM. I
guess some of that is to be expected, but I just found out that the
difference can be quite marked.

"Michel Walsh" wrote:

> Is a requery really required? Recalc or Refresh are faster than Requery.
> Refresh allows you to see modifications made by other, to records you
> initially "know". What a Requery does more is that it also make visible
> records added by others.
>
> I don't think that a Boolean check and eventually changing the brush (color)
> can really impact on the speed, but Requery can, since it bring back all the
> records (which pass the WHERE clause) from the BackEnd to the FrontEnd.
>
> If a requery is required (pun intended), try to have an efficient WHERE
> clause which will strongly limit the number of records to be sent.
>
>
>
> Vanderghast, Access MVP
>
> "Brian" <(E-Mail Removed)> wrote in message
> news:9E612EB6-98D2-47E2-9FA7-(E-Mail Removed)...
> >I have a continuous form and want to make the foreground red in one combo
> >box
> > based on the value of another field to which a checkbox is bound. The
> > expression is just this: Expression Is [chkBox1]=True
> >
> > However, this form is very dynamic and is often requiried. The conditional
> > format slows it down to a crawl during the requery process. This is a
> > split
> > FE/BE, with a copy of the FE residing on each computer.
> >
> > Is my approach inherently inefficient?

>
>
>

 
Reply With Quote
 
dch3
Guest
Posts: n/a
 
      7th Nov 2008
If you have calculations in the control sources of any fields (regardless if
the control is used in a FormatCondition) it will impact the formating and
the perceived speed of the form. Been there done that, hated it and sued.

"Brian" wrote:

> Unfortunately, Requery is required on this form. There are two main reasons:
>
> 1. The users change filters very often, and
> 2. At any given moment, it is possible that another user has modified,
> added, or deleted a record.
>
> When I remove just the conditional format (no other changes), the form is
> much faster. I finally decided to remove the conditional format and instead
> add a calculated control beside the one in question. This control is always
> red, but its ControlSource is this: =IIf([cboBox1],"X",Null), so it appears
> only on records matching the IIf True condition.
>
> According to the users, this is much faster than using Expression Is
> [cboBox1] Is Null in a Conditional Format. I still like the Conditional
> Format idea, but it still seems to make the system take a performance hit.
>
> Now, one more piece of info. This seems to be much more of a problem on
> one-year-old Duo Core 1.4 GHz Dell Dimension systems with 1 GB RAM than it is
> on this week's new Quad Core 2.8 GHz Dell Optiplex systems with 2 GB RAM. I
> guess some of that is to be expected, but I just found out that the
> difference can be quite marked.
>
> "Michel Walsh" wrote:
>
> > Is a requery really required? Recalc or Refresh are faster than Requery.
> > Refresh allows you to see modifications made by other, to records you
> > initially "know". What a Requery does more is that it also make visible
> > records added by others.
> >
> > I don't think that a Boolean check and eventually changing the brush (color)
> > can really impact on the speed, but Requery can, since it bring back all the
> > records (which pass the WHERE clause) from the BackEnd to the FrontEnd.
> >
> > If a requery is required (pun intended), try to have an efficient WHERE
> > clause which will strongly limit the number of records to be sent.
> >
> >
> >
> > Vanderghast, Access MVP
> >
> > "Brian" <(E-Mail Removed)> wrote in message
> > news:9E612EB6-98D2-47E2-9FA7-(E-Mail Removed)...
> > >I have a continuous form and want to make the foreground red in one combo
> > >box
> > > based on the value of another field to which a checkbox is bound. The
> > > expression is just this: Expression Is [chkBox1]=True
> > >
> > > However, this form is very dynamic and is often requiried. The conditional
> > > format slows it down to a crawl during the requery process. This is a
> > > split
> > > FE/BE, with a copy of the FE residing on each computer.
> > >
> > > Is my approach inherently inefficient?

> >
> >
> >

 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Conditional Format overwrighting previous conditional format davethewelder Microsoft Excel Programming 2 10th Apr 2008 04:01 PM
New Conditional Format Overriding Previous Conditional Format Rene Microsoft Excel Misc 3 27th Feb 2008 06:08 PM
Multiple conditional on conditional format formula Frank Kabel Microsoft Excel Programming 1 27th Jul 2004 06:24 PM
Re: Multiple conditional on conditional format formula Bob Phillips Microsoft Excel Programming 0 27th Jul 2004 05:30 PM
Keep format after paste from other worksheets - conditional format or EnableControl solution doesn't work Microsoft Excel Programming 0 3rd May 2004 12:22 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 10:34 AM.