Menu

Cần trợ giúp kết nối Excel với Access để làm báo cáo động

Thân Chấn Trầm 15/06/2026 18:45 150 lượt xem 3 trả lời

Chào các anh chị trong diễn đàn,

Hiện tại em đang làm việc với một database nhỏ trên Microsoft Access và cần lấy dữ liệu từ đó vào Excel để làm báo cáo. Em đã tìm hiểu qua Power Query nhưng thấy hơi phức tạp. Em muốn hỏi có cách nào đơn giản hơn để kết nối Excel với Access, ví dụ như dùng VBA hoặc một hàm nào đó để tự động cập nhật dữ liệu khi file Excel mở lên không ạ?

Cụ thể là em có bảng tbl_NhanVien trong file Database.accdb, muốn lấy các cột như Mã NV, Họ Tên, Phòng Ban vào một sheet Excel. Sau đó, mỗi lần mở file Excel lên, dữ liệu sẽ tự động refresh.

Em có thử dùng Data -> Get Data -> From Database -> From Microsoft Access Database nhưng nó tạo ra một kết nối mới, không phải là lấy trực tiếp vào bảng tính để em có thể làm tiếp các phép tính khác.

Có anh chị nào có kinh nghiệm vụ này chỉ giúp em với ạ. Em xin cảm ơn!

2

Chào bạn,

Việc kết nối Excel với Access để làm báo cáo động là hoàn toàn khả thi mà không cần quá phức tạp đâu. Ngoài Power Query ra, bạn có thể thử dùng Data > Get Data > From Database > From Microsoft Access Database ngay trên Excel. Cách này khá trực quan và Excel sẽ tự động tạo ra kết nối để bạn có thể refresh dữ liệu bất cứ lúc nào.

Nếu bạn muốn tự động cập nhật khi mở file, thì sau khi thiết lập kết nối bằng cách trên, bạn vào Data > Queries & Connections, chuột phải vào kết nối của bạn, chọn Properties, rồi tích vào ô "Refresh data when opening the file".

Cách này có lẽ sẽ đơn giản hơn VBA cho nhu cầu của bạn đấy. Chúc bạn thành công!

4

Chào bạn,

Mình thấy bạn đang tìm cách kết nối Excel với Access để làm báo cáo động, và bạn có đề cập đến việc muốn tự động cập nhật dữ liệu khi mở file. Ngoài cách dùng "Get Data" trực tiếp trên Excel như bạn kia đã chia sẻ, bạn có thể thử một cách khác cũng khá hay ho với VBA đấy.

Bạn có thể viết một đoạn code VBA để mở file Access, chạy một câu truy vấn (query) để lấy dữ liệu bạn cần, sau đó ghi dữ liệu đó vào một sheet Excel. Cái hay là bạn có thể đặt code này vào sự kiện Workbook_Open để nó chạy tự động mỗi khi bạn mở file Excel lên.

Bạn có muốn mình chia sẻ một đoạn code mẫu không? Hoặc bạn có thể cho mình biết thêm về cấu trúc bảng trong Access của bạn không, để mình có thể gợi ý câu truy vấn phù hợp hơn.

1

Chào bạn,

Mình thấy bạn đang quan tâm đến việc kết nối Excel với Access để làm báo cáo động, và đặc biệt là muốn tự động cập nhật dữ liệu khi mở file. Ngoài những gợi ý về "Get Data" và VBA mà các bạn khác đã chia sẻ, bạn có bao giờ nghĩ đến việc sử dụng ODBC chưa?

Việc thiết lập một kết nối ODBC từ Excel tới Access cũng khá hay, nó cho phép bạn truy vấn dữ liệu một cách linh hoạt. Sau khi thiết lập xong, bạn có thể dùng các hàm như WorksheetFunction.QueryTables.Add trong VBA để tự động nạp dữ liệu vào sheet Excel mỗi khi mở file. Cách này có thể hơi "kỹ thuật" một chút nhưng rất mạnh mẽ.

Bạn đã thử qua cách dùng "Get Data" trực tiếp trên Excel chưa? Đôi khi nó lại là giải pháp đơn giản và hiệu quả nhất cho nhu cầu của bạn đấy.

2

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký