我有一个任务列表表单,其中包含用于任务优先级列表的组合框。组合框的行源连接到优先级表。我有组合框工作,所以它显示正确的文本“紧急,高,等”基于任务和优先级表关系。
我想要做的是代替显示优先级的组合框,我希望它是一个文本框。这是我遇到问题的地方。
如何以表格形式和/或我需要更改哪些字段来完成此操作?
我已尝试设置文本框:
Control Sources = [Priority]![Priorities]
这会给出#Error
文本框Default Value = [Priority]![Priorities]
这也给出了#Error
文本框Control Source = DLookUp("[Priorities]","[Priority]","[ID]="&[Tasks]![Priority])
这会给#Name?在文本框中Default Value = DLookUp("[Priorities]","[Priority]","[ID]="&[Tasks]![Priority])
这也给#Name?在文本框中Control Source = Priority
给出了任务和优先级表之间关系的数字查找这个有效,但速度明显很慢。是否有“更快”,更好的方式。
Control Source =DLookUp("Priorities","Priority","ID=" & [Priority])
答案 0 :(得分:2)
为什么要文本框?还需要一个组合框来选择优先级。
表单是否绑定到Task表?无法在文本框控件来源或默认值中引用优先级表。 DLookup将无法在默认值中使用。控件源中的DLookup应该可以正常工作。
更简单的方法是将表单记录源设置为具有左或右连接的SQL语句,该语句将“包括来自任务的所有记录,并且仅包括来自匹配的优先级的记录”。将文本框绑定到优先级的描述性“优先级”字段。将文本框设置为“已启用否”和“已锁定是”,以便用户无法对其进行编辑。
如果要屏蔽/隐藏ID,则将组合框设置为多列,使用其RowSource SQL拉取所需字段,并通过将其宽度设置为0来隐藏ID列。或者不保存优先级ID,保存实际的描述性价值。使用非常简短的描述符和/或可以证明合理的小型数据库。