Cách tạo truy vấn lặp dữ liệu trong Access 2016

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

Clicking the Query Wizard Command

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

Choosing to create a find duplicates query

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

Selecting the table to search for duplicates

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

Selecting the fields to search for duplicate information

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

Selecting the other fields to view in the results

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.

Naming the query

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.

Duplicate records in the query results

Một vài lời khuyên đối với việc xử lý bản ghi bị trùng lặp

  • Lưu lại câu truy vấn bản ghi trùng lặp và thường xuyên chạy tác vụ truy vấn
  • Kiểm tra trước những bản ghi có nguy cơ bị trùng lặp bằng cách nhìn vào dữ liệu được lấy từ các bảng dữ liệu khác. Bạn có thể làm được điều này bằng cách tìm theo mã số ID của từng bản ghi một trong mỗi bảng dữ liệu khác nhau. Liệu bản ghi này có liên kết với các đơn hàng quá cũ hay không, trong khi bản ghi khác lại chứa các đơn hàng mới hơn? Lúc này nhiều khả năng bản ghi thứ hai mới là bản ghi chuẩn nhất.
  • Sau khi đã xác định được đâu là bản ghi bị lặp cần phải xóa bỏ, hãy chắc chắn rằng bạn không để sót bất cứ thông tin nào mà mình cần. Trong ví dụ kia chẳng hạn, trước khi xóa bản ghi bị lặp đi thì ta cần tìm tất cả các đơn hàng có liên kết đến mã số ID của bản ghi đó và thay thế bằng mã số của bản ghi mới