可以使用 UniqueRecords 属性指定是否根据基础数据源中的所有字段(而不是查询中存在的字段),仅返回唯一记录。
注意: UniqueRecords 属性仅适用于追加和生成表动作查询以及选择查询。
设置
UniqueRecords 属性使用以下设置。
设置 |
说明 |
---|---|
是 |
不返回重复记录。 |
否 |
(默认)返回重复记录。 |
可以在查询的属性表或查询窗口的 SQL 视图中设置 UniqueRecords 属性。
注意: 在通过使用 SQL 语句创建新查询时,设置此属性。 DISTINCTROW 谓词对应于 UniqueRecords 属性设置。 DISTINCT 谓词对应于 UniqueValues 属性设置。
备注
要省略基于整个重复记录(而不仅是重复字段)的数据时,可以使用 UniqueRecords 属性。 只要记录中的一个字段中的值不同于另一条记录中同一字段中的值,Access 就会认为该记录是唯一的。
UniqueRecords 属性仅当在查询中使用一个以上的表并且选择来自查询中所用表的字段时起作用。 如果查询只包含一个表,则忽略 UniqueRecords 属性。
UniqueRecords 和 UniqueValues 属性的相关之处在于一次只能将其中一个设置为“是”。 例如,将 UniqueRecords 设为“是”时,Access 自动将 UniqueValues 设为“否”。 但可以将它们都设置为“否”。 这两个属性都设置为“否”时,返回所有记录。
示例
本例中的查询返回客户表中至少有一个订单表订单的客户的列表。
“客户”表
公司名 |
客户 ID |
---|---|
Ernst Handel |
ERNSH |
Familia Arquibaldo |
FAMIA |
FISSA Fabrica Inter. 萨尔奇查斯 S.A. |
FISSA |
Folies gourmandes |
FOLIG |
订单表
客户 ID |
订单 ID |
---|---|
ERNSH |
10698 |
FAMIA |
10512 |
FAMIA |
10725 |
FOLIG |
10763 |
FOLIG |
10408 |
以下 SQL 语句返回下表中的客户名:
SELECT DISTINCTROW Customers.CompanyName, Customers.CustomerID
FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;
返回的客户 |
客户 ID |
---|---|
Ernst Handel |
ERNSH |
Familia Arquibaldo |
FAMIA |
Folies gourmandes |
FOLIG |