Avatar billede mandersen Nybegynder
13. januar 2004 - 19:51 Der er 13 kommentarer og
2 løsninger

farveskift ved klik

jeg har en form med en masse felter,
kan man ved at klikke i et af felterne, få den til at skifte farve.
sådan at næste gang man åbner formen så kan se at feltet har været "klikket" undskyld udtrykket!!
det er for at skabe et overblik på formen.
.-)
Mandersen
Avatar billede yxos Nybegynder
13. januar 2004 - 20:34 #1
For at den kan "huske" at du har været if fx. txtFelt1, er du nødt til at gemme denne oplysning i enten et globalt felt eller et felt i en tabel.
Fx. BeenHereB4 Boolean (yes/no)

Dette felt skal så sættes til yes (-1) i Sub txtFelt1_AfterUpdate:
  BeenHereB4 = -1

Når du så åbner formen igen, skal du i Sub Form_Load teste:
Fx:
    lngRed = RGB(255, 0, 0)
    lngWhite = RGB(255, 255, 255)
    If BeenHereB4 = -1  Then 'yes
        Me!txtFelt1.BackColor = lngYellow
    Else
        Me!txtFelt1.BackColor = lngWhite
    End If
13. januar 2004 - 20:46 #2
Skal den også huske farven når databasen har været lukket? Eller er det kun så længe databasen er åben?
Avatar billede yxos Nybegynder
13. januar 2004 - 20:49 #3
Det skriver mandersen desværre ikke. Det er derfor jeg skriver at BeenHereB4 skal være enten et globalt felt eller endnu et felt i hans tabel.
Kun hvis han gemmer feltet i sin tabel kan den huske det når databasen har været lukket! ...naturligvis.
Avatar billede terry Ekspert
13. januar 2004 - 20:51 #4
an idea i sto have a boolean (yes/no) field in the table, theis field is not visible on the form.

Using conditional formatting you can set the coloutr of a field depending on the value of the boolean field.

Then when you click on the field you can change the value of the boolean field, update the form and now the colour will change.
Avatar billede terry Ekspert
13. januar 2004 - 20:52 #5
Conditional formatting is available by selecting the field in design view then selecting the Format+Conditional formatting menu
Avatar billede mandersen Nybegynder
13. januar 2004 - 20:54 #6
tak for de positive svar.
kan i skære det lidt ud i pap, da jeg ikke er prof i access.
tak;-)
Avatar billede terry Ekspert
13. januar 2004 - 20:57 #7
If we are talking about a single form and more than one field then you are going to need either a boolean field for every field or a field wich can contain information for each field for example "10001001" where each character represents a field on the form and the value "1" or "0" represents the colour
Avatar billede terry Ekspert
13. januar 2004 - 20:58 #8
can you tell us if it is a continuous form or a single form and whether or not you want to change the colour for one or more fields. IE a bit more information :o)
Avatar billede yxos Nybegynder
13. januar 2004 - 20:59 #9
Conditional formatting som Terry foreslår er udmærket, jeg er bare ikke sikker på du kan bruge teste på andre værdier end "sig selv".
Dvs. Selv om du laver endnu et boolean tabelfelt, så kan du kun teste på værdier i "Felt1" hvis det er dette felt du har oprettet conditional formatting på.
...Så vidt jeg som mellemamatør kan se...

Mandersen, Skriv til yxos@geismar.biz. Så skal jeg sende dig en lille mdb der viser ovenstående farveskift.
Avatar billede terry Ekspert
13. januar 2004 - 21:05 #10
what do you mean "du kan bruge teste på andre værdier end "sig selv"""?

You can NOT use your method on a continuous form!
Avatar billede yxos Nybegynder
13. januar 2004 - 21:08 #11
Det er rigtigt. Derfor kræver det, at det IKKE er en continous form. Det ved jeg selvfølgelig ikke om det er.
Avatar billede yxos Nybegynder
13. januar 2004 - 21:14 #12
Jeg har lavet en test-db med én tabel med to felter:
Felt1        Text
BeenHereB4      Yes/no

Desuden en form, genereret af Wizarden. (en enkeltkolonne) med begge felter.
Til formen har jeg lavet følgende events:

Private Sub felt1_AfterUpdate()
    BeenHereB4 = -1
End Sub

Private Sub Form_Current()
    If BeenHereB4 = -1 Then  'yes
        Me!felt1.BackColor = 13434828  'Kvalmegrøn
    Else
        Me!felt1.BackColor = 16777215  'Hvid
    End If
End Sub
Avatar billede yxos Nybegynder
13. januar 2004 - 21:23 #13
Ups... Du skal lige have sat kvalmefarven i Felt1_AfterUpdate osse...:

Private Sub felt1_AfterUpdate()
    BeenHereB4 = -1
    Me!felt1.BackColor = 13434828  'Kvalmegrøn
End Sub

Private Sub Form_Current()
    If BeenHereB4 = -1 Then  'yes
        Me!felt1.BackColor = 13434828  'Kvalmegrøn
    Else
        Me!felt1.BackColor = 16777215  'Hvid
    End If
End Sub
Avatar billede mandersen Nybegynder
14. januar 2004 - 20:00 #14
Tak for hjælpen- nu vil jeg prøve at lege med det ;-)
Avatar billede terry Ekspert
14. januar 2004 - 21:07 #15
selv tak
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