Problem:MS Access 2010 - Split Form flackernden [Bedingte Formatierung]
Alles war ziemlich gut funktioniert, und dann habe ich zwei Felder in die Formkörper (und das Datenblatt): "Impact" und „Zins ". Ich setze diese auf bedingte Formatierung, so dass, wenn sie den Text "rot" enthalten, sie eine rote Füllung haben.
Wenn das Formular geladen wird, wird die bedingte Formatierung sofort auf den ersten Eintrag in der Datenblattansicht angewendet, und es dauert eine Sekunde, um die anderen beiden Einträge anzuwenden Ich lege "gelb" und "grün" in (die sind konditioniert, um jeweils eine gelbe und grüne Füllung aufzuweisen). Wenn ich den dritten Eintrag wähle, der beim Laden des Formulars ausgewählt wird, wird die Formatierung sofort auf die Datenblattansicht angewendet. MS Access sagt, dass es "Calculating" ist, und wenn dies abgeschlossen ist, wird die bedingte Formatierung angewendet.
ferner dazu , wenn der erste Textfilter wird die Formkörper Textfelder „impact“ und „interest“ flicker sowie der zweiten Textfilter in dem Header und die „forename“ des ausgewählten Eintrags angewandt in der Datenblattansicht (mein VBA-Code wählt den Vornamen, nachdem der Filter angewendet wurde). Wenn ich die Maus bewege, hört das Flackern auf und der Filter wird angewendet. Manchmal passiert das Flackern jedoch nicht. Dies ist nur passiert, seit ich die Felder "Auswirkung" und "Interesse" mit bedingter Formatierung hinzugefügt habe.
Dies ist die grundlegende Struktur meiner Form:
Formularkopf: Einige Tasten und zwei Textfelder. Der Benutzer gibt seine Suchbegriffe ein und drückt die "Apply Filter" -Schaltflächen, um die in der Datenblattansicht angezeigten Daten einzugrenzen.
Datenblatt anzeigen: Die Schlüsselspalten sind sichtbar, und wenn der Benutzer auf einen klickt, wird das Profil im Formular angezeigt.
Formkörper: Enthält die Daten aus dem Datenblatt, entsprechend der Kategorie.
Hier ist der Code für die, wenn meine Form Lasten - es lädt alle relevanten Daten, setzt ein Kontrollkästchen, und setzt den Fokus auf das erste Textfilter:
Private Sub Form_Load()
Me.RecordSource = "SELECT * FROM Staff "
CheckImpInt.Enabled = True
CheckImpInt = False
StaffTotalSearchText1.SetFocus
End Sub
Und hier ist der Code für das erste Filter-Taste:
Private Sub Filter1Button_Click()
If CheckImpInt = True Then
Me.RecordSource = "SELECT * FROM Staff " & _
"WHERE [Interest] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [Impact potential] Like '*" & Me![StaffTotalSearchText1] & "*'"
Else
Me.RecordSource = "SELECT * FROM Staff " & _
"WHERE [Forename] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [Surname] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [Position] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [Group] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [Division] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [All groups] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [Expertise] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [Institutes] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [Roles] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [skills - analysis] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [skills - compute] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [Notes] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [Paired IC] Like '*" & Me![StaffTotalSearchText1] & "*'" & _
"Or [Paired Company?] Like '*" & Me![StaffTotalSearchText1] & "*' "
End If
End Sub
Ich bin verwirrt. Wann flimmert es - Sie sagen "wenn das Formular geladen wird" - wann passiert das? Ist es, wenn Sie auf den Datenblatteintrag klicken? Oder flackert es, wenn Sie auf die Schaltfläche Filter anwenden klicken. Was ist Code im Form_Load-Ereignis - und in der Befehlsschaltfläche click-Ereignis für Apply-Filter – dbmitch
Wenn das Formular geladen wird, haben alle Farben in der Datenblattansicht neben denen im ausgewählten Eintrag nur eine bedingte Formatierung, nachdem MS Access die Berechnung beendet hat ". Dieses "Berechnen" findet statt, unabhängig davon, ob eine bedingte Formatierung vorliegt oder nicht. – Idios