Cách nhập dữ liệu từ nhiều accdb file vào 1 file excel

Liên hệ QC

Pham Dinh Ca

Thành viên mới
Tham gia
22/10/17
Bài viết
46
Được thích
1
Giới tính
Nam
Nghề nghiệp
Thất Nghiệp
Chào mọi người!

Mong mọi người giúp đỡ như tiêu đề ạ!

Mình có rất nhiều file accdb, và mình mong là có thể gộp dữ liệu trong các file accdb đó vào 1 file excel.

Mình xin đính kèm file accdb như dưới ạ!

Xin cảm ơn mọi người ạ!!!
 

File đính kèm

  • EOL.rar
    80.6 KB · Đọc: 12
Chào mọi người!

Mong mọi người giúp đỡ như tiêu đề ạ!

Mình có rất nhiều file accdb, và mình mong là có thể gộp dữ liệu trong các file accdb đó vào 1 file excel.

Mình xin đính kèm file accdb như dưới ạ!

Xin cảm ơn mọi người ạ!!!
thì copy rồi dán nó ra excel, hoặc xài links table thì nó sẽ cập nhật khi file access có cập nhật dữ liệu mới.
 
thì copy rồi dán nó ra excel, hoặc xài links table thì nó sẽ cập nhật khi file access có cập nhật dữ liệu mới.
Cảm ơn bạn đã chỉ dẫn!
Nhưng nếu copy xong dán vào excel thì lâu quá, vì mình có đến cả 1000 files như vậy.
Mình mong đợi cách làm nhanh chóng hơn ạ!
 
Chào mọi người!

Mong mọi người giúp đỡ như tiêu đề ạ!

Mình có rất nhiều file accdb, và mình mong là có thể gộp dữ liệu trong các file accdb đó vào 1 file excel.

Mình xin đính kèm file accdb như dưới ạ!

Xin cảm ơn mọi người ạ!!!
Dùng thử code này xem có được không? Nhớ bật thư viện như hình nhé.
Hinh.png
Mã:
Sub getDataFromAccess()
    Dim DBFullName As String
    Dim Connect As String, Source As String
    Dim Connection As ADODB.Connection
    Dim Recordset As ADODB.Recordset
    Dim i As Integer
    Dim Col As Integer
    Cells.Clear
    On Error Resume Next
    Set Connection = New ADODB.Connection
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = True
        .Filters.Clear
        .Filters.Add "Acces file", "*.accdb"
        If .Show = True Then
            For i = 1 To .SelectedItems.Count
                DBFullName = .SelectedItems(i)
                Connect = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & DBFullName & ";"
                Connection.Open ConnectionString:=Connect
                Set Recordset = New ADODB.Recordset
                Source = "SELECT * FROM Data"
                With Recordset
                    .Open Source:=Source, ActiveConnection:=Connection
                    If i = 1 Then
                        For Col = 0 To Recordset.Fields.Count - 1
                            Range("A1").Offset(0, Col).Value = Recordset.Fields(Col).Name
                        Next
                    End If
                    Range("A" & Sheet1.UsedRange.Rows.Count).Offset(1, 0).CopyFromRecordset Recordset
                End With
                Set Recordset = Nothing
                Connection.Close
            Next i
        End If
    End With
    Set Connection = Nothing
    ActiveSheet.Columns.AutoFit
End Sub
 
Dóc tổ.
Cả ngàn files Access đem đổ vào một file Excel thì mở sao lên?
 
Dóc tổ.
Cả ngàn files Access đem đổ vào một file Excel thì mở sao lên?
Mình không hỏi chơi bạn nhé!
Mình đi làm công ty, Data đc đẻ ra mỗi ngày 1 file của mỗi máy đo giống nhau.
Trong vòng 1 năm cả nghìn file là bình thường nhé.
Và vấn đề của mình là tổng hợp data của cả năm như thế
Bài đã được tự động gộp:

Dùng thử code này xem có được không? Nhớ bật thư viện như hình nhé.
View attachment 256051
Mã:
Sub getDataFromAccess()
    Dim DBFullName As String
    Dim Connect As String, Source As String
    Dim Connection As ADODB.Connection
    Dim Recordset As ADODB.Recordset
    Dim i As Integer
    Dim Col As Integer
    Cells.Clear
    On Error Resume Next
    Set Connection = New ADODB.Connection
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = True
        .Filters.Clear
        .Filters.Add "Acces file", "*.accdb"
        If .Show = True Then
            For i = 1 To .SelectedItems.Count
                DBFullName = .SelectedItems(i)
                Connect = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & DBFullName & ";"
                Connection.Open ConnectionString:=Connect
                Set Recordset = New ADODB.Recordset
                Source = "SELECT * FROM Data"
                With Recordset
                    .Open Source:=Source, ActiveConnection:=Connection
                    If i = 1 Then
                        For Col = 0 To Recordset.Fields.Count - 1
                            Range("A1").Offset(0, Col).Value = Recordset.Fields(Col).Name
                        Next
                    End If
                    Range("A" & Sheet1.UsedRange.Rows.Count).Offset(1, 0).CopyFromRecordset Recordset
                End With
                Set Recordset = Nothing
                Connection.Close
            Next i
        End If
    End With
    Set Connection = Nothing
    ActiveSheet.Columns.AutoFit
