Avatar billede software Nybegynder
22. juli 2002 - 09:45 Der er 27 kommentarer og
2 løsninger

tekst farver

Hej.

Jeg en form for kalender med hvori man kan se nogle hvilke datoer der sker noget vigtig.

Jeg kunne godt tænke mig at tekstfarven på datoerne skiftede afhængig af hvor tæt på datoen er.

Dvs. hvis der f.eks. er over 14 dage til en eller anden hændelse så skal datoen står med grønt, hvis der er under 14 dage og over 3 dage skal datoen stå med gult og under 3 dage skal datoen være rød.

Kan det lade sig gøre ??

/Software
Avatar billede software Nybegynder
22. juli 2002 - 09:46 #1
Rettelse øverste linie:

Jeg har en form for kalender med nogle vigtige datoer hvor der sker noget vigtigt.
Avatar billede terry Ekspert
22. juli 2002 - 10:19 #2
It depends on a couple of things!
WHERE are these texts you mention, are they in a record which is displayed on a detail line? If so, then which version of Access are you using?
Avatar billede software Nybegynder
22. juli 2002 - 10:27 #3
Jeg har lavet en formular hvor navn, adresse og dato kommer frem.
Det er denne dato som jeg godt kunne tænke mig skiftede farve.
Datoen bliver hentet i min tabel som hedder "person".
I den tabel har jeg en kolonne "Næste opfølgning" og det er i denne kolonne at de "vigtige" datoer står.

Jeg bruger access 2000
Avatar billede terry Ekspert
22. juli 2002 - 10:42 #4
So it is just a text field on a form containing  a date?

This is a little example youmay find helpefull

Private Sub txtStartDate_AfterUpdate()
Dim i As Integer
    i = DateDiff("d", Me.txtStartDate, Date)
    Select Case i
   
        Case 1, 2 'Red
            Me.txtStartDate.ForeColor = RGB(255, 0, 0)
   
        Case 3 To 14 ' Yellow
            Me.txtStartDate.ForeColor = RGB(255, 255, 0)
   
        Case Else 'Green
            Me.txtStartDate.ForeColor = RGB(0, 255, 0)
    End Select
           
End Sub
Avatar billede terry Ekspert
22. juli 2002 - 10:42 #5
This example just calculates the number of dates between the current date and the date entered in a field!
Avatar billede software Nybegynder
22. juli 2002 - 10:55 #6
Og hvor vil du have at jeg skal placere koden ?
Avatar billede software Nybegynder
22. juli 2002 - 10:57 #7
Har fundet ud af det.
Avatar billede terry Ekspert
22. juli 2002 - 10:58 #8
It all depends on how you move between records. If you have a button or something then you can do it in the On click event. You could also try it on the On Current Event! It shard to say when I can tsee how your program works!
Avatar billede terry Ekspert
22. juli 2002 - 10:58 #9
OK :o)
Avatar billede software Nybegynder
22. juli 2002 - 11:15 #10
Ok, jeg har prøvet at lægge koden ind på datotekstfeltets "EfterOpdatering"- hændelse, men der sker intet.

Jeg går ud fra at "txtStartDate" er navnet på tekstfeltet ?? Så det har jeg ændret til navnet på tekstfeltet.

Jeg har også pøvet at lægge det på knappen man trykker på for at komme ind på formularen med datoerne, men der får jeg en Compile error fejl: Datamember not found.
Avatar billede terry Ekspert
22. juli 2002 - 11:19 #11
You can send it to me if you like?
access@santhell.dk
Avatar billede software Nybegynder
22. juli 2002 - 11:32 #12
Ok, jeg sender den nu.
Avatar billede terry Ekspert
22. juli 2002 - 11:35 #13
Received
Avatar billede terry Ekspert
22. juli 2002 - 12:48 #14
OK! I have now had a look at your dB and I am not sure that you can! I was hopeing that you were only showing ONE record at a time in which case you could do it, but because you are showing many (detail) then you may not be able to. In XP I know youcan but I am not quite sure you can in 2000. So, open the form in design view and mark the date field. Then in The format menu see if there is a menu item "Conditional Formatting". If there is then you can, if there is NOT then you can NOT!
Avatar billede software Nybegynder
22. juli 2002 - 12:58 #15
Ok, der er noget som hedder "Betinget formatering".
Avatar billede terry Ekspert
22. juli 2002 - 13:05 #16
OK, have you tried playing around with this to see if you can get it to work as you want?
Avatar billede nih Novice
22. juli 2002 - 13:15 #17
Ellers kan du lave et nyt tekstfelt og sætte kontrolelenentkilden til:
        =[dato]-10-Date()
