Insert dữ liệu từ File Excel vào Access

Liên hệ QC

anhtuan2939

Thành viên hoạt động
Tham gia
5/7/16
Bài viết
165
Được thích
130
Chào mọi người.
Mình có dòng code như dưới đây để chuyển dữ liệu từ File Excel vào file Accsess. Trong file Excel dữ liệu có hơn 100000 dòng, nhưng khi insert thì trong file Access chỉ có được 65535 dòng. Mọi người xem giúp mình code phải sửa như thế nào để có thể Insert toàn bộ dữ liệu được. Xin cám ơn!
Mã:
Sub TEST()
    Dim cnn As Object, strSQL As String, strCon As String
    Set cnn = CreateObject("ADODB.Connection")
    strCon = "Provider=Microsoft.ACE.OLEDB.12.0;data source=" & _
                       ThisWorkbook.Path & "\ConvertData.accdb"
    strSQL = "INSERT INTO Data " & _
                "SELECT * " & _
                "FROM [EXCEL 12.0;Database=" & ThisWorkbook.FullName & ";HDR=Yes].[Convert$A:I] " & _
                "WHERE Account IS NOT NULL;"
    With cnn
        .ConnectionString = strCon
        .Open
        .Execute strSQL
        .Close
    End With
    Set cnn = Nothing
   
End Sub
 

File đính kèm

  • DulieuNguon.xlsb
    693.1 KB · Đọc: 11
Chào mọi người.
Mình có dòng code như dưới đây để chuyển dữ liệu từ File Excel vào file Accsess. Trong file Excel dữ liệu có hơn 100000 dòng, nhưng khi insert thì trong file Access chỉ có được 65535 dòng. Mọi người xem giúp mình code phải sửa như thế nào để có thể Insert toàn bộ dữ liệu được. Xin cám ơn!
Mã:
Sub TEST()
    Dim cnn As Object, strSQL As String, strCon As String
    Set cnn = CreateObject("ADODB.Connection")
    strCon = "Provider=Microsoft.ACE.OLEDB.12.0;data source=" & _
                       ThisWorkbook.Path & "\ConvertData.accdb"
    strSQL = "INSERT INTO Data " & _
                "SELECT * " & _
                "FROM [EXCEL 12.0;Database=" & ThisWorkbook.FullName & ";HDR=Yes].[Convert$A:I] " & _
                "WHERE Account IS NOT NULL;"
    With cnn
        .ConnectionString = strCon
        .Open
        .Execute strSQL
        .Close
    End With
    Set cnn = Nothing
  
End Sub
Bạn thay
[Convert$A:I]
Thành
[Convert$]
Thứ nhé. Lưu ý số cột
 
Dạ, Cám ơn thầy, em sửa thấy này thì đã insert được hết dữ liệu. Thầy cho em hỏi tại sao khi insert mà điền vị trí cột A:I thì insert bị thiếu vậy ạ?
Hiện tại mình không thể tham chiếu đến vùng dữ liệu hoặc Name trong bảng tính với dòng dữ liệu vượt quá 65.536 dòng.
Bạn có thể làm ví dụ đặt name vượt quá 65.536 dòng hay tham chiếu vùng vượt quá 65.536 ( [Convert$A:I65537] ) dòng thử nhé.
==> Kết quả như thế nào thì bạn có thể tự nghiệm ra.
 
Hiện tại mình không thể tham chiếu đến vùng dữ liệu hoặc Name trong bảng tính với dòng dữ liệu vượt quá 65.536 dòng.
Bạn có thể làm ví dụ đặt name vượt quá 65.536 dòng hay tham chiếu vùng vượt quá 65.536 ( [Convert$A:I65537] ) dòng thử nhé.
==> Kết quả như thế nào thì bạn có thể tự nghiệm ra.
Vâng ạ. Để em làm thử xem sao.
 
Web KT
Back
Top Bottom