Как соответствовать ОЧЕНЬ длинному условию в условном форматировании - PullRequest
3 голосов
/ 07 июля 2010

У меня очень длинное состояние, около 3000 символов. Доступ имеет место только для примерно одной десятой этого.

Есть ли другой способ установить условное форматирование для текстового поля, кроме как через диалог, или я могу сделать это в VBA и, если да, КАК?

У меня есть условное форматирование для набора текстовых полей, которые срабатывают при открытии отчета.

Ответы [ 4 ]

1 голос
/ 10 декабря 2010

Я не знаю, был ли вы тем, кем вы были, поскольку вы упомянули, что для ввода всего вашего условного текста была только маленькая клеточка. Другие показали вам решения VBA - так как вы спросили, является ли это одним из способов достижения этого.

Я всегда прибегал к использованию функции «масштабирования», которая доступна при нажатии клавиши SHIFT-F2. Это то, что вы были после? Я думаю, что это восходит также к нескольким версиям Access.

Хороший набор сочетаний клавиш Access доступен здесь: http://www.joyedaniels.com/keys_access.htm

1 голос
/ 21 октября 2010

Да, вы можете управлять условиями форматирования в VBA.Здесь есть полная подробная статья базы знаний по адресу http://support.microsoft.com/kb/304104.

Фрагмент кода, показывающий базовый примерПерейдите по ссылке выше, чтобы получить VBA для AddFormats:

Public Function HighLightForeignKeys(argFieldName As String, argFieldValue As Integer)
    Dim FormatCondition As String
    Dim CodeReception As Integer
    FormatCondition = "[" & argFieldName & "] = " & ArgFieldValue
    With Me.ID
        .FormatConditions.Delete
        .FormatConditions.Add acExpression, , FormatCondition
        .FormatConditions(0).BackColor = 16510422
        AddFormats Me.ID, Me
    End With

End Function 
1 голос
/ 21 ноября 2010

Было бы любопытно узнать, работает ли подход VBA?

Другая идея: создать скрытое поле в форме и установить его значение на основе вашего условия в 3000 символов.Если вы просто пытаетесь получить 1 условное выражение, вы можете присвоить этому скрытому полю значение false / true или значение 0/1;если вы хотите иметь несколько условий, вы можете присвоить ему значение 0, 1, 2 или 3, соответствующее условиям, которые вы хотите применить.В любом случае ваши тесты условных выражений теперь тривиальны: [HiddenFieldName] = ConditionValue

1 голос
/ 07 июля 2010

Согласно разделу справки Access, коллекция FormatConditions имеет методы (Add, Delete, Modify), которые должны позволять вам настраивать ваши FormatConditions с помощью кода VBA.Я никогда не пробовал, так что не предлагайте никакого мнения относительно того, будет ли это практическим подходом для вас.

Я также попытался выяснить, существует ли ограничение емкости для количества символов, которые могут принимать FormatConditions.Я ничего не нашел там.

...