og format til:
        "mere end 10 dage"[Grøn];"mindre end 10 dage"[Rød];"10 dage til"[Gul]

Virker også i 97

Niels
Avatar billede software Nybegynder
22. juli 2002 - 15:44 #18
Så er jeg tilbage igen.

Ja, jeg har prøvet og lege med "Betinget formatering", men jeg har endnu ikke fundet ud af hvad jeg skal skrive.

Mit problem er at jeg ikke kan finde ud af at definere datobetingelserne.  Feltværdien er mellem....?? Det er her kæden hopper af.
Avatar billede terry Ekspert
22. juli 2002 - 18:54 #19
Hi Niels, can you explain that please, not quite sure I understand what it is your doing there!
Avatar billede nih Novice
22. juli 2002 - 22:08 #20
Terry - Jeg laver en alm. textbox og beregner en talværdi som:
[en dato] - [dags dato] - [eks 10 dage] 
eks.
[25. jul] - [22. jul] - [10 dage]  = -7 dage

med et format:
"mere end 10 dage"[Grøn];"mindre end 10 dage"[Rød];"10 dage til"[Gul]

syntaksen er: positiv;negativ;værdien 0; null

dvs. at access skriver (med rødt) 'mindre end 10 dage', fordi anden parameter bruges ved negative tal.

Jeg ændrer ikke formatet af selve datoen, MEN software vil få en indikering af, om en dato er overskredet dagsdato + 10 dage.

Niels
Avatar billede nih Novice
22. juli 2002 - 22:19 #21
Software:
Jeg har prøvet at lege med 'betinget formatering'
med markøren i det felt du vil formatere:
*    trykker du på betinget formatering
*    tilføj
*    'feltværdi'      'mellem'    date()        date() + 10
*    formater til FED og rød

Niels
Avatar billede software Nybegynder
23. juli 2002 - 10:22 #22
Okay, så virker det.....Ville det mest fair ikke være at dele pointene ??
Avatar billede terry Ekspert
23. juli 2002 - 10:38 #23
give em all to Niels he needs them :o)
Avatar billede terry Ekspert
23. juli 2002 - 11:18 #24
Here is an example how it can be done in VBA Code. Place this in the On Load event

Dim fc As FormatCondition
Dim iCnt As Integer


    'Delete conditions
    Me.[Næste opfølgning].FormatConditions.Delete
    'Add conditions
    Me.[Næste opfølgning].FormatConditions.Add acFieldValue, acGreaterThan, Date + 14
    Me.[Næste opfølgning].FormatConditions.Add acFieldValue, acBetween, Date + 3, Date + 14
    Me.[Næste opfølgning].FormatConditions.Add acFieldValue, acLessThan, Date + 3
    'Add formatfor each condition
    Me.[Næste opfølgning].FormatConditions.Item(0).ForeColor = RGB(0, 255, 0) 'Green
    Me.[Næste opfølgning].FormatConditions.Item(1).ForeColor = RGB(255, 255, 0) 'Yellow
    Me.[Næste opfølgning].FormatConditions.Item(2).ForeColor = RGB(255, 0, 0) 'Red
   
       
    For iCnt = 0 To Me.[Næste opfølgning].FormatConditions.Count - 1
        Set fc = Me.[Næste opfølgning].FormatConditions.Item(iCnt)
       
        Debug.Print "Operator: " & fc.Operator & " Type: " & fc.Type & " Expression1: " & fc.Expression1 & " Expresssion2: " & fc.Expression2
        Debug.Print "Back Color: " & fc.BackColor & " ForeColor: " & fc.ForeColor
       
   
    Next iCnt
Avatar billede nih Novice
23. juli 2002 - 14:42 #25
Software:
Det ER dig der bestemmer, hvem og hvordan pts skal deles.

Terry foreslog betinget formatering, så hvis det er den løsning du har brugt skal han natuligvis belønnes.
Hvis det er min løsning med en ekstra textbox, du har brugt, er det MIG der har fortjent en belønning.

Terry, jeg mangler ikke point, der er nok til, at jeg kan stille et HAV af 'dumme' spmørgsmål.  :o)

Niels
Avatar billede terry Ekspert
23. juli 2002 - 14:46 #26
Well as you say its up to software, and I dont mind sharing either :o)
Avatar billede software Nybegynder
23. juli 2002 - 15:57 #27
Jeg har delt pointene.
Terry foreslog brugen af betinget formatering og nih hvad jeg skulle skrive i felterne.
Avatar billede terry Ekspert
23. juli 2002 - 17:08 #28
:o)
Avatar billede nih Novice
23. juli 2002 - 17:31 #29
Takker :o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester