У меня есть оператор IIf, который должен делать то, что я хочу, но он слишком сложен, поэтому мне нужен альтернативный способ написания этого кода. Я пробовал оператор switch, но у меня та же проблема. Назначение кода трудно объяснить, но я постараюсь сделать его простым, так как понял, что контекст важен при поиске решений.
По сути, я использую запрос для вывода таблицы данных, которую можно использовать в качестве макета матрицы. Его необходимо настроить, например, 5x5, 7x7, 10x10 и т. д., а отображаемые значения должны измениться, чтобы отразить размеры. Одна из таблиц, из которых извлекается запрос, представляет собой просто числовые значения, сумму которых я использую для определения вывода этого поля. Также имеется поле с пометкой «[Размер матрицы]», определяющее размеры. В конце концов, это также будет определять, какая информация будет отображаться на основе этих измерений, но я еще не зашел так далеко. Чрезмерно сложные операторы IIf выглядят следующим образом.
IIf([Matrix Size]<=0," ",
IIf([Impact]=0,"1",
IIf([Impact]+[Likelihood]=2,"Low",
IIf([Matrix Size]<2," ",
IIf([Impact]+[Likelihood]=3,"Low",
IIf([Matrix Size]<3," ",
IIf([Impact]+[Likelihood]=4,"Low",
IIf([Matrix Size]<4," ",
IIf([Impact]+[Likelihood]=5,"Low",
IIf([Matrix Size]<5," ",
IIf([Impact]+[Likelihood]=6,"Low",
IIf([Matrix Size]<6," ",
IIf([Impact]+[Likelihood]=7,"Low",
IIf([Matriz Size]<7," ",
IIf([Impact]+[Likelihood]=8,"Low","Error")))))))))))))))
Если кто-нибудь знает способ упростить этот/альтернативный способ сделать это, который не будет слишком сложным для доступа, пожалуйста, дайте мне знать. Любая помощь приветствуется.
Для ясности, если необходимо:
Второй IIf используется для установки первой строки в «1», чтобы действовать как одно из числовых значений вдоль горизонтальной строки. Операторы воздействия+вероятности определяют, должно ли поле отображать значение «Низкий», «Средний» или «Высокий», но на данный момент «Низкий» является просто заполнителем, а операторы размера матрицы определяют, должно ли оно быть пустым или не на основе желаемых размеров.
0
в"1"
,1
в"2"
,2
в"Low"
и так далее, что легко, потому что массивы имеют нулевой индекс. - person tadman   schedule 17.05.2018