prokoputko
|
|
1 | |
Проблема с условием в Access Formula28.06.2010, 19:02. Показов 44801. Ответов 30
Метки нет (Все метки)
Здравствуйте!
Возникла такая проблема. Есть форма, в ней секция, в которой находится поле "Body". Нужно, чтобы это поле становилось доступным для редактирования только для роли Office после того, как документ сохранен и имеет статус "Черновик"("Draft"). Для этого я использую вкладку Access Formula (тип Computed for display) для секции, пишу в ней условие: <!--shcode--><pre><code class=@-formula>@If(!@IsNewDoc & Status = "Draft";"[office]";"[none]")[/CODE] Затем захожу под пользователем с ролью Office, создаю и сохраняю документ, а данное поле не появляется. Если оставить в условии только !@IsNewDoc, то данный раздел также не появляется после сохранения. Думаю, что-то не так с использованием этой функции (@IsNewDoc) в Access Formula... Помогите понять, что не так, пожалуйста! |
28.06.2010, 19:02 | |
Ответы с готовыми решениями:
30
Проблема с условием Проблема с условием Проблема с условием сравнения Проблема с условием подстановки SQL |
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
28.06.2010, 19:22 | 2 |
А регистр роли не влияет?
+ всегда люблю поставить явно скобки @If((!@IsNewDoc) & Status = "Draft";"[Office]";"[none]") Добавлено: А после переоткрытия документа не срабатывает? кстати, если у Вас для секции задано имя поля (Section Field Name), можете посмотреть, чему равно его значение после сохранения документа - так, для проверки правильности отработки формулы.
0
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
|
28.06.2010, 19:33 | 3 |
Сообщение от OKEN
Сообщение от OKEN
0
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
28.06.2010, 19:37 | 4 |
А ты придира сегодня. Но прав, вот, например, совсем маньячно:
@If((!@IsNewDoc) & (Status = "Draft");"[Office]";"[none]") и еще надо помнить, что роли "просто так" (без галочки Enforce consystent ACL) на локале не работают.
0
|
prokoputko
|
|
28.06.2010, 19:45 | 5 |
Сообщение от OKEN
Регистр и скобки роли не играют (но на всякий случай попробовала по-разному - ничего не изменилось). После переоткрытия все тоже самое - поле не отображается. |
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
28.06.2010, 19:49 | 6 |
А в поле, указанном в Section Field Name что записано при открытом документе? или дизайн скрыт?
0
|
prokoputko
|
|
28.06.2010, 19:51 | 7 |
Сообщение от OKEN
@IsNewDoc | !Status="Draft" | !@Contains(@UserRoles; "office") и все работает, как надо. Так что с ролями, думаю, все нормально... |
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
28.06.2010, 20:02 | 8 |
вы уверены, что ошибка именно в формуле? ну, чудес обычно не бывает)))
1) посмотрите, что в поле или что говорит диалог "Кто может редактировать данную секцию" (при клике на секцию)? скопируйте точное имя роли, может, где-то русский символ затесался. 2) может, случайно поставили скрытие на рт-поле 3) может, просто секция свернута
0
|
prokoputko
|
|
28.06.2010, 20:11 | 9 |
Сообщение от OKEN
Там стоит "[none]" Добавлено:
Сообщение от OKEN
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
28.06.2010, 20:27 | 10 |
проверяйте, где-то что-то не то
1) после переоткрытия всё работает. Field Name: InCard_Access Data Type: Text List Data Length: 12 bytes Seq Num: 1 Dup Item ID: 0 Field Flags: SUMMARY NOUPDATE "[office]" 2) или кнопка сохранения типа @Command([FileSave]); @Command([ViewRefreshFields])
0
|
prokoputko
|
|
28.06.2010, 20:50 | 11 |
Сообщение от OKEN
Сообщение от OKEN
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
29.06.2010, 09:33 | 12 |
Сообщение от prokopulka
Сообщение от prokopulka
0
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
|
29.06.2010, 10:46 | 13 |
Сообщение от nvy
prokopulka, рекомендую роли всегда использовать в коде в том же регистре, в котором они заведены в ТУД! Где-то это не важно, а где-то важно.
Сообщение от prokopulka
0
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
29.06.2010, 11:07 | 14 |
Сообщение от Akupaka
Разумеется, если text содержится в textlist при совпадении text и элемента textlist дальнейшая проверка прекращается. @Contains в этом смысле тоже ищет до первого совпадения.
0
|
prokoputko
|
|
29.06.2010, 11:53 | 15 |
Сообщение от nvy
Сообщение от nvy
@Command ([FileSave]); @Command([RefreshHideFormulas] ); @Command([ViewRefreshFields]) Создаю и сохраняю документ под ролью office, теперь в свойствах документа для данной секции написано, что доступ для "[office]", но поле все равно не появляется Добавлено: Добавлено:
Сообщение от Akupaka
Сообщение от Akupaka
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
29.06.2010, 11:59 | 16 |
Сообщение от prokopulka
Сообщение от prokopulka
0
|
prokoputko
|
|
29.06.2010, 12:19 | 17 |
Сообщение от nvy
@IsNewDoc | !Status="Draft" | @IsNotMember("[office]"; @UserRoles) В ACL роль записана [office] (с маленькой o). Добавлено:
Сообщение от nvy
|
prokoputko
|
|
29.06.2010, 12:33 | 18 |
@IsNewDoc | !Status="Draft" | @IsNotMember("[office]"; @UserRoles)
В ACL роль записана [office] (с маленькой o). А, в этом условии с @IsNotMember("[office]"; @UserRoles) для кнопки все работает, я просто забыла O на o в [office]" обратно поменять))) Так что остается только вопрос по условию для секции... |
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
29.06.2010, 12:37 | 19 |
prokopulka
Сообщение от prokopulka
И попробуйте скопировать роль из ТУД — может быть банальная опечатка (русская о, с или е).
Сообщение от prokopulka
Добавлено:
Сообщение от prokopulka
0
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
|
29.06.2010, 12:56 | 20 |
Сообщение от prokopulka
Вариант 1: Если не сработает, не подойдет, то вариант 2: nvy А у тебя без переоткрытия срабатывает изменение прав доступа к секции? Добавлено: У меня и первый формыльный вариант срабатывает!
0
|
29.06.2010, 12:56 | |
29.06.2010, 12:56 | |
Помогаю со студенческими работами здесь
20
База книг. Проблема с условием. Проблема с выводом переменных GET условием Не выполняется 'запрос с условием' из бд MS Access Проблема с условием (Четные и нечетные шарики) SQL запрос с исключающим условием к БД Access Ошибка при группировке с условием в Access 2007 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |