SQL FOR VBA WITH SQL_SELECT...UNION HOẶC SQL_SELECT... UNION ALL

Nội dung được viết bởi Nguyen thi huyen trang

Xem tài liệu đính kèm VBA for SQL references hoặc VBA for connection with SQL

SELECT [tên cột] (nhiều cột)
FROM [tên bảng tính 1] 
UNION (UNION ALL)
SELECT [tên cột] (nhiều cột) FROM [tên bảng tính 2] 

Ở đây sẽ hiện ra kết quả của cả 2 bảng tính trong 1 cùng 1 sheets dữ liệu. Nghĩa là bạn có thể gộp các bảng tính từ nhiều sheets vào trong 1 sheet (1 bảng tính)

Từ khóa Union: sẽ cho kết quả là các giá trị duy nhất theo mặc định. Còn từ khóa Union All: sẽ cho kết quả là tất cả các cột của cả 2 bảng tính

Một số lưu ý quan trọng khi sử dụng Union (Union All)

  • Phải có chung tên trường (tên các cột)
  • Số lượng cột lấy ra trong hai hoặc nhiều bảng tính phải bằng nhau (nghĩa là bảng tính 1 lấy ra 4 cột thì bảng tính 2 cũng phải lấy ra 4 cột)
  • Mỗi cột trong câu lệnh Select phải được sắp xếp theo thứ tự giống nhau

Bước 1: Đặt tên cho các bảng tính trong từng sheets phía dưới và tên các trường dữ liệu

Bước 2: Viết câu lệnh SQL theo cú pháp Select… Union/ Union All

SELECT  [Customers].[ID] , [Customers].[Company],   [Customers].[Last Name], [Customers].[First Name], [Customers].[Business Phone] FROM [Customers]
UNION
SELECT [Customers_2].[ID] , [Customers_2].[Company],  [Customers_2].[Last Name], [Customers_2].[First Name], [Customers_2].[Business Phone] FROM [Customers_2]

TỪ KHÓA SELECT (1): CHỌN CÁC TRƯỜNG DỮ LIỆU [ID], [Company], [Last Name], [First Name] và [Business Phone] trong bảng [CUSTOMERS] (Bảng 1)

TỪ KHÓA SELECT (2): CHỌN CÁC TRƯỜNG DỮ LIỆU [ID], [Company], [Last Name], [First Name] và [Business Phone] trong bảng [CUSTOMERS_2] (Bảng 2)

TỪ KHÓA UNION: GỘP HAI BẢNG CUSTOMERS CÓ CẤU TRÚC GIỐNG NHAU TỪ 2 SHEETS VÀO TRONG 1 SHEET.

Bước 3: Thực hiện câu lệnh SQL để gộp thông tin Mã Khách hàng, Tên Gọi, Tên Đệm và Số điện thoại công ty từ Bảng [Customers] (1) và cũng thông tin như vậy từ Bảng [Customers_2] (2) vào chung 1 sheets Kết quả. Và được dữ liệu hiện thị như sau:

TA CŨNG CÓ THỂ LẤY TẤT CẢ DỮ LIỆU CÁC CỘT TRONG 2 BẢNG TÍNH TRÊN VỚI LỆNH UNION ALL

SELECT  *  FROM [Customers] UNION ALL SELECT * FROM [Customers_2]

Nếu công việc của bạn liên quan nhiều đến quản lý, phân tích dữ liệu và làm báo cáo trên bảng tính thì giỏi Excel thôi chưa đủ. Nếu chỉ dùng Excel, bạn sẽ thường xuyên phải OT đến mỗi kỳ làm báo cáo, stress vì sai dữ liệu do nhập thủ công, hay gặp vấn đề các hàm load chậm do dữ liệu quá nặng,...

Có lẽ bạn đã từng nghe ở đâu đó về công cụ lập trình VBA trên Excel, giúp bạn tiết kiệm tối đa thời gian làm việc nhờ làm báo cáo tự động, phân tích và xử lý số liệu chính xác tuyệt đối, đặc biệt công cần lọ mọ sửa thủ công,...

Nhưng bạn không dám nghĩ một ngày nào đó mình sẽ dùng VBA bởi vì mình không biết lập trình, sửa code và gỡ lỗi mã. Tin mình đi, bạn hoàn toàn có thể thành thạo công cụ này ngay cả khi không giỏi Excel, không biết lập trình với khóa học VBAG01: Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA tại Gitiho.

Tất tần tật những kiến thức từ cơ bản đến nâng cao về cách sử dụng VBA trong Excel sẽ được đề cập khiến mọi thao tác thủ công trên Excel gần như được loại bỏ hoàn toàn. 

Hãy nhấn vào Học thử hoặc Đăng ký ngay để cảm nhận sự “vi diệu” mà VBA mang lại cho công việc của bạn nhé!

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông