Access 2007
Ich habe ein Formular mit einem Feld numerischen "PLZ" und eine Tabelle "tbl_PLZ-Vertriebsbereich_A" mit einer bestimmen Auswahl an "Postleitzahlen".
Nun möchte ich, wenn ich eine PLZ in das Formularfeld "PLZ" eingebe und diese mit einer Postleitzahl in der Tabelle "tbl_PLZ-Vertriebsbereich_A" übereinstimmt, die im Formular eingegebene PLZ blau färbt (alternativ: der Feldhintergrund sich blau färbt), sonst aber nicht. Wie geht das?
Hallo Aloster,
Private Sub PLZFeldImForm_AfterUpdate()
Dim dbe As DAO.Database
Dim rst As DAO.Recordset
Set dbe = CurrentDb
Set rst = dbe. OpenRecordset("SELECT PLZFeld FROM tbl_PLZ-Vertriebsbereich_A")
rst.FindFirst "PLZFeld = " & Me!PLZFeldImForm
If rst.NoMatch = False Then
Me!PLZFeldImForm.ForeColour = vbBlue
End If
rst.Close
Set rst = Nothing
Set dbe = Nothing
End Sub
Falls tbl_PLZ-Vertriebsbereich_A DS-Herkunft des Formulars ist (was ich allerdings nicht vermute) dann
kannst Du die Variablen dbe und rst und das referenzieren ersetzen durch
Me.RecordsetClone.FindFirst "..."
hth
gruss ekkehard
P.S. Kleine Bemerkung am Rande; - der Tabellenname tbl_PLZ-Vertriebsbereich_A deutet auf ein suboptimales Datenmodell hin.
Danke ersteinmal.
Er zeigt mir aber einen Syntaxfehler in FROM-KLAUSEL (3131) in der Zeile:
Set rst = dbe. OpenRecordset("SELECT PLZFeld FROM tbl_PLZ-Vertriebsbereich_A")
an.
Hi
tausche tbl_PLZ-Vertriebsbereich_A
gegen [tbl_PLZ-Vertriebsbereich_A]
Das "-" Zeichen stört wohl.
Harald
Hi,
und noch eine Frage:
Soll die Blaufärbung für das Einzel-Formular oder das Endlosformular oder die Tabellendarstellung gelten?
Harald
Hallo Harald,
das soll für ein Einzelformular gelten. Jetzt kommt eine Fehlermeldung 438 (Objekt unterstützt diese Eigenschaft oder Methode nicht) in Zeile:
Me!PLZFeldImForm.ForeColour = vbBlue
Hi und sorry,
hatte übersehen: ForeColour
besser ForeColor
Harald
Ja, jetztz klappt es. vielen Dank!
Hi,
und noch eine Bemerkung.
Deine Vorgabe ist: Wenn Du etwas eingibst, dann soll es u.U. blau werden.
Wenn es auch dann blau hinterlegt werden soll, wenn Du den Datensatz nur anzeigst, dann im Ereignis "Beim Anzeigen" die Zeile
call PLZFeldImForm_AfterUpdate
hinzufügen.
Harald
Hallo Harald,
Danke für Unterstützung und Korrekturen.
Zitattausche tbl_PLZ-Vertriebsbereich_A
gegen [tbl_PLZ-Vertriebsbereich_A]
Das "-" hatte ich übersehen.
ZitatForeColour
besser ForeColor
Da kommt beim schnellen Runterschreiben immer das
Schulenglisch durch.
gruss ekkehard