Ta en titt på denna kraftfulla teknik för att lägga till avancerade färgkodningen logiken i ditt formulär.
Färgkodningen tillför värde till en form som lätt leder användarens öga för kritisk data. Detta är en kraftfull teknik som gör det möjligt för en användare att snabbt bedöma en sidor av uppgifter för fel eller en varning information.
Access 2000 till Access 2003 har en gräns på fyra färger du kan använda för varje område på en kontinuerlig form. Använda villkor kod methos som beskrivs i detta tips, det finns ingen gräns för den logik som du kan använda för att ställa in på villkor att en av de fyra färgalternativ.
Skapa ett namn för det ColorCoding
Ange följande områden (utan nummer)
1] CntrID som Räknare gör det primärnyckeln området
2] Cntname som text
3] WorkDesc som text - de uppgifter som antingen ska vara "min" eller "Maj"
4] EMR som nummer enda - uppgifterna bör ett heltal mellan 1 och 10
5] aggdate som datum / tid
6] aggamnt som valuta
7] wcompdate som datum / tid
8] wcompamnt som valuta
9] concode så många, långa heltal detta område kommer att beräknas så lämna det tomt.
Ange vissa uppgifter i tabellen för testning.
Skapa en form kontinuerlig stil form med hjälp av ColorCoding tabellen som datakälla.
Lägg till en form sidhuvud / sidfot.
Sätt en form titel i form rubriksektionen i form (tillval).
Använd andra fliken på egenskaper form och ge varje fält har samma namn som den kontroll källa. Så namn [EMR] fältet "EMR" till exempel. Sedan kan du använda fältnamnen gillar variabelnamn när du skapar VBA-kod.
Lägg till alla fält i tabellen och anpassa i en rad med området etiketter ovanför varje område, men i form rubrikinformation sectionof form.
Detta bör ge en rad områden i detalj avsnitt i formuläret.
Sätt en knapp i sidfoten med bildtext uppdateringsfrekvens.
I design-läge på formuläret, välj Format / Villkorad Formating.
Använd Mid-kommandot för att kontrollera en karaktär i det skick kod och ange ditt tillstånd färger. Titta på [EMR] området. Det är det fjärde området från vänster. Mellannordiska kommando beordrar Access att kontrollera området concode i fjärde chracter platsen för en spänn av 1 tecken för värde på 3.
Ange de villkor som denna
Lämna standard formatering inställd på vit bakgrund och svart färg.
Redovisning är Mid ([concode], 4,1) = "3" Välj en färg - jag använda Röd för 3 eller en underlåtenhet villkor
Redovisning är Mid ([concode], 4,1) = "2" Välj en färg - Jag använder gula för 2 eller en varning villkor
Redovisning är Mid ([concode], 4,1) = "1" Välj en färg - jag använder grön för 1 eller passerar villkor
Upprepa detta för varje område du vill ställa krav på. Observera att varje karaktär villkoret kod som börjar från vänster till höger kommer att utgöra en respektive område från vänster till höger. Så, en 3 i 2 rum på villkor kod område kommer att ställa in CntName område red. Se fråga nummer ovan. Senare områden följer samma sekvens.
Ytterligare ett exempel på [aggdate] område condtional formatet skulle se ut så här:
Redovisning är Mid ([concode], 5,1) = "3" Välj en färg. Den här
Villkoret kod område [concode], värderingar skapas med någon logik som du vill tilldela den. I detta exempel använder jag åtta fält så conidition kod är åtta tecken bred och varje tecken kan vara antingen en 0,1,2 eller 3. Så kan det se ut så här 10112321. Nu använder mitten kommandot ovan, den fjärde karaktären är en 1 så att villkoret för fjärde området, [EMR], skulle vara en 1 som villkor att grönt.
När du har formen utvecklats och testats, kan du gå tillbaka och ställa in concode område osynlig. Dina användare behöver inte se att uppgifter.
När du har skapat form tillämpa följande kod. Du kan klippa ut och klistra direkt i formuläret om du använt samma fältnamn beskrivs utan att skriva.
Klipp här --------
Option Compare Database
Dim rec Som DAO.Recordset
Dim db Som Database
Public Function SetConCode ()
On Error GoTo erout
Dim Xcode (10) As Integer, x As Integer, CCode Som String, y As Integer
"Xcode värden 1 = grön, 2 = gul, 3 = röd, 0 = vit
"Använd nästa rad om du har hundratals skivor och vill inte vänta på skärmen för att uppdatera
"DoCmd.Echo False
"Ställ området mot Zero
x = 0
"increment området counter as you go
x = x + 1 "Steg 1
Om IsNull (CntrID) Sedan
Xcode (x) = 0
Annan
Xcode (x) = 1
End If
x = x + 1 "Steg 2
Om IsNull (Cntname) Sedan
Xcode (x) = 0
Annan
Xcode (x) = 1
End If
x = x + 1 "Steg 3
Om IsNull (WorkDesc) Sedan
Xcode (x) = 0
Annan
Xcode (x) = 1
End If
x = x + 1 "Steg 4
Om IsNull (EMR) Sedan
Xcode (x) = 0
Elseif EMR 3 Och EMR