使用VBA隐藏Microsoft Access 2007数据表中的列

Sky*_*ker 3 ms-access vba ms-access-2007 access-vba

我试图通过代码隐藏Access 2007拆分表单中的特定列.我需要表单来检查某些条件,看它是否需要显示列.我在表单的'Activate'事件中有代码来隐藏列,如下所示:

txtControl.ColumnHidden = True
Run Code Online (Sandbox Code Playgroud)

此代码在"打开"事件中起作用,但如果我在激活上隐藏列,则在关闭表单并再次打开之前,它不会显示这些更改.我试过调用表单的刷新,重绘和重新查询方法,但这不起作用.请帮忙!

编辑:理想情况下,只要焦点切换到此窗体,我就需要发生此事件.这就是我使用Activate事件而不是Open事件的原因.

Dal*_*ale 7

尝试在表单的CurrentLoad事件中设置它.在设置该属性后,您可能还需要重新查询控件:Me.TextControl.Requery每次更改表单的记录时都会调用Current,表单将被重新绘制或重新获取.顾名思义,在表单加载其记录后打开表单后,加载一次.这些对我来说总是比使用Activate更可靠,它实际上与表单的焦点有关,而不是你真正想要的.