我想根据用户选择的变量数据隐藏或显示列。如何在 MS-Access 2003 中将列设置为隐藏?
例如,
用户更改事件后...
For Each ctl In Me.FormNameHere.Form.Controls
If (TypeName(ctl) = "Textbox") Then
If InStr(GetTextList(), ctl.Name) > 0 Then
ctl.hidden = True
Else
ctl.hidden = False
End If
End If
Next ctl
- 应对此类挑战的最佳方法是什么?
- 有更明显的解决方案吗?
控件没有“隐藏”属性(Access 中没有对象具有隐藏属性)。他们确实有一个 .Visible 属性。
为了将来的参考,我建议您熟悉 VBE 中的对象浏览器 - 打开 VBE 并按 F2。然后,您可以将搜索范围限制为项目中使用的各个库。不过,您确实需要一段时间才能理解对象模型。
此外,您可以依靠 Intellisense 来了解对象的属性/方法,因此在您正在使用的表单的代码中,您可以键入“Me.MyTextBox”。智能感知下拉列表将显示该特定控件的所有属性和方法。它不适用于通用控制变量(如您的代码中),因为不同的控件类型具有不同的属性。
当然,属性表给出了属性的名称,即使在代码中它们并不总是使用相同的拼写法(通常它们是相同的,删除了空格)。
此外,根据它是常规表单还是数据表表单,您可能想要执行此操作的方式也有所不同。在数据表中,您的控件还具有 .ColumnHidden 和 .ColumnWidth 属性(在数据表视图以外的任何视图中设置这些属性都没有效果,并且这些属性在标准属性表中均不可用,但在保存时会保留对它们的更改)表格)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)