Hi all, long time away! As I haven't done any Access work for yonks I've seemingly forgotten the little I used to know! Could someone help with this please...
I am putting together a very simple warranty database. The single form will show continuous records with fields SerialNumber, PartNumber, SDNNumber (this is the delivery note), SDNDate, WarrantyExpiryDate, WarrantyDaysLeft.
When the form is loaded, I want WarrantyExpiryDate and WarrantyDaysLeft to have green BackColor if warranty is valid, and red BackColor if not. When a new record is added, it will obviously have green backgrounds until 456 days later, when the background will then be red.
The problem I have is that when the form opens ALL the records are red or green depending on whether the first record is in or out of warranty, and if I change the SDNDate (thus changing the warranty start date) all records change to green or red depending on the date I enter...as opposed to each record showing green or red as appropriate.
The simple (and obviously wrong!) code for the form load and updating after the SDNDate is entered is...
Private Sub Form_Load()
If Date - 1 >= Me.WarrantyExpiryDate Then
Me.WarrantyExpiryDate.BackColor = 255
Else
Me.WarrantyExpiryDate.BackColor = 8421376
End If
If Date - 1 >= Me.WarrantyExpiryDate Then
Me.WarrantyDaysLeft.BackColor = 255
Else
Me.WarrantyDaysLeft.BackColor = 8421376
End If
End Sub
Private Sub SDNDate_AfterUpdate()
Me.WarrantyExpiryDate = Me.SDNDate + 455
Me.WarrantyDaysLeft = Me.WarrantyExpiryDate - Date
Me.Refresh
If Date - 1 >= Me.WarrantyExpiryDate Then
Me.WarrantyExpiryDate.BackColor = 255
Else
Me.WarrantyExpiryDate.BackColor = 8421376
End If
If Date - 1 >= Me.WarrantyExpiryDate Then
Me.WarrantyDaysLeft.BackColor = 255
Else
Me.WarrantyDaysLeft.BackColor = 8421376
End If
End Sub
Cheers, Nige
Kamis, 15 September 2011
[MS_AccessPros] BackColor on load and update problem
__._,_.___
MARKETPLACE
.
__,_._,___
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar