我想通过代码更改 Access 表中的“行源”值。这样我可以过滤用户可以在列的组合框中选择的内容。
3 回答
根据 Dave DuPlantis 的回答,您可能希望阅读各种 Microsoft Access MVP 的 Access Web中的“表中查找字段的邪恶” 。
我不知道这是否适合您,但我建议将表格和过滤选项分开,设置一个表单来进行数据输入和修改,并使用代码为组合框设置行源表格。正如您已经看到的,虽然 Access 确实提供了将表视为不仅仅是表的机会,但这主要用于 GUI 目的。在幕后,Access 更喜欢您使用表单进行数据输入。
如果您需要使用表格方法,您可以尝试查看此处引用的 MS 知识库文章。(kb 文章在此处和此处。)请记住,这些文章指的是 Access 97,可能不再相关。我无法在 Access tabledef 中找到对这些属性的任何最新引用。
你的问题很混乱。“RowSource”是列表框或组合框的属性。表没有 RowSource,但正如 Remou 指出的那样,Access 允许您在表中定义字段,以便它们显示一个组合框,从相关表中查找值。这个组合框有一个行源,所以这可能就是你的意思,但这只是一个糟糕的主意。
您在表格设计中定义的组合框是用户界面对象,UI 不属于您的表格定义。它不仅会导致各种问题,而且还意味着您的表本身可能会因更改其他表而导致查找字段的定义无效。
用户界面控件属于用户界面对象,这意味着您应该只将它们放在表单中(或者,在最低级别,放在已保存的查询中)。
同样,过滤用户是一个用户界面问题,与表格设计无关。