Właściwość UniqueRecords służy do określania, czy mają być zwracane tylko unikatowe rekordy na podstawie wszystkich pól zawartych w podstawowym źródle danych, a nie tylko na podstawie pól obecnych w samym zapytaniu.
Uwaga: Właściwość UniqueRecords dotyczy tylko zapytań funkcjonalnych tworzących tabele i dołączających oraz zapytań wybierających.
Ustawienie
Właściwość UniqueRecords może przybierać następujące ustawienia.
Ustawienie |
Opis |
Yes (Tak) |
Duplikaty rekordów nie są zwracane. |
No (Nie) |
Ustawienie domyślne. Duplikaty rekordów są zwracane. |
Właściwość UniqueRecords można ustawić w arkuszu właściwości zapytania lub w widok SQLokno zapytania.
Uwaga: Tę właściwość można ustawić podczas tworzenia nowego zapytania przy użyciu instrukcji SQL. Predykat DISTINCTROW odpowiada ustawieniu właściwości UniqueRecords. Predykat DISTINCT odpowiada ustawieniu właściwości UniqueValues.
Spostrzeżenia
Za pomocą właściwości UniqueRecords można pominąć dane oparte na duplikatach całych rekordów, a nie tylko na duplikatach pól. Program Microsoft Office Access 2007 traktuje rekord jako unikatowy, jeśli wartość w dowolnym polu rekordu różni się od wartości w tym samym polu pozostałych rekordów.
Właściwość UniqueRecords działa tylko wtedy, gdy w zapytaniu zostanie użyta więcej niż jedna tabela i zostaną wybrane pola z tabel użytych w zapytaniu. Właściwość UniqueRecords jest ignorowana, jeśli zapytanie obejmuje tylko jedną tabelę.
Właściwości UniqueRecords i UniqueValues są powiązane w taki sposób, że w danej chwili tylko jedna z nich może mieć ustawioną wartość Yes (Tak). Gdy na przykład dla właściwości UniqueRecords zostanie ustawiona wartość Yes (Tak), program Access automatycznie ustawi dla właściwości UniqueValues wartość No (Nie). Można jednak dla obu właściwości ustawić wartość No. Gdy obie właściwości mają wartość No, zwracane są wszystkie rekordy.
Przykład
Zapytanie z tego przykładu zwraca listę klientów z tabeli Customers, którym odpowiada co najmniej jedno zamówienie w tabeli Orders.
Tabela Customers (Klienci)
Company name (Nazwa firmy) |
Customer ID (Identyfikator klienta) |
Ernst Handel |
ERNSH |
Familia Arquibaldo |
FAMIA |
FISSA Fabrica Inter. Salchichas S.A. |
FISSA |
Folies gourmandes |
FOLIG |
Tabela Orders (Zamówienia)
Customer ID (Identyfikator klienta) |
Identyfikator zamówienia |
ERNSH |
10698 |
FAMIA |
10512 |
FAMIA |
10725 |
FOLIG |
10763 |
FOLIG |
10408 |
Poniższa instrukcja SQL zwraca nazwy klientów z poniższej tabeli:
SELECT DISTINCTROW Customers.CompanyName, Customers.CustomerID
FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;
Zwróceni klienci |
Customer ID (Identyfikator klienta) |
Ernst Handel |
ERNSH |
Familia Arquibaldo |
FAMIA |
Folies gourmandes |
FOLIG |