08. august 2002 - 13:13Der er
34 kommentarer og 1 løsning
betinget formatering
Hvordan omsættes nedenstående til computersprog?:
Hvis feltet [tidspunkt1](med dato og klokkeslet) i en formular er 24 timer ældre end tidspunktet nu (pc'erens tidsindstilling) og feltet [tekst1] har værdien x skal feltet [tidspunkt1] farves lyserød, og hvis feltet [tidspunkt1](med dato og klokkeslet) er 36 timer ældre end tidspunktet nu (pc'erens tidsindstilling) og [tekst1] har værdien x skal feltet [tidspunkt1] farves mørkerød.
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 tidspunkt1 > Now + 1 And tekst1 = "x" Then tidspunkt1.Forecolor = lngRed End if
Du justerer farven ved at rette i tallene i parantes. Nb.: Koden er ikke afprøvet.
Private Sub felt1_BeforeUpdate(Cancel As Integer) 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 + 1 And felt1 = "x" Then dato.ForeColor = lngRed Else: dato.ForeColor = lngBlack End If End Sub
Til dit andet spørgsmål (36 timer), skal du blot ændre tallet 1 til 1,5, og justere farven. Bemærk dog, at felt1 skal have værdien x og ikke andet. her er det et tekstfelt, er det et numerisk felt, skal du undlade "".
Jeg har vist ikke været helt konkret nok i mine betingelser ovenfor. Mellem 24 og 36 timer skal farven være lyserød. Over 36 timer skal farven være mørkerød.
Det er nyt område for mig. Hvilket af tallene skal ændres for at ændre fra lyserød til mørkere rød?
RGB > Red Green Blue I linien: lngRed = RGB(255, 0, 0) har du 100% indhold af Red og 0% af henholdsvis Green og Blue. Hvis den røde farve skal være svarege kan det se sådan ud:
lngRed = RGB(150, 0, 0)
Du kan selvfølgelig også tilsætte lidt mere Green eller Blue ved at justere disse tal.
Prøv denne. Jeg synes ikke, at der er nogen klar synlig farveskift, så i denne har jeg gjort teksten i datofeltet fed, hvis indholdet et større end 36 timer fra nu:
Dim lngRed As Long, lngYellow As Long, lngBlack As Long, lngWhite As Long lngRed = RGB(255, 0, 0) If dato > Date + 1 And dato < Date + 1.5 And felt1 = "x" Then dato.ForeColor = lngRed Else: dato.ForeColor = lngBlack End If lngRed = RGB(255, 0, 0) If dato > Date + 1.5 And felt1 = "x" Then dato.ForeColor = lngRed dato.FontBold = True Else: dato.ForeColor = lngBlack dato.FontBold = False End If
du skal markere den box som skal have betinget formatering. formater - betinget formatering vælg i første combo 'udtrykket er' og så skriver du din betingelse: (([tidspunkt1]+1) < date()) AND ([text1] = "x")
nih > YES - jeg har vendt det på hovedet. det er sgu ikke første gang jeg klokker i det med If.. Then.. - Nå men man kan jo ikke vinde hver gang. Er du på arbejde, eller skal du? så vidt jeg husker er det noget med lange nattevagter.
12 til 20 er jo småting. Jeg tager 24 efterfulgt af en normal arbejdsdag. Men så kan vi godt sove 5-6 timer, så det er luksus.
Men jeg har et bijob, hvor vi 13 timers nattevagt. Og det kan være i Kolding, Esbjerg eller hvor der nu er brug for os. så det er mange gange op kl. 03:00, og ikke hjemme før omkring 19:30, og så på den igen næste dag. Det er lidt af en tørn.
En enkelt vagt på 12 eller 8 timer er jo ikke noget. Men efter 21 dages vagter uafbrudt kan man nok trænge til 1 fridag eller 2, og så er det ligegyldigt hvor lange vagterne er.
Nej dog ikke - det er montørerne, og de har travlt i denne tid. Jeg arbejder udelukkende som servicevagt, fastvagt, værdi o.s.v. I de sidste par år udelukkende i Storcentret. Så hvis du ser en lille, småfed ældre distingveret vagt, så hils lige på.
nu har jeg siddet her og læst jeres kommentarer omkring lange vagter; slå lige denne her; nu har jeg haft vagt 24/7 siden 8/8-02 ovenikøbet i Haifa ,men jeg har også et problem ang. access97 vs windows-xp; hvis jeg starter en ny base lader det sig ikke gøre at programmere i f.eks. i en formular; jeg får lov til at taste ca. 5-6 karakterer så lukker access simpelhen bare ned. Hvis jeg derimod bruger eksempelbasen Northwind så kan det godt lade sig gøre at programmere, men så løber jeg ind i det problem at hvis jeg bruger komponeten 'Currentdb' så får jeg fejlmeddelse '429' activex kan ikke oprette objektet og så er jeg jo lige vidt. Er der nogen der kan hjælpe mig med det? >bilbo
ok jeg skylder en forklaring: mit OS er XP-pro : min Office er XP-Standard. Mit problem er at de opgaver jeg har skal være kompatible med Access97; derfor har jeg installeret Acess97, jeg har iøvigt ikke adgang til Access2002 og min Access2000 er korrumperet og son nævnt er jeg pt i Haifa og har ikke adgang til mine cd-er: derfor. det er muligt at installationsrækkefølgen er forkert, men i såfald, hvordan skal den så være >bilbo
Hvis du laver en db i XP, er den ikke "bagud kompatibel mend 97". Af samme grund bruger jeg stadig 97 herhjemme, men xp på arbejdet. Jeg har så sent som i dag konverteret en række små db fra 97 til xp, og får en meddelelse, at jeg ikke længere kan dele db med 97-brugere.
Jeg har dårlig erfaringer med at installere både 97 og 2000 på samme maskine, selvom jeg kan erindre, at et par brugere her på eksperten med held har gjort det.
I din situation ville jeg formattere, og nøjes med 97 der altid kan konverteres til nyere versioner. Men det er jo ikke meget værd når du sidder i langbordistan uden CD.
du har sikkert ret; det var måske en ide, jeg er en fattig mand og har ikke råd til rutte med mine point; og så ikke flere kommentarer fra min side. Giv meg lige en time eller to til at formulere mit problem så alle kan forstå det. >bilbo
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.