2013-08-22 3 views
1

Я создаю форму в Access 2013, и я распечатаю 4 поля для каждой записи.MS ACCESS Multiple Record Visibility Если заявление

Так Скажем, форма обрабатывает 2 записей он напечатает:

Field 1 Field 2 Field 3 Field 4 
Field 1 Field 2 Field 3 Field 4 

Теперь я хочу, чтобы иметь его, когда он отображает Другое распечатать описание другого из таблицы. Для этого я хочу, чтобы поле DefectType было невидимым, а затем поле «Другое» стало видимым. Я начинаю с того, что Другое невидимое и DefectType Visible и помещает их друг на друга. Вот VBA:

If DefectType <> "Other" Then 
DefectType.Visible = True 
Other.Visible = False 
Else 
DefectType.Visible = False 
Other.Visible = True 
End If 

Он отлично работает, если они все другие, потому что она делает это занимает первое рекордное значение Других и применяет его ко всем другим записям для этой области.

Итак, если первая отображаемая запись имеет поле 3 и имеет значение «Другое», оно будет искать значение в таблице, находящееся под «другим» поле, и отображать содержимое. SO позволяет сказать, что «другое» содержимое было ламинированием. Вместо того, чтобы показывать Other, это сделает поле DefectType невидимым и покажет поле «Другое», которое покажет Lamination.
Проблема в том, что тогда это делается для остальных записей. Он не будет проверять, будет ли поле 3 «другим» или нет, оно просто предполагает, а затем помещает его в поле «Другое» для последующих записей. Это означает, что, поскольку некоторые из них уже имеют в них значения, такие как Corrosion, и ничто в «другом» поле не отображает пустое поле.

Я хочу, чтобы он тестировал каждое поле 3, когда он отображается, чтобы он мог определить, находится ли «другое» в поле или нет.

ответ

1

Я не уверен, насколько хорошо я понимаю ваш вопрос, но это звучит для меня, что ваша форма включает 2 текстовых поля с именами DefectType и Другое. Когда значение DefectType is «Другое», вы хотите отобразить значение от Другое текстовое поле. Но когда значение DefectType - это что-нибудь еще, вы хотите отобразить значение DefectType.

Если это так, вы можете создать новое текстовое поле с именем txtSummary и использовать его как свойство Control Source.

=IIf([DefectType] = "Other", [Other], [DefectType]) 

txtSummary текстовое поле не будет доступен для редактирования. Чтобы изменить его значение, вы измените значения в DefectType и/или Прочие.

Такой подход обеспечит txtSummary всегда обновляется на основе текущих значений DefectType и Других в той же записи. И он будет делать это для каждой записи в форме, в том числе, когда форма находится в режиме «Непрерывная форма» или «Просмотр данных».

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

+0

Yay! Это сработало спасибо. – user2707827

Смежные вопросы