Lỗi Khi lấy dữ liệu bằng ADO.
Mọi ngời cho em hỏi lỗi này là bị Như thế nào ạ.
Sub capnhaphanghoa() Dim cn As Object Dim rst As Object, sql As String Dim Pro As String, lr As Long, arr3(), ten As String, i As Long, dk As String, k As Integer Dim Ext As String Dim Name As String Dim s1 As String, s2 As String s1 = "NGHI" & ChrW(7878) & "P V" & ChrW(7908) s2 = "xu" & ChrW(7845) & "t " & ChrW(273) & "i" & ChrW(7873) & "u chuy" & ChrW(7875) & "n" With Sheets("DT-DC") lr = .Range("a" & Rows.Count).End(xlUp).Row If lr > 7 Then .Range("A8:R" & lr).ClearContents End With arr3 = Array("210", "230", "250", "280", "289", "290", "293", "275") Set cn = CreateObject("ADODB.connection") Set rst = CreateObject("ADODB.recordset") For k = 0 To UBound(arr3) With Sheets("DT-DC") lr = .Range("a" & Rows.Count).End(xlUp).Row + 1 End With Name = "C:BUILDSTOREPROJECACCOUNTBAR LIST" & arr3(k) & ".xlsx" Pro = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" Ext = ";Extended Properties=""Excel 12.0;HDR=No;"";" cn.Open (Pro & Name & Ext) sql = "SELECT *from [DATA$A7:R100000] WHERE F5='a'" '" & "'" & s2 & "'" rst.Open sql, cn, 3, 1 Sheets("DT-DC").Range("A" & lr).CopyFromRecordset rst rst.Close cn.Close Next k End Sub28872886
ADO nó ngán nhất mấy dữ liệu nguồn không chuẩn (trường số, chuỗi, định dạng … lẫn lộn), bạn gửi file lên thử xem.
Vâng anh xem hộ em.
Cái này lỗi khi em thêm điều kiện where vào mới lỗi.Mà có máy thì chạy được có máy lỗi anh à.
Bạn kiểm tra lại tên file trùng với các phần tử trong mảng này chưa: Array("210", "230", "250", "280", "289", "290", "293", "275")
Bình thường nó vẫn chạy được anh ạ.Khi em thêm điều kiện thì mới lỗi.
LUÔN LUÔN đặt cái break ở sau câu dựng lệnh sql ( sql = … ). Hiển thị xem nó ra cái gì rồi hỏi tiếp.
Có 3 lỗi sai trong code của bạn:
1/ Ở dòng sql = "SELECT *from [DATA$A7:R50000] WHERE F5='a'"
-> Đúng là: sql = "SELECT * from [DATA$A7:R50000] WHERE F5='a'"
2/ Tên file bạn gửi lên là B210, nhưng trong array là 210?
3/ Ở dòng Ext = ";Extended Properties=""Excel 12.0;HDR=No;"";"
-> Đúng là: Ext = ";Extended Properties=""Excel 12.0;HDR=No;"""
P/s: sorry bạn, cái thứ 3 không sai, chỉ dư thôi.
www.giaiphapexcel.com/diendan/threads/l%E1%BB%97i-khi-l%E1%BA%A5y-d%E1%BB%AF-li%E1%BB%87u-b%E1%BA%B1ng-ado.142470/
Xây dựng Lương 3P, KPI cho Doanh nghiệp
Làm thế nào để trả lương cho nhân viên chính xác nhất? Đây là một trong những câu hỏi khó trong quản trị nhân...
Xem khóa học