04. september 2004 - 17:44Der er
12 kommentarer og 1 løsning
Ændre baggrundsfarve på en formular
Hvordan kan man ændre en baggrundsfarve på en formular, det må ikke ske i designvisning. Det skal værer sådanne at bruger kan ændre baggrundsfarven unden at gå i design.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Du skal sætte farven for hver sektion (typisk delalje, formheader, formfooter)
Denne kode skulle kunne gøre det: 'Detaljesektionen: Me.Section(0).BackColor = vbred 'Formularhoveder: Me.FormHeader.BackColor = qbcolor(2) 'formularfod: Me.FormFooter.BackColor = RGB(100, 100, 100)
De 3 forskellige værdier er blot forskellige måder at angive farver på. Du kan også bare 'hugge' farvekoden fra egenskabsarket og bruge den i stedet
>> thomasjepsen, hvordan kan jeg bruge den, det skulle gerne værer sådanne at man kan ændre farven på formularen i hele db. Jeg havde tænk mig en en tabel hvor man kunne vælge en farve, jeg har set det et sted her på eksperten.
Hvis du vil ændre farven på alle formularer i databasen, er der 2 metoder:
1) Hver gang formularen åbnes checker den hvilken farve den skal have (f.eks. i tabel eller registreringsdatabasen) og skifter derefter baggrundsfarven for formularen. Denne metode kræver en stump kode på alle formularer (eller et kald til en global funktion) og kræver derfor også lidt resourcer hver gang en formular skal åbnes.
2) Ved brugerens farveskift åbnes alle formularer i designvisning én ad gangen. Farven skiftes og formularen lukkes og gemmes. Derved vil hveer formular have den nye farve - også i designvisning og ingen yderligere kode er påkrævet. Denne metode kræver en stump kode som gennemløber alle formularene, og det vil derfor tage et par sekunder hver gang brugeren skifter farve. Skærmopdaering kan slås fra imens, så brugeren ikke ser alle formularen åbnes og lukkes.
Mht farvevalg, så kan du enten definere en række valgmuligheder i en tabel med 2 kolonner: farvekode farve 0 Sort 255 Rød -2147483633 Systemgrå
Eller du kan bruge commondialog til at vælge farve.
Hvis du vælger metode 1) skal du kunne gemme brugerens valg. Dette gøres nemmest i en tabel. Hvis du ønsker at hver bruger skal kunne have sin egen farveopsætning, så skal du gemme både brugerlogin og farvekode. Ellers er det tilstrækkeligt at have en system-tabel med blot én post, hvor du gemmer farvekoden.
Som du kan se, er der mange muligheder. Jeg kunne godt lave et eksempel, men jeg har ikke tiden til det lige nu (det vil jo tage lidt tid), så prøv evt pecl's eksempel først.
Dim farvekode as long Farvekode = Dlookup("Farvekode", "Din tabel") Me.Section(0).BackColor = Farvekode ME.Section(1).backcolor = Farvekode ...
Hvis hver bruger skal kunne have sin egen farveopsætning, skal 2. linie bare se således ud: Farvekode = Dlookup("Farvekode", "Din tabel", "BrugerInit = '" & currentuser & "'")
NB: currentuser duer kun hvis Access sikkerhed er aktiveret og brugerne derved logger på Access hver gang. Alternativt kan bruges Environ("Username") som returnere Windows-login.
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.