Скрытие столбцов в таблице Microsoft Access 2007 с VBA - PullRequest
3 голосов
/ 11 ноября 2009

Я пытаюсь скрыть определенные столбцы в разделенной форме Access 2007 через код. Мне нужна форма, чтобы проверить определенные условия, чтобы увидеть, нужно ли отображать столбец или нет. У меня есть код в событии «Активировать» формы, чтобы скрыть столбец следующим образом:

txtControl.ColumnHidden = True

Этот код работает в событии «Открыть», но если я скрою столбец при активации, он не отобразит эти изменения, пока я не закрою форму и не открою ее снова. Я пытался вызвать методы формы, перерисовки и запроса, но это не работает. Пожалуйста, помогите!

Редактировать: В идеале мне нужно, чтобы это событие происходило всякий раз, когда фокус переключается на эту форму. Поэтому я использую событие Activate, а не событие Open.

Ответы [ 2 ]

7 голосов
/ 12 ноября 2009

Попробуйте установить его в форме Current или Load events. Возможно, вам также потребуется запросить элемент управления после установки этого свойства: Me.TextControl.Requery Current вызывается каждый раз, когда запись формы изменяется, форма перерисовывается или запрашивается. Load, как следует из ее названия, вызывается один раз после открытия формы, когда форма загружает свои записи. Это всегда было для меня более надежно, чем использование Activate , которое действительно связано с большей фокусировкой формы, а не с тем, что вам нужно.

0 голосов
/ 11 ноября 2009

У меня была такая проблема до работы в Access 2002. Мне удалось решить проблему с подчиненной формой, установив исходный объект подчиненной формы равным самому себе, а затем запустив запрос.

Me.SubForm.SourceObject = Me.SubForm.SourceObject
Me.SubForm.Requery

Посмотрите, работает ли эта техника в вашей конкретной ситуации.

...