Truy vấn lặp dữ liệu cho phép bạn tìm kiếm và nhận dạng các bản ghi bị trùng lặp trong cùng 1 bảng dữ liệu hoặc các bảng khác nhau. Một bản ghi bị lặp tức là bản ghi đó coi 1 đối tượng hoặc một người giống với nó thành một bản ghi khác.
Không phải tất cả các bản ghi chứa cùng một nội dung thì bị coi là trùng lặp. Chẳng hạn, ta có thể lấy ví dụ về các bản ghi về 2 đơn hàng chứa các mặt hàng giống nhau nhưng lại được đặt vào 2 ngày khác hẳn. Ngược lại, không phải tất cả các bản ghi bị trùng lặp nhất thiết phải chứa nội dung giống y hệt nhau. Ví dụ, ta có 2 bản ghi về thông tin khách hàng trong đó đều đề cập đến cùng 1 người nhưng lại với 2 địa chỉ liên hệ khác nhau. Lúc này bản ghi chứa địa chỉ liên hệ cũ của khách hàng đó sẽ được coi là bản ghi bị trùng lặp.
Vì sao ta cần phải xóa bỏ bản ghi bị trùng lặp? Hãy thử xem xét ví dụ sau đây. Nếu như ta có quá nhiều bản ghi cùng đề cập đến 1 khách hàng nào đó, sẽ rất khó để tra cứu được lịch sử đơn đặt hàng của vị khách này do mỗi đơn hàng lại được lưu vào một bản ghi khác nhau mà không được liên kết lại. Ta thậm chí có thể gặp phải nguy cơ giao hàng nhầm địa chỉ nếu như khách hàng đó trong quá trình điền thông tin liên lạc lại lựa chọn bản ghi với địa chỉ cũ trong đó. Từ đó, dễ thấy rằng việc lưu trữ các bản ghi bị trùng lặp sẽ gây ảnh hưởng rất lớn đến tính hiệu quả và sự thống nhất của toàn bộ cơ sở dữ liệu chung.
May mắn là Access rất hỗ trợ người dùng trong việc tìm kiếm và phát hiện vị trí các bản ghi bị trùng lặp. Lưu ý rằng Access không thể tự động xóa bản ghi bị lặp thay bạn, cũng như không thể xác định được cho bạn đâu là bản ghi mới nhất – bạn phải tự phải thực hiện tác vụ này. Nếu bạn đã quen làm việc với dữ liệu trong cơ sở dữ liệu chung thì công việc này hoàn toàn có thể thực hiện được.
Để tạo ra câu truy vấn bản ghi trùng lặp, ta sẽ thực hiện các bước sau:
Bước 1: Chọn tab Create trên thanh Ribbon, tìm đến mục Queries, sau đó click vào lệnh mở trình cài đặt Query Wizard
Bước 2: Hộp thoại New Query sẽ xuất hiện. Chọn “Find Duplicates Query Wizard” trong danh sách các lựa chọn truy vấn, sau đó click OK
Bước 3: Lựa chọn bảng dữ liệu mà bạn muốn tìm kiếm bản ghi bị lặp, sau đó click Next. Chẳng hạn, ta cần tìm các bản ghi thông tin khách hàng bị trùng lặp, vì vậy ta sẽ lựa chọn bảng Customers
Bước 4: Chọn các trường dữ liệu chứa các thông tin mà bạn cho rằng bị trùng lặp, sau đó click vào nút mũi tên sang phải để đẩy chúng sang bảng bên phải. Chỉ lựa chọn các trường không cùng xuất hiện trong các bản ghi không bị lặp mà thôi. Chẳng hạn, bởi vì ta đang cần tìm tên các khách hàng bị trùng lặp nên ta sẽ chỉ chọn 2 trường First Name (Tên) và Last Name (Họ), lý do là vì khả năng những người đặt cùng 1 đơn hàng nhưng có cả tên và họ trùng nhau là cực kỳ thấp.
Bước 5: Sau khi hoàn tất việc thêm các trường nội dung lọc, click Next
Bước 6: Lựa chọn thêm các trường nội dung được hiển thị ở bảng thông báo kết quả truy vấn. Các trường này giúp bạn có thể phân biệt các bản ghi bị lặp với nhau và chọn ra bản ghi bạn muốn giữ lại. Trong ví dụ này, ta sẽ thêm vào tất cả các trường có liên quan đến địa chỉ liên hệ của khách hàng, kèm theo trường số điện thoại nữa bởi vì các bản ghi tuy có sự trùng lặp về tên khách hàng nhưng chắc chắn sẽ có sự khác biệt về các thông tin cá nhân khác. Sau khi hoàn tất, click Next
Bước 7: Access sẽ tự động đề xuất tên gọi cho truy vấn của bạn, nhưng bạn hoàn toàn có thể tự đặt một cái tên khác. Sau khi hoàn tất việc đặt tên cho truy vấn, click Finish để chạy tác vụ truy vấn của bạn.
Bước 8: Nếu Access phát hiện ra bất cứ bản ghi bị trùng lặp nào, chúng sẽ được ghi rõ trong bảng kết quả như hình ở dưới. Kiểm tra lại các bản ghi và xóa đi bất cứ bản ghi cũ hoặc sai thông tin nào mà bạn thấy.
Một vài lời khuyên đối với việc xử lý bản ghi bị trùng lặp