Calculated Fields on Continuous Forms

C

chuck

Each row on my continuous form contains both bound and unbound fields:
1. One unbound field gets its data from a function (e.g., value
property set to something like =GetValueOfThisField([ThisRowFieldKeyName]).
2. A second unbound field gets its data from a straight calculation
(e.g., value propertry set to something like =[FieldA]+[FieldB]).
The 1st of these unbound fields also has conditional formatting; the 2nd
does not.

When the form is initially loaded:
1. This all works perfectly (not too fast, but it looks right!) in
Access 2000.
2. In Access 2003, however, the conditional formatting is displayed
properly, but the resulting value is NOT displayed unless and until the
cursor is moved over the leftmost of these 2 unbound fields; then both
values are displayed simultaneously on that row. The cursor must be
moved down one row to get the values in its unbound fields to display -
and so on, all the way down to the last displayed row on the continuous
form.
3. When the form is de-activated/re-activated (e.g., open/close a new
form over it on the screen), the re-activated form has all field values
displayed as you would expect!

4. I swear, this is really what happens consistently!! - but ONLY with
Access 2003, no problems with Access 2000.

Any ideas?

Thanks in advance for any assistance.

Chuck
 
D

Dirk Goldgar

chuck said:
Each row on my continuous form contains both bound and unbound fields:
1. One unbound field gets its data from a function (e.g., value
property set to something like
=GetValueOfThisField([ThisRowFieldKeyName]).
2. A second unbound field gets its data from a straight calculation
(e.g., value propertry set to something like =[FieldA]+[FieldB]).
The 1st of these unbound fields also has conditional formatting; the
2nd does not.

When the form is initially loaded:
1. This all works perfectly (not too fast, but it looks right!) in
Access 2000.
2. In Access 2003, however, the conditional formatting is displayed
properly, but the resulting value is NOT displayed unless and until
the cursor is moved over the leftmost of these 2 unbound fields; then
both values are displayed simultaneously on that row. The cursor must
be
moved down one row to get the values in its unbound fields to display
- and so on, all the way down to the last displayed row on the
continuous form.
3. When the form is de-activated/re-activated (e.g., open/close a new
form over it on the screen), the re-activated form has all field
values displayed as you would expect!

4. I swear, this is really what happens consistently!! - but ONLY with
Access 2003, no problems with Access 2000.

Any ideas?

Thanks in advance for any assistance.

Chuck

Are you using Windows XP, by any chance? If so, does the problem go
away if you right-click on the desktop, choose the Properties menu item,
and set the Theme to "Windows Classic"?

IIRC, there have been some bugs associated with the use of conditional
formatting with calculated controls when WinXP themes are involved. I
don't know if this is one of them.
 
C

chuck

Dirk said:
Each row on my continuous form contains both bound and unbound fields:
1. One unbound field gets its data from a function (e.g., value
property set to something like
=GetValueOfThisField([ThisRowFieldKeyName]).
2. A second unbound field gets its data from a straight calculation
(e.g., value propertry set to something like =[FieldA]+[FieldB]).
The 1st of these unbound fields also has conditional formatting; the
2nd does not.

When the form is initially loaded:
1. This all works perfectly (not too fast, but it looks right!) in
Access 2000.
2. In Access 2003, however, the conditional formatting is displayed
properly, but the resulting value is NOT displayed unless and until
the cursor is moved over the leftmost of these 2 unbound fields; then
both values are displayed simultaneously on that row. The cursor must
be
moved down one row to get the values in its unbound fields to display
- and so on, all the way down to the last displayed row on the
continuous form.
3. When the form is de-activated/re-activated (e.g., open/close a new
form over it on the screen), the re-activated form has all field
values displayed as you would expect!

4. I swear, this is really what happens consistently!! - but ONLY with
Access 2003, no problems with Access 2000.

Any ideas?

Thanks in advance for any assistance.

Chuck


Are you using Windows XP, by any chance? If so, does the problem go
away if you right-click on the desktop, choose the Properties menu item,
and set the Theme to "Windows Classic"?

IIRC, there have been some bugs associated with the use of conditional
formatting with calculated controls when WinXP themes are involved. I
don't know if this is one of them.
Using WinXP, switched to Windows Classic, same result. It seems to be a
difference between A2K and A2K3, I don't have another version of Windows
to try this with (using an HP laptop, SP2 NOT installed).
 
D

Dirk Goldgar

chuck said:
Dirk said:
Each row on my continuous form contains both bound and unbound
fields:
1. One unbound field gets its data from a function (e.g., value
property set to something like
=GetValueOfThisField([ThisRowFieldKeyName]).
2. A second unbound field gets its data from a straight calculation
(e.g., value propertry set to something like =[FieldA]+[FieldB]).
The 1st of these unbound fields also has conditional formatting; the
2nd does not.

When the form is initially loaded:
1. This all works perfectly (not too fast, but it looks right!) in
Access 2000.
2. In Access 2003, however, the conditional formatting is displayed
properly, but the resulting value is NOT displayed unless and until
the cursor is moved over the leftmost of these 2 unbound fields;
then both values are displayed simultaneously on that row. The
cursor must be
moved down one row to get the values in its unbound fields to
display - and so on, all the way down to the last displayed row on
the continuous form.
3. When the form is de-activated/re-activated (e.g., open/close a
new form over it on the screen), the re-activated form has all field
values displayed as you would expect!

4. I swear, this is really what happens consistently!! - but ONLY
with Access 2003, no problems with Access 2000.

Any ideas?


Are you using Windows XP, by any chance? If so, does the problem go
away if you right-click on the desktop, choose the Properties menu
item, and set the Theme to "Windows Classic"?

IIRC, there have been some bugs associated with the use of
conditional formatting with calculated controls when WinXP themes
are involved. I don't know if this is one of them.
Using WinXP, switched to Windows Classic, same result. It seems to be
a difference between A2K and A2K3, I don't have another version of
Windows to try this with (using an HP laptop, SP2 NOT installed).

Hmm. I could swear I've heard of this problem before, but I can't
remember what or where. If you haven't installed Office 2003 Service
Pack 1, do so. It fixed at least one display bug, so maybe it will fix
yours. If you need a workaround, you might try something like (a)
putting the statement Me.Repaint in the form's Load event, or (b) making
the form invisible and then visible again -- Me.Visible = False :
Me.Visible = True -- in the Load event.

Does the problem go away if you comment out the body of the procedure
that is being called by the controlsource expression of the first text
box? Does it go away if you set that controlsource to some non-function
expression?
 
C

chuck

Dirk said:
Dirk said:
Each row on my continuous form contains both bound and unbound
fields:
1. One unbound field gets its data from a function (e.g., value
property set to something like
=GetValueOfThisField([ThisRowFieldKeyName]).
2. A second unbound field gets its data from a straight calculation
(e.g., value propertry set to something like =[FieldA]+[FieldB]).
The 1st of these unbound fields also has conditional formatting; the
2nd does not.

When the form is initially loaded:
1. This all works perfectly (not too fast, but it looks right!) in
Access 2000.
2. In Access 2003, however, the conditional formatting is displayed
properly, but the resulting value is NOT displayed unless and until
the cursor is moved over the leftmost of these 2 unbound fields;
then both values are displayed simultaneously on that row. The
cursor must be
moved down one row to get the values in its unbound fields to
display - and so on, all the way down to the last displayed row on
the continuous form.
3. When the form is de-activated/re-activated (e.g., open/close a
new form over it on the screen), the re-activated form has all field
values displayed as you would expect!

4. I swear, this is really what happens consistently!! - but ONLY
with Access 2003, no problems with Access 2000.

Any ideas?


Are you using Windows XP, by any chance? If so, does the problem go
away if you right-click on the desktop, choose the Properties menu
item, and set the Theme to "Windows Classic"?

IIRC, there have been some bugs associated with the use of
conditional formatting with calculated controls when WinXP themes
are involved. I don't know if this is one of them.

Using WinXP, switched to Windows Classic, same result. It seems to be
a difference between A2K and A2K3, I don't have another version of
Windows to try this with (using an HP laptop, SP2 NOT installed).


Hmm. I could swear I've heard of this problem before, but I can't
remember what or where. If you haven't installed Office 2003 Service
Pack 1, do so. It fixed at least one display bug, so maybe it will fix
yours. If you need a workaround, you might try something like (a)
putting the statement Me.Repaint in the form's Load event, or (b) making
the form invisible and then visible again -- Me.Visible = False :
Me.Visible = True -- in the Load event.

Does the problem go away if you comment out the body of the procedure
that is being called by the controlsource expression of the first text
box? Does it go away if you set that controlsource to some non-function
expression?
In Form_Load(), I tried Me.repaint: also
Me.Painting=False...code...Me.Painting=True. Same result as
earlier...I'll try invisible/visible, & I'll install Office 2K3 SP1.
Thanks for your help, I'll report results.

Chuck
 
C

chuck

chuck said:
Dirk said:
Dirk Goldgar wrote:



Each row on my continuous form contains both bound and unbound
fields:
1. One unbound field gets its data from a function (e.g., value
property set to something like
=GetValueOfThisField([ThisRowFieldKeyName]).
2. A second unbound field gets its data from a straight calculation
(e.g., value propertry set to something like =[FieldA]+[FieldB]).
The 1st of these unbound fields also has conditional formatting; the
2nd does not.

When the form is initially loaded:
1. This all works perfectly (not too fast, but it looks right!) in
Access 2000.
2. In Access 2003, however, the conditional formatting is displayed
properly, but the resulting value is NOT displayed unless and until
the cursor is moved over the leftmost of these 2 unbound fields;
then both values are displayed simultaneously on that row. The
cursor must be
moved down one row to get the values in its unbound fields to
display - and so on, all the way down to the last displayed row on
the continuous form.
3. When the form is de-activated/re-activated (e.g., open/close a
new form over it on the screen), the re-activated form has all field
values displayed as you would expect!

4. I swear, this is really what happens consistently!! - but ONLY
with Access 2003, no problems with Access 2000.

Any ideas?



Are you using Windows XP, by any chance? If so, does the problem go
away if you right-click on the desktop, choose the Properties menu
item, and set the Theme to "Windows Classic"?

IIRC, there have been some bugs associated with the use of
conditional formatting with calculated controls when WinXP themes
are involved. I don't know if this is one of them.


Using WinXP, switched to Windows Classic, same result. It seems to be
a difference between A2K and A2K3, I don't have another version of
Windows to try this with (using an HP laptop, SP2 NOT installed).



Hmm. I could swear I've heard of this problem before, but I can't
remember what or where. If you haven't installed Office 2003 Service
Pack 1, do so. It fixed at least one display bug, so maybe it will fix
yours. If you need a workaround, you might try something like (a)
putting the statement Me.Repaint in the form's Load event, or (b) making
the form invisible and then visible again -- Me.Visible = False :
Me.Visible = True -- in the Load event.

Does the problem go away if you comment out the body of the procedure
that is being called by the controlsource expression of the first text
box? Does it go away if you set that controlsource to some non-function
expression?
In Form_Load(), I tried Me.repaint: also
Me.Painting=False...code...Me.Painting=True. Same result as
earlier...I'll try invisible/visible, & I'll install Office 2K3 SP1.
Thanks for your help, I'll report results.

Chuck
Office 2K3 SP1 fixed the problem! Thanks for your assistance.

Chuck
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top