Kiều Mạnh
I don't program, I beat code into submission!!!
- Tham gia
- 9/6/12
- Bài viết
- 5,538
- Được thích
- 4,132
- Giới tính
- Nam
Trên GPE này đâu đó họ giới thiệu sử dụng Open File + ADODB + DAO và Power query để tổng hợp dữ liệu nhiều Sheet vào 1 File vv...
Thì hôm nay Tôi giới thiệu với các Bạn 1 hàm tùy chỉnh duy nhất đã viết sẳn còn ta chỉ viết thêm hàm phụ hoặc khai báo chút là sử dụng tổng hợp cho 3 CSDL sau
1/ Cho Excel File: .xls; .xlsx; .xlsb; .xlsm
2/ Access File: .mdb; .accdb
3/ CSDL SQLite
Sử dụng FireDAC viết trên Delphi để thực hiện hàm trên
1/ vào link sau tải các File cần thiết về sử dụng hoặc link chữ ký của Tôi eBooks - Open Source
github.com
2/ Copy code sau vào và sử dụng
3/ Lưu ý code trên sẻ lỗi nếu tổng số dòng cần tổng hợp cộng lại lớn hơn 1048576 cho Excel 2010 to 365 là sẻ lỗi code
4/ Nếu ai có khả năng viết bất cứ ngôn ngữ nào khác có chức năng tương tự vui lòng úp bài tham gia cho vui
5/ Tôi nghĩ không biết Power query có thực hiện được như trên ko ... nếu được vui lòng tham gia chút
6/ trên này sẻ có nhiều bạn biết hoặc chưa biết CSDL SQLite là gì thì tôi Úp File phía dưới các bạn có thể tải về thử ... còn Excel và Access tin chắc là ai cũng biết và có ....
7/ Mọi vấn đề phát sinh ko liên quan chủ đề này vui lòng lập thớt mới trích dẫn link thớt này ta bàn tiếp
Xin cảm ơn
Thì hôm nay Tôi giới thiệu với các Bạn 1 hàm tùy chỉnh duy nhất đã viết sẳn còn ta chỉ viết thêm hàm phụ hoặc khai báo chút là sử dụng tổng hợp cho 3 CSDL sau
1/ Cho Excel File: .xls; .xlsx; .xlsb; .xlsm
2/ Access File: .mdb; .accdb
3/ CSDL SQLite
Sử dụng FireDAC viết trên Delphi để thực hiện hàm trên
1/ vào link sau tải các File cần thiết về sử dụng hoặc link chữ ký của Tôi eBooks - Open Source
GitHub - KieuManh366377/FireMySQL: FireMySQL
FireMySQL. Contribute to KieuManh366377/FireMySQL development by creating an account on GitHub.
2/ Copy code sau vào và sử dụng
Mã:
Sub TongHop_ListTableNames()
Dim SQL As String
Dim aPath As Variant
Dim Arr As Variant
Dim sArr() As String
Dim i As Long
Cells.Clear
Rem ========= Tuy chon lay List CSDL Sau
''aPath = "D:\Database_Server\DataBase_4.accdb"
''aPath = "D:\Database_Server\DataBase_2.mdb"
''aPath = "D:\Database_Server\DB_SQLite\QLBHPN.sqlite"
Rem aPath = "D:\Database_Server\Data.xlsx" ''*.xls,xlsb,xlsm,xlsx
Rem ========= Luu y se loi neu tong so dong lon hon so dong cua 1 Sheet 1048576
aPath = SelectFilesDialogA()
Rem =========
Arr = ListTableNamesA(aPath)
sArr = Split(Arr, vbLf)
Rem =========
For i = LBound(sArr) To UBound(sArr) - 1
Rem Debug.Print sArr(i)
SQL = "select * from " & sArr(i)
Debug.Print SQL
Call GetSQLDataBaseA(aPath, SQL, [A65536].End(3)(2), True) ''True = lay tieu de; False = ko lay tieu de
Next
End Sub
3/ Lưu ý code trên sẻ lỗi nếu tổng số dòng cần tổng hợp cộng lại lớn hơn 1048576 cho Excel 2010 to 365 là sẻ lỗi code
4/ Nếu ai có khả năng viết bất cứ ngôn ngữ nào khác có chức năng tương tự vui lòng úp bài tham gia cho vui
5/ Tôi nghĩ không biết Power query có thực hiện được như trên ko ... nếu được vui lòng tham gia chút

6/ trên này sẻ có nhiều bạn biết hoặc chưa biết CSDL SQLite là gì thì tôi Úp File phía dưới các bạn có thể tải về thử ... còn Excel và Access tin chắc là ai cũng biết và có ....
7/ Mọi vấn đề phát sinh ko liên quan chủ đề này vui lòng lập thớt mới trích dẫn link thớt này ta bàn tiếp
Xin cảm ơn
File đính kèm
Lần chỉnh sửa cuối: