Cập nhập dữ liệu từ excel vào access

Liên hệ QC

ishikawangocthuy

Thành viên mới
Tham gia
17/6/20
Bài viết
43
Được thích
1
Xin chào các anh chị
Cho em hỏi ,em muốn cầp nhập dữ liệu mới từ file excel vào access(chỉ cập nhập tiếp vào access thôi ah,chứ không cập nhập cả sheet ah)
-trong trường hợp access đóng ah .sử dụng excel vba ah.
Em có theo dõi mấy bài trên diễn đàn, nhưng toàn là mở access để cầp nhập thôi ah.
Em có theo dõi bài của thầy@Hai Lúa Miền Tây giai nên em tag vào để xem thầy có cách nào không ah.
-em có làm theo 1 bài trong diễn đàn nhưng vẫn không ra kết quả ah
Em xin cảm ơn.
Mã:
Sub TEST()
'On Error Resume Next

    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].[Data$] " & _
                "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
    22.5 KB · Đọc: 8
Lần chỉnh sửa cuối:
ah lắm vậy bạn? Đặt câu hỏi rõ ý, đàng hoàng thôi chứ ạ ạ cái gì, chỉ tổ làm cho mình bé đi.
 
ah lắm vậy bạn? Đặt câu hỏi rõ ý, đàng hoàng thôi chứ ạ ạ cái gì, chỉ tổ làm cho mình bé đi.
Muc đích của mình là:
lấy dữ liệu từ excel vào access và mình có làm theo hưóng dẫn của 1 bài trên diễn đàn,và vẫn chưa ra kết quả oh!
 
Lần chỉnh sửa cuối:
Vì vẫn chưa giải quyết được nên em xin phép chai mặt đăng lên 1 lần nữa.
-Em có tham khảo 1 bài trên diễn đàn và làm theo.
-nhưng nếu em chuyển sang font chữ tiếng nhật thì lại không được ah
-Mong mọi người giúp đỡ ah!
Mã:
Sub Test()
'On Error Resume Next

    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].[Data1$] " & _
                "WHERE Account IS NOT NULL;"
    With cnn
        .ConnectionString = strCon
        .Open
        .Execute strSQL
        .Close
    End With
    Set cnn = Nothing
   
End Sub
 

File đính kèm

  • du lieu.zip
    38.9 KB · Đọc: 4
Lần chỉnh sửa cuối:
Vì vẫn chưa giải quyết được nên em xin phép chai mặt đăng lên 1 lần nữa.
-Em có tham khảo 1 bài trên diễn đàn và làm theo.
-nhưng nếu em chuyển sang font chữ tiếng nhật thì lại không được ah
-Mong mọi người giúp đỡ ah!
Mã:
Sub Test()
'On Error Resume Next

    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].[Data1$] " & _
                "WHERE Account IS NOT NULL;"
    With cnn
        .ConnectionString = strCon
        .Open
        .Execute strSQL
        .Close
    End With
    Set cnn = Nothing
  
End Sub
Không xài thử links table xem được không.
 
Vì vẫn chưa giải quyết được nên em xin phép chai mặt đăng lên 1 lần nữa.
-Em có tham khảo 1 bài trên diễn đàn và làm theo.
-nhưng nếu em chuyển sang font chữ tiếng nhật thì lại không được ah
-Mong mọi người giúp đỡ ah!
Mã:
Sub Test()
'On Error Resume Next

    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].[Data1$] " & _
                "WHERE Account IS NOT NULL;"
    With cnn
        .ConnectionString = strCon
        .Open
        .Execute strSQL
        .Close
    End With
    Set cnn = Nothing
  
End Sub
Bạn chỉnh sửa lại cái tiêu đề cột trong sheet Data1 cho trùng khớp với tên cột trong file Access. Còn nếu không thì rất cực. Ví dụ bạn có thể chạy thử code sau rồi tự kết luận nhé.
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 [" & Sheet2.Range("A1") & "] as Account, [" & Sheet2.Range("B1") & "] as Datet " & _
                "FROM [EXCEL 12.0;Database=" & ThisWorkbook.FullName & ";HDR=Yes].[Data1$] " & _
                "WHERE [" & Sheet2.Range("A1") & "] IS NOT NULL;"
    With cnn
        .ConnectionString = strCon
        .Open
        .Execute strSQL
        .Close
    End With
    Set cnn = Nothing
  
