Giúp kiểm tra -Sử dụng select sql để lấy tổng hợp dữ liệu từ file đóng

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Chào cả nhà!
Mình sử dụng code select sql của thầy Ndu để tổng hợp dữ liệu từ các file con RF1.xlsx, RF2.xlsx, RF176.xlsx…. vào file tonghop – BK.xlsm
Code chạy ok nhưng dữ liệu thì ko như ý.
2742
Trong file tonghop.xlsm có sheet ddfile để lấy đường dẫn file con cần tổng hợp, sheet Tonghop để tổng hợp các file con có đường dẫn trên sheet ddfile.
Cả nhà có thể giúp sửa code để có thế lấy được toàn vẹn dữ liệu không ah. Trường hợp này em nghĩ là do file con có vấn đề.
Vui lòng tải về file kèm.
Xin cảm ơn!

Tham khảo bài viết ở Link sau:
[URL='www.giaiphapexcel.com/diendan/threads/g%E1%BB%99p-nhi%E1%BB%81u-file-con-th%C3%A0nh-m%E1%BB%99t-file-t%E1%BB%95ng.133731/']www.giaiphapexcel.com/diendan/threads/gộp-nhiều-file-con-thành-một-file-tổng.133731/

[URL='www.giaiphapexcel.com/diendan/threads/t%E1%BB%95ng-h%E1%BB%A3p-d%E1%BB%AF-li%E1%BB%87u-t%E1%BB%AB-nhi%E1%BB%81u-file-tsv-ho%E1%BA%B7c-excel-th%C3%A0nh-1-file-theo-tr%C3%ACnh-t%E1%BB%B1.132853/']www.giaiphapexcel.com/diendan/threads/tổng-hợp-dữ-liệu-từ-nhiều-file-tsv-hoặc-excel-thành-1-file-theo-trình-tự.132853/

[URL='www.giaiphapexcel.com/diendan/threads/l%E1%BA%A5y-d%E1%BB%AF-li%E1%BB%87u-t%E1%BB%AB-nhi%E1%BB%81u-file-kh%C3%B4ng-c%E1%BA%A7n-m%E1%BB%9F-file.131812/']www.giaiphapexcel.com/diendan/threads/lấy-dữ-liệu-từ-nhiều-file-không-cần-mở-file.131812/

[URL='www.giaiphapexcel.com/diendan/threads/t%E1%BB%95ng-h%E1%BB%A3i-d%E1%BB%AF-li%E1%BB%87u-t%E1%BB%AB-nhi%E1%BB%81u-file-excel.128768/']www.giaiphapexcel.com/diendan/threads/tổng-hợi-dữ-liệu-từ-nhiều-file-excel.128768/

[URL='www.giaiphapexcel.com/diendan/threads/nh%E1%BB%9D-gi%C3%BAp-macro-t%E1%BB%95ng-h%E1%BB%A3p-d%E1%BB%AF-li%E1%BB%87u-t%E1%BB%AB-nhi%E1%BB%81u-file.127932/']www.giaiphapexcel.com/diendan/threads/nhờ-giúp-macro-tổng-hợp-dữ-liệu-từ-nhiều-file.127932/

[URL='www.giaiphapexcel.com/diendan/threads/vba-g%E1%BB%99p-sheet-t%E1%BB%AB-nhi%E1%BB%81u-file-v%C3%A0o-1-file.126102/']www.giaiphapexcel.com/diendan/threads/vba-gộp-sheet-từ-nhiều-file-vào-1-file.126102/

Em đã làm thành công bằng cách mở file lần lượt file rồi copy sau đó đóng lại thì dữ liệu ok nhưng khi phải xử lý khoảng 2500 file thì mất khoảng gần 2 giờ đồng hồ. trong khi sử dụng hàm getdata của thầy Ndu thì chỉ mất khoảng 10 phút nhưng dữ liệu khi sử dụng câu lệnh select sql lại bị như hình trên. Xin hỏi có cách nào xử lý được không ah.

Để tránh đọc thiếu dữ liệu như trường hợp của bạn thì bạn sử dụng thêm IMEX = 1. Nếu bạn không cho tham số này thì nó sẽ lấy kiểu dữ liệu theo 8 dòng đầu, với cột C của bạn thì 3 dòng đầu là text, 5 dòng sau là số nên ADO sẽ hiểu cột C của bạn là cột số và chỉ lấy giá trị số, nên 3 dòng dữ liệu của bạn sẽ trống
HDR=No;IMEX=1"";"

2 giờ = 7200 giây. Cho 2500 files, là dưới 3 giây mỗi file. Gồm chọn file, mở ra, copy, paste, đóng lại.
10 phút = 600 giây. Là dưới 1/4 giây mỗi file. Gồm kết nối, truy vấn (ADO dò dữ liệu, đọc, và nhét vào recordset), sau đó trút recordset vào sheet.
Phải nói là cách nào cũng toàn là hàng khủng.

Đánh vật với đám code xong rút ra 1 điều là phạm vi dữ liệu truy vấn được giới hạn càng chính xác thì kết quả query sẽ đúng hơn.
Cho quá phạm vi thì anh Ado cũng trả về những cái quá phạm vi (thường là oánh 0) hoặc khuyết dữ liệu như bạn đề cập. Còn nếu cho phạm vi không phủ hết bảng dữ liệu thì nó cũng trả về kết quả thiếu.

Cụ thể nếu tôi query trong phạm vi B6:R11 thì dữ liệu đủ, còn nhiều hơn 11 thì khuyết như bạn gặp. Còn tại sao thì bó tay!?

Hy vọng nguyên nhân chỉ có bấy nhiêu

Dùng cách mở ra và copy dữ liệu rất ok. Đã test tới hơn 7000 file. nhưng phải đợi thời gian dài dài.

Để tránh đọc thiếu dữ liệu như trường hợp của bạn thì bạn sử dụng thêm IMEX = 1. Nếu bạn không cho tham số này thì nó sẽ lấy kiểu dữ liệu theo 8 dòng đầu, với cột C của bạn thì 3 dòng đầu là text, 5 dòng sau là số nên ADO sẽ hiểu cột C của bạn là cột số và chỉ lấy giá trị số, nên 3 dòng dữ liệu của bạn sẽ trống
HDR=No;IMEX=1"";"

Bạn viết rõ dòng này tích hợp vào câu lệnh sql dùm. Mình đọc ko hiểu nên điền vào chỗ nào trong câu lệnh.
Cảm ơn nhiều!

www.giaiphapexcel.com/diendan/threads/gi%C3%BAp-ki%E1%BB%83m-tra-s%E1%BB%AD-d%E1%BB%A5ng-select-sql-%C4%91%E1%BB%83-l%E1%BA%A5y-t%E1%BB%95ng-h%E1%BB%A3p-d%E1%BB%AF-li%E1%BB%87u-t%E1%BB%AB-file-%C4%91%C3%B3ng.137736/

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm