Microsoft Access 2010 nghe thì có vẻ hơi “cổ điển”, nhưng thú thật nhé, với những ai làm việc với dữ liệu vừa và nhỏ thì nó vẫn là một công cụ cực kỳ tiện lợi. Nhiều người dùng Access chỉ để nhập dữ liệu, tạo form, in báo cáo… rồi dừng lại ở đó. Nhưng phần thú vị nhất – và cũng mạnh mẽ nhất – lại nằm ở Query, đặc biệt là Query Join và các thao tác lọc dữ liệu.

Bạn đã bao giờ tự hỏi: làm sao để kết hợp thông tin từ nhiều bảng lại với nhau chỉ trong một lần xem? Hoặc làm sao để lọc ra đúng những gì mình cần giữa hàng nghìn dòng dữ liệu? Nếu câu trả lời là “có” thì bài viết này dành cho bạn.

1. Query Join trong Access 2010 là gì và vì sao nó quan trọng?

Trước khi đi sâu vào cách làm, ta cần hiểu một chút bản chất. Trong Access, dữ liệu thường được chia thành nhiều bảng (table) để quản lý cho gọn gàng. Ví dụ:

  • Bảng KhachHang

  • Bảng DonHang

  • Bảng SanPham

Mỗi bảng giữ một phần thông tin. Nhưng khi bạn muốn xem: Khách hàng nào đã mua sản phẩm gì, vào ngày nào? – thì lúc này chỉ một bảng thôi là không đủ.

Đây chính là lúc Query Join xuất hiện.

Query Join cho phép bạn kết nối các bảng lại với nhau dựa trên mối quan hệ giữa chúng. Thông thường, sự liên kết này dựa vào khóa chính (Primary Key) và khóa ngoại (Foreign Key). Nghe hơi “kỹ thuật” một chút, nhưng thực ra thao tác lại không hề phức tạp.

Nói vui một chút, Join giống như việc bạn nối hai mảnh ghép Lego lại với nhau. Nếu khớp đúng chỗ, mọi thứ sẽ thành một cấu trúc hoàn chỉnh.

Cách Thực Hiện Query Join Và Lọc Dữ Liệu Trong Access 2010

2. Cách tạo Query Join bằng Query Design

Bây giờ đi vào phần thực hành nhé. Đừng lo, chỉ vài bước là bạn làm được.

Bước 1: Mở Query Design

  • Vào tab Create

  • Chọn Query Design

  • Hộp thoại Show Table xuất hiện → thêm các bảng bạn muốn join

Ví dụ: chọn bảng KhachHang và DonHang.

Ngay khi thêm vào, bạn sẽ thấy hai bảng nằm trong cửa sổ thiết kế. Nếu trước đó bạn đã thiết lập Relationship trong Database Tools, Access sẽ tự động nối hai bảng bằng một đường liên kết. Nếu chưa có? Không sao cả.

Bước 2: Tạo liên kết thủ công

Chỉ cần kéo trường liên quan từ bảng này sang bảng kia.

Ví dụ:

  • Kéo MaKhachHang từ bảng KhachHang

  • Thả vào MaKhachHang của bảng DonHang

Ngay lập tức một đường nối xuất hiện. Thế là xong phần join cơ bản rồi đấy!

Bước 3: Chọn kiểu Join

Nhiều người bỏ qua bước này, nhưng thật ra nó rất quan trọng.

  • Click đúp vào đường nối giữa hai bảng.

  • Hộp thoại Join Properties xuất hiện.

Bạn sẽ thấy 3 lựa chọn:

  1. Chỉ lấy bản ghi khớp ở cả hai bảng (Inner Join)

  2. Lấy tất cả bản ghi bảng trái và bản ghi khớp bảng phải (Left Join)

  3. Lấy tất cả bản ghi bảng phải và bản ghi khớp bảng trái (Right Join)

Thường thì chúng ta dùng Inner Join. Nhưng nếu bạn muốn xem cả khách hàng chưa có đơn hàng thì sao? Khi đó Left Join mới là “chân ái”.

Thú vị không? Chỉ một lựa chọn nhỏ mà kết quả có thể khác hoàn toàn.

3. Lọc dữ liệu trong Query – Nghệ thuật chọn đúng thứ mình cần

Giờ giả sử bạn đã join xong. Nhưng dữ liệu trả về quá nhiều. Hàng trăm, hàng nghìn dòng. Nhìn thôi đã thấy… mệt.

Vậy phải làm sao?

Câu trả lời nằm ở Criteria (điều kiện lọc).

Lọc đơn giản bằng Criteria

Trong lưới thiết kế (Design Grid), mỗi cột sẽ có dòng Criteria bên dưới.

Ví dụ:

  • Ở cột NgayDatHang, nhập:

    >#01/01/2024#

Kết quả: chỉ những đơn hàng sau ngày 01/01/2024 mới được hiển thị.

Hoặc nếu muốn lọc theo tên khách hàng:

Like “*Nguyen*”

