Vennligst ta en titt på denne kraftige teknikk for å legge avanserte farge koding logikken til skjemaer.
Color koding øker verdien til et skjema som det lett dirigerer brukerens øye til viktige data. Dette er en kraftfull teknikk som tillater brukeren å raskt vurdere et sider av data for feil eller advarsel informasjon.
Access 2000 til Access 2003 har en grense på fire fargene du kan bruke for hvert felt på en kontinuerlig form. Bruke tilstand koden methos beskrevet i dette tipset, er det ingen grense for logikken du kan bruke for å angi feltet forhold til en av de fire fargealternativene.
Opprett en tabell navn det ColorCoding
Oppgi følgende felt (uten tall)
1] CntrID som Autonummer, gjør det primærnøkkelen feltet
2] Cntname som tekst
3] WorkDesc som tekst - dataene skal enten være "min" eller "Maj"
4] EMR som nummer én - dataene skal være heltall mellom 1 og 10
5] aggdate som dato / klokkeslett
6] aggamnt som valuta
7] wcompdate som dato / klokkeslett
8] wcompamnt som valuta
9] concode som nummer lang heltall dette feltet vil bli beregnet så la det stå tomt.
Inn noen data i tabellen for testing.
Lag en form kontinuerlig stil form ved hjelp av ColorCoding tabellen som datakilden.
Legg til en form topptekst / bunntekst.
Sett en tittel i form toppteksten i skjemaet (valgfritt).
Bruk den andre kategorien på eiendommene og gi hvert felt samme navn som det er kontroll kilde. Så navn [EMR] feltet "EMR" for eksempel. Deretter kan du bruke feltnavnene som variabelnavn når du oppretter VBA-kode.
Legg til alle feltene til bordet og sette inn en rad med feltet etiketter ovenfor hvert felt, men i form header sectionof skjemaet.
Dette bør la en rekke av feltene i detalj i skjemaet.
Sett en knapp i footer med bildeteksten oppdateringsfrekvenser.
I design-modus i skjemaet ditt, velger Format / Betinget Formating.
Bruk Mid-kommando for å sjekke et tegn i stand koden og angi at tilstanden farger. Se på [EMR] feltet. Det er fjerde feltet fra venstre. The Mid-kommandoen dirigerer Access å kontrollere feltet concode i fjerde chracter plassen for en span av 1 tegnet for verdien av 3.
Angi forhold som dette
Avreise standard formatering satt til hvit bakgrunn og svart skriftfarge.
Uttrykket Mid ([concode], 4,1) = "3" Velg en farge - Jeg bruker Red for 3 eller en sviktende tilstand
Uttrykket Mid ([concode], 4,1) = "2" Velg en farge - Jeg bruker gul for 2 eller en advarsel tilstand
Uttrykket Mid ([concode], 4,1) = "1" Velg en farge - Jeg bruker grønne for 1 eller bestått tilstand
Gjenta dette for hvert felt du ønsker å stille betingelser på. Merk at hver karakter av tilstanden koden starter fra venstre til høyre, vil representere et respektive felt fra venstre til høyre. Så en 3 i 2 sted på betingelse kode feltet angir CntName feltet til rødt. Se feltet tallene ovenfor. Påfølgende felt følger samme rekkefølge.
Ett eksempel på det [aggdate] feltet i condtional format ville se slik ut:
Uttrykket Mid ([concode], 5,1) = "3" Velg en farge. Dette
Tilstanden kode feltet [concode], er laget med en logikk som du vil tilordne til den. I dette eksempelet jeg bruker åtte felt slik at conidition koden åtte tegn lang, og hver karakter kan være enten en 0,1,2 eller 3. Så det kan se ut som dette 10.112.321. Nå bruker midten kommandoen over, fjerde bokstav a 1 så tilstanden for fjerde feltet [EMR], ville være en 1 hvilke vilkår til grønn.
Når du har form designet og testet, vil du kanskje gå tilbake og angi concode feltet til usynlig. At brukerne ikke trenger å se at dataene.
Når du har opprettet skjemaet gjelder følgende kode. Du kan klippe ut og lime inn denne til høyre inn på skjemaet hvis du har brukt samme feltnavnene beskrives uten å skrive.
Cut her --------
Alternativ Sammenlign Database
Dim rec Som DAO.Recordset
Dim db As Database
Public Function SetConCode ()
On Error Goto erout
Dim Xcode (10) As Integer, x As Integer, CCode As String, y As Integer
'Xcode verdiene 1 = grønn, 2 = gul, 3 = rød, 0 = hvit
Bruk neste linje hvis du har hundrevis av poster og ønsker ikke å vente på skjermen for å oppdatere
'DoCmd.Echo False
Angi feltet telleren til null
x = 0
'øke feltets telleren som du går
x = x + 1 "Trinn 1
Hvis IsNull (CntrID) Then
Xcode (x) = 0
Ellers
Xcode (x) = 1
End if
x = x + 1 "Trinn 2
Hvis IsNull (Cntname) Then
Xcode (x) = 0
Ellers
Xcode (x) = 1
End if
x = x + 1 "Trinn 3
Hvis IsNull (WorkDesc) Then
Xcode (x) = 0
Ellers
Xcode (x) = 1
End if
x = x + 1 "Trinn 4
Hvis IsNull (EMR) Then
Xcode (x) = 0
ElseIf EMR 3 og EMR