Hỏi về Update trong ADO

Liên hệ QC

NGOCTOAN

Thành viên hoạt động
Tham gia
1/8/06
Bài viết
104
Được thích
33
Gửi : Các Anh Chị GPE,

Nhờ các Anh chị xem giúp câu lệnh sai ở đâu mà em làm hoài vẫn bị lỗi ạ. cụ thể là cập nhật từ sheets ("LOC")- côt NGAYCHAY sang Sheets("DATA") - Cột NGAYCHAY cụ thể :

Sub CAPNHAT()
Dim cnn As Object
Dim FileFullName, mysql As String
Set cnn = CreateObject("ADODB.Connection")
FileFullName = Application.ThisWorkbook.FullName
With cnn
mysql = "UPDATE [DATA$] A INNER JOIN [LOC$] B ON A.SOLENH = B.SOLENH SET A.NGAYCHAY= B.NGAYCHAY"
.Open "Provider=Microsoft.ACE.OLEDB.12.0;" _
& "Data Source=" & FileFullName _
& ";Extended Properties=""Excel 12.0;HDR=Yes;"";"
.Execute mysql
.Close
End With
Set cnn = Nothing
End Sub
không hiểu sao máy em không tải file lên được nên đành gửi đường link, cảm phiền các anh chị giúp đỡ tải về hộ
https://drive.google.com/file/d/0B-2OKgrwY9TbT3pUZkRRbXM3YUk/view?usp=sharing
Xin cảm ơn.
Ngoctoan
 
Sau hồi mầy mò File trên em làm như sau code chạy tốt :

Sub CAPNHAT()
Dim cnn As Object
Dim FileFullName, mysql As String
Set cnn = CreateObject("ADODB.Connection")
FileFullName = Application.ThisWorkbook.FullName
With cnn
mysql = "UPDATE [DATA$a4:O65000] A inner JOIN [LOC$A4:G2640] B ON A.SOLENH=B.SOLENH SET A.NGAYCHAY= B.NGAYCHAY where B.NGAYCHAY>0"
.Open "Provider=Microsoft.ACE.OLEDB.12.0;" _
& "Data Source=" & FileFullName _
& ";Extended Properties=""Excel 12.0;HDR=Yes;"";"
.Execute mysql
.Close
End With
Set cnn = Nothing
End Sub

Nhưng cho em tai sao ADO chỉ cho chạy đến 65.000 dòng trng khi excel 2007 la 1.048.000 dòng, cứ vượt qua 65000 dòng la báo lỗi, các Anh chị giải thích hộ và có cách nào khắc phục đển lên 1trieu dòng không ạ.

Xin cảm ơn các Anh/Chị

Ngoctoan
 
Sau hồi mầy mò File trên em làm như sau code chạy tốt :

Sub CAPNHAT()
Dim cnn As Object
Dim FileFullName, mysql As String
Set cnn = CreateObject("ADODB.Connection")
FileFullName = Application.ThisWorkbook.FullName
With cnn
mysql = "UPDATE [DATA$a4:O65000] A inner JOIN [LOC$A4:G2640] B ON A.SOLENH=B.SOLENH SET A.NGAYCHAY= B.NGAYCHAY where B.NGAYCHAY>0"
.Open "Provider=Microsoft.ACE.OLEDB.12.0;" _
& "Data Source=" & FileFullName _
& ";Extended Properties=""Excel 12.0;HDR=Yes;"";"
.Execute mysql
.Close
End With
Set cnn = Nothing
End Sub

Nhưng cho em tai sao ADO chỉ cho chạy đến 65.000 dòng trng khi excel 2007 la 1.048.000 dòng, cứ vượt qua 65000 dòng la báo lỗi, các Anh chị giải thích hộ và có cách nào khắc phục đển lên 1trieu dòng không ạ.

Xin cảm ơn các Anh/Chị

Ngoctoan
Bạn thay như sau [DATA$A4:O]
 
Web KT
Back
Top Bottom