Bitte werfen Sie einen Blick auf diese mächtige Technik, um erweiterte Farbcodierung Logik Ihrer Formulare.
Farbcodierung einen Mehrwert für eine Form, wie sie der Benutzer einfach die Augen zu kritischen Daten. Dies ist eine leistungsfähige Technik, ermöglicht es Benutzern, schnell Bewertung einer Seite von Daten für Fehler oder Warn-und Informationsnetz.
Access 2000 zu Access 2003 ist eine Obergrenze von vier Farben können Sie für jedes Feld auf einer kontinuierlichen Form. Mit der Bedingung Code methos in diesem Tipp, gibt es keine Begrenzung für die Logik können Sie, um die Bedingungen Bereich zu einem der vier Farboptionen.
Erstellen Sie eine Tabelle mit Namen ColorCoding
Geben Sie die folgenden Felder aus (ohne die Zahlen)
1] CntrID als AutoWert, machen es den Primärschlüssel Bereich
2] Cntname als Text
3] WorkDesc als Text - die Daten sollten entweder "min" oder "maj"
4] EMR als Zahl, Single - Die Daten sollten eine ganze Zahl zwischen 1 und 10
5] aggdate als Datum / Uhrzeit
6] aggamnt als Währung
7] wcompdate als Datum / Uhrzeit
8] wcompamnt als Währung
9] concode als Zahl, Long Integer diesem Bereich wird so berechnet, lassen Sie dieses Feld leer.
Geben Sie einige Daten in der Tabelle für die Prüfung.
Erstellen Sie ein Formular kontinuierlichen Stil bilden mit den ColorCoding Tabelle als Datenquelle.
Fügen Sie ein Formular header / footer.
Legen Sie eine Form Titel in Form Header des Formulars (optional).
Verwenden Sie die Registerkarte Weitere auf die Eigenschaften und die einzelnen Felder den gleichen Namen, da sie die Kontrolle aus. Also, der Name [EMR] Feld "EMR" zum Beispiel. Dann können Sie die Feldnamen wie Variablennamen, wenn Sie VBA-Code.
Fügen Sie alle Felder auf dem Tisch, und richten Sie die in einer Zeile mit den Feldbezeichnungen über jedes Feld, sondern in Form Header sectionof das Formular aus.
Dies sollte aus einer Reihe von Bereichen in den Detailbereich des Formulars.
Legen Sie eine Schaltfläche in der Fußzeile mit der Bildunterschrift aktualisieren.
Im Design-Modus auf Ihrem Formular, wählen Sie "Format / Bedingte Formatierung.
Mit dem MID-Befehl, um ein Zeichen in der Bedingung-Code und Ihr Zustand Farben. Sehen Sie sich die [EMR] Feld. Es ist der vierte Bereich von der linken Seite. Die Mid-Befehl leitet den Zugang zu den Feld concode im vierten chracter Ort für eine Spannweite von 1 Zeichen für den Wert von 3.
Stellen Sie die Bedingungen, wie diese
Verlassen Sie die Standard-Formatierung auf weißem Hintergrund und schwarzer Schrift.
Ausdruck Mid ([concode], 4,1) = "3" Wählen Sie eine Farbe - ich Rot für 3 oder eine nicht Bedingung
Ausdruck Mid ([concode], 4,1) = "2" Pick a color - ich gelb für 2 oder eine Warnung Zustand
Ausdruck Mid ([concode], 4,1) = "1" Wählen Sie eine Farbe - grün ich für 1 oder eine vorübergehende Zustand
Wiederholen Sie diesen Vorgang für jedes Feld, das Sie wünschen, um Bedingungen zu. Beachten Sie, dass jedes Zeichen des Zustands-Code von links nach rechts wird ein entsprechender Bereich von links nach rechts. Das heißt, eine 3 in der 2. Platz unter der Bedingung, Code-Feld wird die CntName Feld rot. Siehe die Zahlen vor. Nachfolgende Felder folgen der gleichen Reihenfolge.
Ein weiteres Beispiel für die [aggdate] Bereich der condtional Format würde wie folgt aussehen:
Ausdruck Mid ([concode], 5,1) = "3" Wählen Sie eine Farbe aus. Dies
Der Zustand Code-Feld, [concode], die Werte sind, die mit jeder Logik, die Sie zuordnen möchten, um sie. In diesem Beispiel bin ich mit acht Bereichen, so dass die conidition-Code ist acht Zeichen breit und jeder Charakter kann es sich entweder um ein 0,1,2 oder 3. So kann etwa so aussehen 10112321. Jetzt mit der Mitte-Kommando vor, das vierte Zeichen ist eine 1, so dass die Voraussetzung für das vierte Bereich, [EPA], wäre eine 1, die Voraussetzungen für die Grün.
Sobald Sie das Formular entwickelt und getestet haben, können Sie zurück und stellen Sie die concode Feld unsichtbar. Ihre Benutzer brauchen nicht, um zu sehen, dass die Daten.
Nachdem Sie das Formular erstellt haben, gelten die folgenden Code. Sie ausschneiden und kopieren können dieses Recht in der Form, wenn Sie die gleichen Feldnamen beschrieben ohne Eingabe.
Cut hier --------
Option Compare Database
Dim rec Wie 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 Werte 1 = grün, 2 = gelb, 3 = rot, 0 = weiß
"Verwenden Sie die nächste Zeile, wenn Sie Hunderte von Aufzeichnungen und wollen nicht warten, auf dem Bildschirm zu aktualisieren
"DoCmd.Echo False
"Setzen Sie das Feld gegen Null
x = 0
"Erhöhung der Bereich counter as you go
x = x + 1 "Schritt 1
If IsNull (CntrID) Then
Xcode (x) = 0
Sonst
Xcode (x) = 1
End If
x = x + 1 "Schritt 2
If IsNull (Cntname) Then
Xcode (x) = 0
Sonst
Xcode (x) = 1
End If
x = x + 1 "Schritt 3
If IsNull (WorkDesc) Then
Xcode (x) = 0
Sonst
Xcode (x) = 1
End If
x = x + 1 "Schritt 4
If IsNull (EMR) Dann
Xcode (x) = 0
ElseIf EMR 3 und EMR