2008-09-16 6 views
2

У меня есть форма infopath 2007, которую я разрабатываю, которая использует 3 разных вида.
3 разных вида в основном одинаковы, но имеют разные текстовые поля, в зависимости от того, какую кнопку выбирает пользователь. Я столкнулся с проблемой, когда 'view 1' имеет некоторую проверку формы, но пользователь выбрал 'view 2' и отправил ее. Подтверждение формы на «view 1» запускается, и пользователь не может отправить форму. Как я могу игнорировать проверку формы на «представлении 1», если пользователь в настоящее время отправляет «представление 2»?Infopath 2007 - Как я могу выполнять проверку данных только в текущем виде?

ответ

2

Вместо того, чтобы отмечать стандартное поле «это поле не может быть пустым» (например), вам нужно вместо этого использовать правила проверки данных. Допустим, у вас есть два вида с текстовым полем в каждом из них, которое не может быть пустым, но вы хотите использовать только текущий вид. Вот структура вида:

поля:

  • CurrentView (номер) (по умолчанию = 1)
  • text1 (текст) text2 (текст)
  • button1
  • button2

вид 1 (по умолчанию)

text1 - правило: if (currentView = 1 AND text1 is blank) показать «не может быть пустым».

button1 - действие: установить значение поля (currentView = 2); переключения между видами (до 2)

вид 2:

text2 - правило: если (CurrentView = 2 И text2 пусто) показывают "не может быть пустым"

button2 - действие: установить значение поля (currentView = 1); (до 1)

Имеют смысл?

Oisin