01. november 2001 - 12:08Der er
8 kommentarer og 1 løsning
Dato overskredet
Et felt i en formular, der indeholder dato data skal væksle imellem to farver, hvis datoen ikke er overskredet skal den være sort, og hvis den er overskredet skal den være blå
Dim lngRed As Long, lngYellow As Long, lngBlack As Long, lngWhite As Long lngRed = RGB(255, 0, 0) lngYellow = RGB(255, 255, 0) lngBlack = RGB(0, 0, 0) lngWhite = RGB(255, 255, 255) If DATO >Date Then DATO.Forecolor = lngRed Else DATO.ForeColor = lngBlack End If
VBA er ikke konsekvent i brugen af () ved funktionskald. Nogle gange skal de med andre gange ikke.
Mugs\'s kode ser MEGET fornuftig ud - Om den virker efter hensigten afhænger af hvilken hændelse du vælger at skrive den i. Vær opmærksom på at hændelsen er valgt i egenskabsarket - det er ikke nok bare at kopiere proceduren ind i formens kodemodul
nih > Du har ret, koden er lagt i formularens OnCurrent hændelse. D.v.s. jo sige at feltet ikke skifter farve før der flyttes til en anden post og tilbage igen eller formularen lukkes og åbnes. Det er jo ikke særlig smart. men det kan vel rettes ved efter End If at indsætte linien:
Me.Refresh
som til spørgerens orientering opdaterer den underliggende tabel / forespørgsel.
cqleerup > Jeg bør tilføje, at tallene i paranteserne henfører til hvor meget farve (komplimentærfarver?), der er i de farver, du ser på skærmen.
F.eks.: lngRed = RGB(255, 0, 0)
Hvis du ændrer tallet 255 (som er max.) til en lavere værdi, vil den røde farve få et mindre indhold af rødt, og dermed blive blegere.
Iøvrigt tak for point.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.