2013-12-15 2 views
0

У меня есть форма доступа с 20 текстовыми полями, параллельными друг другу, я добавляю данные к ним с помощью списков множественного выбора, проблема в том, что у них большое пространство на моем form, и я не хочу, чтобы все они мне просто нужны поля, которые не пустые, поэтому я хотел уменьшить некоторое пространство, показывая только поля, которые не являются нулевыми, и скрыть все остальные поля, поставив их в закрытые друг другу и сделать их равными по высоте к нулюКак изменить высоту управления без переполнения других элементов управления

If Len(Me.Text0.Value & vbNullString) = 0 Then 
Me.Text0.Height = 0 
else 
Me.Text0.Height = 100 
End if 

, поэтому когда я обновить любое из этих полей высота изменяется от нуля до определенной высоты, но в этом случае, если у меня есть более чем одно поле не пусто, они переливаться друг друга, и я не могу видеть данные каждого поля, любые предложения?

+1

Это не отвечает на ваш вопрос, поэтому я добавляю его в качестве комментария, но рассмотрели ли вы использование элемента управления Tab? В форме, где есть больше элементов управления вводом данных, чем удобно, использование элемента управления Tab может сохранить все, что выглядит аккуратно. –

ответ

2

Если это был отчет, я бы сказал, использовать Report.CanShrink свойство ...

Однако на форме, вам нужно перебрать ваши разборных ListBox эс и свернуть их по мере необходимости, и затем в пределах цикла - петля прохождения всех последующих ListBox es и вычесть Height свернутого списка из Top, а также вычесть Height свернутого списка из раздела Height формы.

Отключение обновления экрана (DoCmd.Echo False ... Код ... DoCmd.Echo True), делая все это, вероятно, поможет.

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