Menu

Tự động cập nhật dữ liệu Excel từ SQL Server mà không cần Power Query?

Bàn Sĩ Đông 12/06/2026 07:28 592 lượt xem 1 trả lời

Chào mọi người,

Mình đang làm việc với một cơ sở dữ liệu khá lớn trên SQL Server và cần lấy dữ liệu này để xử lý trong Excel. Mình đã xem qua các bài viết về Power Query nhưng vì lý do kỹ thuật và yêu cầu bảo mật của công ty nên mình không thể sử dụng Power Query để kết nối trực tiếp được.

Mình đã thử tìm hiểu về VBA và các hàm ADO để kết nối. Hiện tại mình đã viết được một đoạn code VBA cơ bản để lấy dữ liệu từ một bảng duy nhất, nhưng gặp khó khăn khi muốn:

  • Lấy dữ liệu từ nhiều bảng, có áp dụng JOIN.
  • Tự động cập nhật dữ liệu khi file Excel mở lên mà không cần chạy macro thủ công.
  • Xử lý trường hợp dữ liệu thay đổi (thêm, sửa, xóa) ở SQL Server thì Excel có thể cập nhật theo.

Có anh em nào có kinh nghiệm xử lý vấn đề tương tự hoặc có thể chỉ dẫn mình hướng đi không? Mình đang tìm cách để tự động hóa hoàn toàn quy trình này mà không phụ thuộc vào Power Query.

Rất mong nhận được sự giúp đỡ từ cộng đồng!

0

Chào bạn,

Vấn đề của bạn khá hay đó, không dùng Power Query mà vẫn muốn tự động cập nhật dữ liệu từ SQL Server. Mình hiểu là có những ràng buộc về bảo mật.

Về phần lấy dữ liệu từ nhiều bảng và áp dụng JOIN, bạn đã đi đúng hướng với VBA và ADO rồi. Bạn có thể thử xem xét các cách sau:

  • Viết câu lệnh SQL phức tạp hơn: Thay vì chỉ lấy một bảng, bạn có thể viết câu lệnh SQL để thực hiện JOIN ngay trên SQL Server rồi mới trả về kết quả cho Excel. Điều này sẽ giúp bạn tận dụng sức mạnh của cơ sở dữ liệu.
  • Lặp qua các bảng: Nếu việc viết một câu lệnh JOIN lớn quá phức tạp, bạn có thể viết code VBA để lặp qua từng bảng, lấy dữ liệu về, rồi dùng VBA để thực hiện JOIN trong Excel. Tuy nhiên, cách này có thể chậm hơn nếu dữ liệu quá lớn.

Bạn có thể chia sẻ rõ hơn về cấu trúc các bảng và cách bạn muốn JOIN không? Có thể mình sẽ có gợi ý chi tiết hơn.

1

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

Đăng nhập Đăng ký