End Sub
Không xài thử links table xem được không.
Tác giả nói sẽ xóa dữ liệu trong file Excel ngay sau khi đưa dữ liệu vào Access. Đã dùng Access làm nơi chứa dữ liệu thì link vào file Excel để làm gì cho nó nặng file Excel vì dữ liệu luôn chứa trong Excel.
 
Bạn chỉnh sửa lại cái tiêu đề cột trong sheet Data1 cho trùng khớp với tên cột trong file Access. Còn nếu không thì rất cực. Ví dụ bạn có thể chạy thử code sau rồi tự kết luận nhé.
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 [" & Sheet2.Range("A1") & "] as Account, [" & Sheet2.Range("B1") & "] as Datet " & _
                "FROM [EXCEL 12.0;Database=" & ThisWorkbook.FullName & ";HDR=Yes].[Data1$] " & _
                "WHERE [" & Sheet2.Range("A1") & "] IS NOT NULL;"
    With cnn
        .ConnectionString = strCon
        .Open
        .Execute strSQL
        .Close
    End With
    Set cnn = Nothing
 
End Sub

Tác giả nói sẽ xóa dữ liệu trong file Excel ngay sau khi đưa dữ liệu vào Access. Đã dùng Access làm nơi chứa dữ liệu thì link vào file Excel để làm gì cho nó nặng file Excel vì dữ liệu luôn chứa trong Excel.
Da cho em hỏi thêm ,nếu trong truờng hợp file access của em có đăng nhập tài khoản và pass .thì có thể import đuợc không ah?
Bài đã được tự động gộp:

Bạn chỉnh sửa lại cái tiêu đề cột trong sheet Data1 cho trùng khớp với tên cột trong file Access. Còn nếu không thì rất cực. Ví dụ bạn có thể chạy thử code sau rồi tự kết luận nhé.
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 [" & Sheet2.Range("A1") & "] as Account, [" & Sheet2.Range("B1") & "] as Datet " & _
                "FROM [EXCEL 12.0;Database=" & ThisWorkbook.FullName & ";HDR=Yes].[Data1$] " & _
                "WHERE [" & Sheet2.Range("A1") & "] IS NOT NULL;"
    With cnn
        .ConnectionString = strCon
        .Open
        .Execute strSQL
        .Close
    End With
    Set cnn = Nothing
 
End Sub

Tác giả nói sẽ xóa dữ liệu trong file Excel ngay sau khi đưa dữ liệu vào Access. Đã dùng Access làm nơi chứa dữ liệu thì link vào file Excel để làm gì cho nó nặng file Excel vì dữ liệu luôn chứa trong Excel.
thật ra file gốc access của em khi mở ra nó có phần đăng nhập với sql sẻver như trong ảnh ah.
Dừng hỏi em vì sao nha ,cái đó em cũng khong biết .1.png
 
Da cho em hỏi thêm ,nếu trong truờng hợp file access của em có đăng nhập tài khoản và pass .thì có thể import đuợc không ah?
Bài đã được tự động gộp:


thật ra file gốc access của em khi mở ra nó có phần đăng nhập với sql sẻver như trong ảnh ah.
Dừng hỏi em vì sao nha ,cái đó em cũng khong biết .View attachment 250552
File Access của bạn được link dữ liệu với SQLServer và không có mật khẩu mở file, chỉ có thông tin đăng nhập vào SQLServer?
 
Vâng ah là form đăng nhập tự tạo ah,chứ không phải là mật khẩu khi mở file
Vậy thì khi kết nối không cần có mật khẩu nhé. Còn nếu làm việc với bảng mà được link dữ liệu với SQLServer thì sao bạn không làm trực tiếp với SQLServer luôn?
 
Em tra từ điển Tiếng Việt thì không có từ "ah", không hiểu đấy là tiếng nước nào anh nhỉ.
Đương nhiên, tiếng Việt có một số phụ âm không bao giờ đi ngay sau nguyên âm. "h" là một trong số đó.
Người ta dùng từ "ah" để nhấn mạnh rằng đây là một âm ngoại, không phải tiếng Việt. Còn tại sao ngoại thì đừng hỏi tôi.
 
Web KT
Back
Top Bottom