End Sub
Đa tạ bạn nhé!
Bạn đã cứu cuộc đời mình!
Cảm ơn rất nhiều!!!
 
Mình không hỏi chơi bạn nhé!
Mình đi làm công ty, Data đc đẻ ra mỗi ngày 1 file của mỗi máy đo giống nhau.
Trong vòng 1 năm cả nghìn file là bình thường nhé.
Và vấn đề của mình là tổng hợp data của cả năm như thế
...
Công ty này làm việc dỏm. Data cần chuyển thường xuyên như vậy thì người ta dùng CSV.

Thảo nào nhân viên phải ra ngoài nhờ người ta "cứu cuộc đời".
 
Công ty này làm việc dỏm.
Dỏm thật.
Nếu dùng Access thì tại sao mỗi ngày, mỗi máy tạo ra 1 file mà không ghi vào chung 1 file? Kết quả mỗi máy cả năm chỉ có 1 file, 5 máy 5 file
Hơn nữa, tại sao không có 1 file chung cho tất cả các máy?
 
Dỏm thật.
Nếu dùng Access thì tại sao mỗi ngày, mỗi máy tạo ra 1 file mà không ghi vào chung 1 file? Kết quả mỗi máy cả năm chỉ có 1 file, 5 máy 5 file
Hơn nữa, tại sao không có 1 file chung cho tất cả các máy?
Lưu ra SQL rồi tự links vào 1 table trên access, từ đó xử lý file access đó thôi.
 
Mình quan tâm cái công việc cuối cùng thôi. :)

Sau khi gộp vào 01 file Excel rồi làm gì nữa á?
 
Có nhiều người, nhiều công ty có vẻ làm việc không ra gì vậy mà thu nhập của họ cao lắm, thưởng tết thì càng ngất ngây
Trong khi đó đa số anh em khá giỏi code trên GPE thì lương bèo bọt, có người còn phải ngồi hóng làm miễn phí. Vất vả cả tháng giỏi lắm cũng chưa tới 50 triệu. Bởi vậy giờ mình chẳng dám bình luận ai giỏi ai dở. Quan trọng là thu nhập cuối tháng
 
Có nhiều người, nhiều công ty có vẻ làm việc không ra gì vậy mà thu nhập của họ cao lắm, thưởng tết thì càng ngất ngây
Trong khi đó đa số anh em khá giỏi code trên GPE thì lương bèo bọt, có người còn phải ngồi hóng làm miễn phí. Vất vả cả tháng giỏi lắm cũng chưa tới 50 triệu. Bởi vậy giờ mình chẳng dám bình luận ai giỏi ai dở. Quan trọng là thu nhập cuối tháng
Thiếu giống gì công ty phất lên, nứt vách đổ đố mà sổ sách kế toán như hạch. Nếu đủ khôn ngoan đi đêm với sở thuế thì còn gì nữa để lo.
 
Mình đi làm, có công việc, nhận tiền lương thì trách nhiệm sẽ làm.
Cũng không để ý công ty hay hay dở.
Và trong công việc, nếu gặp khó khăn trắc trở, mình luôn suy nghĩ cách để nó bớt thủ công, đơn giản và thuận tiện hơn.
Có thể tự mình nghĩ ra giải pháp , hoặc ko biết thì tìm kiếm google, hoặc là không được nữa thì đi nhờ vả như thế này ^^!
Bài đã được tự động gộp:

Mình quan tâm cái công việc cuối cùng thôi. :)

Sau khi gộp vào 01 file Excel rồi làm gì nữa á?
là phân tích và xử lý dữ liệu nhé bạn. ^^!
Bài đã được tự động gộp:

Lưu ra SQL rồi tự links vào 1 table trên access, từ đó xử lý file access đó thôi.
Cảm ơn bạn, vấn đề là mình k rành về Access. chính xác hơn chưa từng dùng nó ^^!
Bài đã được tự động gộp:

Có nhiều người, nhiều công ty có vẻ làm việc không ra gì vậy mà thu nhập của họ cao lắm, thưởng tết thì càng ngất ngây
Trong khi đó đa số anh em khá giỏi code trên GPE thì lương bèo bọt, có người còn phải ngồi hóng làm miễn phí. Vất vả cả tháng giỏi lắm cũng chưa tới 50 triệu. Bởi vậy giờ mình chẳng dám bình luận ai giỏi ai dở. Quan trọng là thu nhập cuối tháng
Nghe bác nói rất sâu sắc. Cảm ơn bác !!!
Bài đã được tự động gộp:

Dỏm thật.
Nếu dùng Access thì tại sao mỗi ngày, mỗi máy tạo ra 1 file mà không ghi vào chung 1 file? Kết quả mỗi máy cả năm chỉ có 1 file, 5 máy 5 file
Hơn nữa, tại sao không có 1 file chung cho tất cả các máy?
Bác rất thông minh bác thử nghĩ tại sao lại như thế đi nhé ^^!
 
Lần chỉnh sửa cuối:
Thớt đã nhận được giải đáp thích đáng từ bài #5 rồi.
Những bài còn lại chỉ là kinh nghiệm góp lại giữa những người chuyên "trao đổi dữ liệu giữa các nền tảng" (*1), và không biết "phân tích và xử lý dữ liệu" (*2)

(*1) cross-platform data migration
(*2) data analysis and analytics
 
Web KT
Back
Top Bottom