Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Aloster am August 10, 2012, 12:15:57

Titel: Feld "PLZ" blau färben, wenn PLZ = PLZ aus Tabelle
Beitrag von: Aloster am August 10, 2012, 12:15:57
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?

Titel: Re: Feld "PLZ" blau färben, wenn PLZ = PLZ aus Tabelle
Beitrag von: Beaker s.a. am August 10, 2012, 13:57:19
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.
Titel: Re: Feld "PLZ" blau färben, wenn PLZ = PLZ aus Tabelle
Beitrag von: Aloster am August 10, 2012, 15:36:56
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.
Titel: Re: Feld "PLZ" blau färben, wenn PLZ = PLZ aus Tabelle
Beitrag von: bahasu am August 10, 2012, 15:51:42
Hi

tausche tbl_PLZ-Vertriebsbereich_A
gegen [tbl_PLZ-Vertriebsbereich_A]

Das "-" Zeichen stört wohl.

Harald
Titel: Re: Feld "PLZ" blau färben, wenn PLZ = PLZ aus Tabelle
Beitrag von: bahasu am August 10, 2012, 15:53:56
Hi,

und noch eine Frage:
Soll die Blaufärbung für das Einzel-Formular oder das Endlosformular oder die Tabellendarstellung gelten?

Harald
Titel: Re: Feld "PLZ" blau färben, wenn PLZ = PLZ aus Tabelle
Beitrag von: Aloster am August 10, 2012, 16:21:58
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
Titel: Re: Feld "PLZ" blau färben, wenn PLZ = PLZ aus Tabelle
Beitrag von: bahasu am August 10, 2012, 16:26:19
Hi und sorry,

hatte übersehen: ForeColour
besser ForeColor
Harald
Titel: Re: Feld "PLZ" blau färben, wenn PLZ = PLZ aus Tabelle
Beitrag von: Aloster am August 10, 2012, 16:30:03
Ja, jetztz klappt es. vielen Dank!
Titel: Re: Feld "PLZ" blau färben, wenn PLZ = PLZ aus Tabelle
Beitrag von: bahasu am August 10, 2012, 16:32:42
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
Titel: Re: Feld "PLZ" blau färben, wenn PLZ = PLZ aus Tabelle
Beitrag von: Beaker s.a. am August 10, 2012, 17:16:45
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