Access sẽ trả về tất cả khách hàng có chứa chữ “Nguyen” trong tên. Rất linh hoạt!

Cách Thực Hiện Query Join Và Lọc Dữ Liệu Trong Access 2010

4. Kết hợp nhiều điều kiện lọc – Khi dữ liệu cần “kỹ tính” hơn

Đôi khi chỉ một điều kiện là chưa đủ. Ví dụ:

  • Đơn hàng sau 01/01/2024

  • Và tổng tiền > 5.000.000

  • Và thuộc khu vực Hà Nội

Lúc này bạn có thể đặt các điều kiện cùng một dòng Criteria để tạo điều kiện AND.

Nếu muốn điều kiện OR thì sao?

Chỉ cần nhập điều kiện thứ hai xuống dòng Or bên dưới.

Nghe có vẻ đơn giản, nhưng đây là điểm mà nhiều người hay nhầm. Nhập sai vị trí là kết quả khác hẳn. Vì vậy, khi query cho ra kết quả “lạ lạ”, đừng vội hoảng. Hãy kiểm tra lại dòng Criteria trước đã.

5. Sử dụng Query SQL View – Khi bạn muốn kiểm soát sâu hơn

Nếu bạn thích nhìn câu lệnh rõ ràng, Access 2010 cho phép chuyển sang SQL View.

Chỉ cần:

  • Vào tab Design

  • Chọn View → SQL View

Bạn sẽ thấy dạng câu lệnh như:

SELECT KhachHang.TenKhachHang, DonHang.NgayDatHang
FROM KhachHang
INNER JOIN DonHang
ON KhachHang.MaKhachHang = DonHang.MaKhachHang
WHERE DonHang.NgayDatHang > #01/01/2024#;

Nhìn có vẻ “ngầu” hơn hẳn đúng không?

Làm việc ở SQL View giúp bạn hiểu rõ bản chất Join và điều kiện lọc. Thậm chí đôi khi viết tay còn nhanh hơn kéo thả.

Tất nhiên, nếu bạn chưa quen SQL thì cứ bắt đầu bằng Query Design. Không cần phải vội.

Cách Thực Hiện Query Join Và Lọc Dữ Liệu Trong Access 2010

6. Một số lỗi thường gặp khi Join và lọc dữ liệu

Không ai tránh khỏi sai sót cả. Và Access cũng thế.

❌ Join sai trường

Ví dụ join MaKhachHang với MaDonHang. Kết quả? Hoặc không ra gì, hoặc ra toàn dữ liệu vô nghĩa. Vì vậy, hãy đảm bảo bạn nối đúng trường có cùng ý nghĩa.

❌ Kiểu dữ liệu không khớp

Một bên là Text, bên kia là Number. Access sẽ báo lỗi hoặc không cho join. Khi gặp tình huống này, hãy kiểm tra Data Type trong Table Design.

❌ Lọc sai định dạng ngày

Access dùng dấu # cho ngày tháng. Nếu bạn quên, query sẽ không chạy đúng.

Những lỗi này nghe nhỏ thôi, nhưng nếu không để ý, bạn có thể mất cả buổi chỉ để “ngồi ngơ ngác” nhìn màn hình.

7. Mẹo nhỏ để Query chạy nhanh hơn

Có vài kinh nghiệm thực tế mà không phải tài liệu nào cũng nói rõ:

  • Tạo Index cho các trường thường xuyên dùng để join.

  • Không chọn tất cả các trường nếu không cần thiết.

  • Hạn chế dùng quá nhiều điều kiện phức tạp trong một query duy nhất.

Đôi khi, chia nhỏ thành nhiều query rồi kết hợp lại sẽ hiệu quả hơn. Nghe có vẻ vòng vo, nhưng thực tế lại nhẹ máy hơn nhiều.

Cách Thực Hiện Query Join Và Lọc Dữ Liệu Trong Access 2010

8. Kết luận – Khi bạn làm chủ được Query, dữ liệu sẽ “nghe lời”

Query Join và lọc dữ liệu trong Access 2010 không hề đáng sợ như nhiều người nghĩ. Thật ra, một khi đã hiểu bản chất và thực hành vài lần, bạn sẽ thấy nó khá trực quan. Thậm chí còn thú vị nữa là đằng khác.

Dữ liệu vốn dĩ rất “im lặng”. Nó chỉ nằm đó. Nhưng khi bạn biết cách join và lọc đúng cách, dữ liệu bắt đầu kể câu chuyện của nó. Khách hàng nào mua nhiều nhất? Sản phẩm nào bán chạy? Khu vực nào doanh thu cao?

Tất cả đều nằm trong vài cú click – hoặc vài dòng SQL.

Vậy nên nếu hôm nay bạn còn đang ngần ngại với Query Join, hãy thử làm một query mới. Biết đâu, bạn sẽ khám phá ra nhiều điều hay ho từ chính cơ sở dữ liệu của mình. Và lúc đó, Access 2010 sẽ không còn là một phần mềm “khó nhằn” nữa, mà là một trợ thủ đắc lực thật sự.

Rate this post