Solved

MSACCESS: Change BackColor of textbox on report with VBA

Posted on 2010-08-27
4
1,054 Views
Last Modified: 2013-12-20
I am trying to do something that should be way easier than it is (and probably is easier).  I want to change the background color on a textbox based on its value.  I don't want to use Conditional Formatting because I need to learn the VBA to do it.  I've used conditional formatting before and that's great.  I'm working with more advanced formulas to determine color, and want to do it in VBA.

Amount is of type Currency, if that matters.  Code is below.

The textbox format default back color is not transparent; it's set to Normal.

It simply doesn't work.  All my values are positive dollar amounts.  Once I get this to work, then I'll play more.  What I'd love to see is all of the Amount fields to be red.  Now, they're all white.

Thanks!
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
If Me.Amount > 0 Then
Me.Amount.BackColor = RGB(240, 0, 0)
End If
End Sub

Open in new window

0
Comment
Question by:Ubertam
  • 2
4 Comments
 
LVL 5

Author Comment

by:Ubertam
ID: 33543417
It works in Print Preview, not Report View
0
 
LVL 38

Expert Comment

by:puppydogbuddy
ID: 33543687
try it this way:

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
Dim x as Integer                 'loop counter
For x = 1 to FormatCount
     If Me.Amount > 0 Then
            Me.Amount.BackColor = vbRed
    End If
    x = x + 1
Next
End Sub
0
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 500 total points
ID: 33544338
You cannot access certain values via VBA in "Report View"
This is just the way it is.

There are certain things you can do in Report View, like setting values on the Open event.
But to read values on the Detail Format event requires you to be in Print Preview.
See here, under:  What's mixed (good and bad)
http://allenbrowne.com/access2007.html

This is how it's been since Acc2007 was introduced.

So it looks like it is Print Preview or Conditional formatting for this...

;-)

JeffCoachman
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 33545057
Thanks

Jeff
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

AutoNumbers should increment automatically, without duplicates.  But sometimes something goes wrong, and the next AutoNumber value is a duplicate.  This article shows how to recover from this problem.
This article describes a method of delivering Word templates for use in merging Access data to Word documents, that requires no computer knowledge on the part of the recipient -- the templates are saved in table fields, and are extracted and install…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question