您可以使用 UniqueRecords 屬性來指定是否只根據基礎資料來源中的所有欄位傳回不重複的記錄,而不是將查詢中所顯示的所有欄位列出。
附註: UniqueRecords 屬性僅適用於新增以及產生資料表動作的查詢與選取查詢。
設定
UniqueRecords 屬性使用以下設定。
設定 |
描述 |
---|---|
Yes |
不會傳回重複的記錄。 |
No |
(預設) 傳回重複的記錄。 |
您可以在查詢的屬性工作表中或查詢視窗的 SQL 檢視中設定 UniqueRecords 屬性。
附註: 您可以在建立查詢時使用 SQL 陳述式設定此屬性。 DISTINCTROW 述詞會對應至 UniqueRecords 屬性設定。 DISTINCT 述詞會對應至 UniqueValues 屬性設定。
備註
當您想要針對重複的記錄省略資料,而非只是重複的欄位時,您可以使用 UniqueRecords 屬性。 只要記錄中某個字段的值與另一筆記錄中相同欄位的值不同,Access 就會認為記錄是唯一的。
只有當您在查詢中使用多個資料表,並從查詢所用資料表中選取欄位時,UniqueRecords 屬性才會生效。 若查詢僅包含一個資料表,UniqueRecords 屬性會被忽略。
UniqueRecords 與 UniqueValues 屬性之所以相關,是因為每次只有其中一個屬性可設為 Yes。 例如,當您將 UniqueRecords 屬性設為 Yes 時,Access 會自動將 UniqueValues 屬性設為 No。 不過您可以將這兩者同時設為 No。 當兩個屬性都設為 No 時,系統會傳回所有記錄。
範例
此範例中的查詢會從客戶資料表傳回在訂單資料表中至少有一筆訂單的客戶名單。
客戶資料表
公司名稱 |
客戶識別碼 |
---|---|
Ernst Handel |
ERNSH |
Familia Arquibaldo |
FAMIA |
FISSA Fabrica Inter. Salchichas S.A. |
FISSA |
Folies gourmandes |
FOLIG |
訂單資料表
客戶識別碼 |
訂單識別碼 |
---|---|
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;
傳回的客戶 |
客戶識別碼 |
---|---|
Ernst Handel |
ERNSH |
Familia Arquibaldo |
FAMIA |
Folies gourmandes |
FOLIG |