在扩展项目时,这可能是一个方便的技巧。 原谅长度,因为它会变得复杂。 但是,解决方案很简单!
我有一张桌子,我们称它为
tblPeople : Field Type Description
ID AutoNumber PK
FullName Text Person's Name (Last, First MI)
Other fields, etc.
适当地归一化,所有爵士乐...。由于FullName是“文本字段”之一,因此我们可以按人的姓名(我们希望如此)进行排序,并且我们可以多次进行排序,具体取决于我们在做什么。
每当我们提取包括名称在内的数据时,它通常位于“订购依据”中。
全名由MDSS(天空中的主数据系统)吐出,我们无法对其进行控制,因此它就是原来的样子,并且由于它首先以姓氏开头,因此非常适合排序。
有人(我再说一遍,
其中一些人的情况仅与他们有关 。 因此,为了适当地进行数据库规范化,我们仅为这些人提供了一个单独的表。 我们将其称为tblGoodPeople : Field Type Description
ID AutoNumber PK
Person Long FK to tblPeople
Other fields, etc.
现在,如果要将tblGoodPeople的OrderBy属性设置为[tblGoodPeople]。[Person],因为此字段是一个长整数,它将根据FK的值对记录进行排序。
因此,您的姓名可能未正确排序(因此,如果您必须查看表格,实际上可以很容易地找到某人)。
在tblGoodPeople中,我使用LookUp字段,RowSourceType = Table / Query和RowSource =
SELECT tblPeople.ID, tblPeople.FullName
FROM tblPeople
ORDER BY tblPeople.FullName;
通过执行此操作,现在将tblGoodPeople中的“人员”字段显示为人员名称。
同样,如果将OrderBy属性设置为Person,它将仍然按字段的数值排序。
但是,当您具有外键并且具有查找字段时,可以使用一种简洁的功能。 这是一个例子。
您所要做的就是使用前缀“ Lookup_”并指出要使用的“查找字段”(假设您要对多个字段进行排序)。 因此,我将OrderBy属性设置为:
Lookup_Person.FullName
因为Field Person可以具有ID或FullName的值。
现在我的桌子按该人的名字排序!
这种见解没有突破性的突破,这里的许多专家可能已经知道这一技巧。 但是,对于一些年轻的杰迪斯来说,关于部队的这个小秘密可以提供帮助。
享受MS Access骗术的这个小窍门.....
From: https://bytes.com/topic/access/insights/961386-using-foreign-keys-value-tables-orderby-property