Forms :: Conditionally Change Back Color Based On Value Of A Control
Mar 15, 2014
How do I conditionally change the Back Color and Alternate Back Color based on the value of notes.FollowUpDate? I have a continuous form using the following code:
Code:
Private Sub b_all_past_Click()
Me.resultsFrame.SourceObject = "FollowUp_bystaff"
Me.resultsFrame.Form.RecordSource = "SELECT * From notes WHERE (((Notes.FollowUpDate) < Date()+1) And ((Notes.followup_person_id) = GetCurrentUserId()))ORDER BY notes.priority,(notes.FollowUpDate) DESC;" '
End Sub
I have images in my form, say, Image1 and Image2 . The default background color for all of them are white. If the user click image1, the background color has to be red. If the user click image2, the background has to change to red and the image1 retains its default color ( White ).
I have six images to loop through these. Image1 to image6.
I have a form in datasheet with the fields "Date In" and "Date out" among other.
I want to be able to Change the backcolour of the "Date In" to red, yellow, or green depending on the length of time elapsed between current date and date in. This works fine on the conditional formatting, but now I only want to apply this formatting IF the "Date Out" is empty.
What I want to be able to do is to assign a back colour to a control from VBA. There are many colours and what I thought would be an easy process was to choose a suitable colour to be assigned using the colour picker for a control, note the hex number then in my vba code would be
if... then me.mycontrol.backcolor=&HF0AD34
This compiles OK, but produces a completely different colour - I'm expecting an orange colour but getting blue and in another example a pale blue is coming out a brown.
Research indicates adding an ampersand to the end changes the value from integer to long but if I type
if... then me.mycontrol.backcolor=&HF0AD34&
The second ampersand disappears. In the immediate window
All produce the same value of 15772980, which if I copy back to the control backcolour property produces the blue colour and not the required orange - which if i debug.print me.mycontrol.backcolor give me 3452400 - the correct number for orange.
The problem seems to be converting the hex number to a long.
Also how to modify the properties window to show the decimal value rather than the hex value, but can't see anywhere to do this.
I've got a little box covering up a drop down arrow on a combo control that resides on a tab control. The problem is that, since the Back Color property isn't available for a tab control, I have no idea what color it is...which is what the color of my box object (rectangle technically) needs to be so as to blend in. It looks a little garrish with it standing out there...
Any ideas what the default color of the tab page background is? Using Access 2003.
I have a form with the standard light grey background. I insert a tab control, and the default back color is white. I set the BackStyle to Transparent, and it still displays as white.
Am I missing something here, I want the back color of the tab control to be the same as my form.
Now, what's really odd, is in this project it creates tab controls as white, but if I open an old project of mine, it creates tab controls with the same light grey back ground of the form.
I have an unbound form with a combobox which needs to be validated before the control is updated.In the Before Update event I check that the value is valid and need to reset the value back to the previous value if not valid and then change focus to another control.I thought that the following code would work but the selected value remains in the control and I cannot move the focus to another control.
Code: Private Sub cboYears_BeforeUpdate(Cancel As Integer) Dim dteNewDate As Date dteNewDate = DateSerial(Val(Me.cboYears), Month(Me.txtCalendarHeading), 1)
I would like to change the Font and background color based on dates.
-I have a text box (Training Event) on a form populated from a field (Training Dates) in a query.
- I need the font and/or the background in that text box to change to red when the date is 12 month past, yellow 11 months past, white 10 months past and green for 9 months past.
Is there a way to change the back color of an active field in a form? Meaning, when I tab through my form and the field I tab to becomes active, the field turns white. This poses a problem because my form back color is black and my field text is white. When the field is active, I can't see the value in the field due to the back color defaulting to white. Does this make sense? Is there a way to change it?
Please can someone tell me how to change the back colour of a control when it has the focus and then revert to the original colour when it loses it. I have 35 controls on my form, so I need a function, rather than changing the colour with a subroutine evey time.
I have searched the site and haven't found whatI want-though I'm sure this question has been asked before.
I know you can use a "Conditional format" to change a color of a control in a report. What I am trying to do is change the whole line if a condition yields "True" of one control. I did it once before, but oops I didn't save my work. I am using the format [Entity]![IT]. Where "Entity" is either the department or vendor, and "IT" is for the IT department. I want the control "Name" to change color if "Entity" is true if "IT" is the data.
What I'm trying to do is make it so that a certain area of my Detail area in my report changes colors based on whether or not a field name for each record is set to "Yes". The effect I wanted was produced easily enough by creating a Rectangle, coloring it Red, and setting it to not visible.
Putting RedBox.Visible = True in the Report On Load procedure works just fine. The problem I am having is attaching a condition to it.
Code:
If Me.FormatBox.Value = "Yes" Then RedBox.Visible = True End If
This compiles ok, but doesnt do anything to the actual report. Will it not work because the report has x amount of FormatBox's because it gets replicated for each record that is displayed? I should also note that I tried using a DL Lookup within my If statement and that didnt work either. That just colors all the boxes red and ignores the check.
Code: Dim TestVar As String TestVar = DLookup("Priority", "Table_Lancaster_Dispatch", "Priority = 'Yes'") If TestVar = "Yes" Then RedBox.Visible = True End If
I have a database with 200 clients. If a user pulls up a record and the customer's insurance has expired, is it possible to change the background color of the form so that this automatically alerts the user that this customer needs to be contacted and the record needs to be updated?
Or are there any other suggestions that may serve the same purpose?
I am trying to change the button color on a subform if a related form data changes.Main form is products with a continuous subform with serial numbers of products i.e, serial number, location, price and a button to add addtional issues if there are any for this particular serial number (this will open up another form related to the serial number so I can add an issues if there are any).The reason I would like the button to be a different color is so I can quickly see if there are any additional notes been added to the serial number. Just in case you may ask why not add the field to the continuos form is that the issues and be quite lengthy and there may be lots of serial numbers on the form
I would like to change the background color of a field that is the result of a Unique Values query. I am trying to get a list of invoices where all the line items are approved. I can't seem to get it to work the way I want because if even one invoice line item is approved it will show up as approved.
Is there a way to change the background color of the invoice field to red if ANY of the Approved line items are = False
In access report, I'm trying to change color of text in specific records based on the true/false value in another record. Works in forms using conditional formatting, but won't seem to work in a report.
Here's what works in forms : IIf([2009 Symposium]=true, forecolor=255 ....this changes the records to red.
But using the same expression in a report doesn't change the text color.
I have a subform that is purely to display information (no edits will be made on it). The subform has a special color on it (company color) that I can not deviate from. My problem is the first record in the subform (displayed as a continuous form) gets the focus. The font is white and standard access has a white background. My end goal would be to elimnate the focus for any record in the subform (if it is possible). I know that I could change the color with conditional formatting but the colors in conditional formatting do not match the company color.
I have several forms that each has a dozen or more checkboxes, true/false. I want to be able to change the background color of the label of each checkbox depending on if the checkbox is true or false. I have used the following code which works great:
If Me.A = True Then Me.lblA.BackColor = vbYellow Me.lblA.BackStyle = 1 Me.lblA.ForeColor = vbRed Else Me.lblA.BackColor = vbWhite Me.lblA.ForeColor = vbBlack End If
Me.A refers to T/F checkbox A and Me.lblA refers to its label. This is repeated for each of the checkbox controls. If the control is [B], then its label is lblB. I have used this in the form OnCurrent event and the checkbox control OnUpdate event. I was wondering if I could use the tag property to this, saving me writing countless lines of code and having the OnCurrent event of each of the forms so long and cumbersome. And I do know that I can use conditional formatting to do this, but I would prefer not to use that method. Is there any way to do this using the tag property and not so many lines of code?
Can anyone help me out here. I need to use an unbound text control to return me a value if a field is populated else "Local" if the field is not populated. Can anyone tell me if this is possible and show me the syntax if it is. Help appreciated. Andy
I am attempting to create an expression that will change the font to red if it is an overdue date. It will be on a form with the records showing.
My datebase is for entering, changing, and searching for information dealing with orientation dates, contacts, and associations. My data sheet holds the company name, employee name, date of orientation, due date (orientations are completed annually), contact employee, and status. I would like the date, when opening the form, to show red if it is past due. how to create an expresion to return the status as "Current" or "Overdue", as I am still unsure which method I want to use.
no problem about setting a different border color for a single textbox (or combobox or listbox) which has focus. How about to change, with a small and fast VBA code avoiding to write code for each textbox, the border color (ora other textbox properties) for a many controls in a form?
I tried using 'For each ctrl in Form....', but I got only bad results. All my control are within differente pages in TAB control.
In my table (tbl_data) I have a field named Rating. This can be anything from 1 - 10.
On my form (frm_input) I have a textbox (created using the wizard so at the moment I'll call it txt_Rating).
What I would like to know how to do is:
If the value in the textbox is 0-5 leave the background colour of the textbox white with black font. If the value in the textbox is 6-7 turn the background colour pale yellow with black font. If the value in the textbox is greater than 7.1 turn the background colour Red with white font.
I have a listbox and whenever I clicked on a row it will highlight black background and white font color. How can I disable this or change the formatting?