2010-07-07 2 views
3

У меня очень длительное состояние, около 3000 символов. Доступ занимает только около одной десятой.Как установить ОЧЕНЬ долгое условие в условном форматировании

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

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

ответ

1

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

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

1

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

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

1

Да, вы можете управлять Условиями форматирования в 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

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

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

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