Mình có đoạn code này
Đang bị vấn đề ở chỗ là check ngày, nếu ngày tồn tại rồi thì không ghi thêm nữa, nhưng mà nó chỉ ghi ngang row 1 xong rồi không ghi được các row tiếp theo do bị thông báo dữ liệu tồn tại, mày mò không biết đặt cái for thế nào để cho no ghi vào hết cả, mình gửi file anh chị giúp đỡ với.
PHP:
Sub Ghi_data_vao_access()
Dim ArrData
Dim e As Long, j As Long, i As Long
Dim objAdoConn As Object, objAdoRcSet As Object
Dim strAdoConn As String, strPath As String, strSQL1 As String, strSQL2 As String, strSQL3 As String, check_ngay As Date
Set objAdoConn = CreateObject("ADODB.Connection")
Set objAdoRcSet = CreateObject("ADODB.RecordSet")
strPath = "D:\helpme\database\database_qlhui.accdb"
strAdoConn = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & strPath & " ;"
e = Worksheets("Data_import").Range("A" & Rows.Count).Row
ArrData = Worksheets("Data_import").Range("A2:R" & e).Value
objAdoConn.Open strAdoConn
With objAdoRcSet
For j = 1 To UBound(ArrData)
check_ngay = ArrData(j, 5)
strSQL1 = "SELECT NGAYAL FROM [DATA_CHITIET] WHERE NGAYAL= #" & Format(check_ngay, "m/d/yyyy") & "# "
.Open objAdoConn.Execute(strSQL1)
If .EOF Then 'neu khong ton tai
strSQL2 = "INSERT INTO [DATA_CHITIET] (MSCHEN,NHOMNGUOI,NGUOICHOI,TENCHEN,NGAYAL)" & _
" VALUES ('" & ArrData(j, 1) & "', '" & ArrData(j, 2) & "', '" & ArrData(j, 3) & "', '" & ArrData(j, 4) & "', '" & ArrData(j, 5) & "')"
objAdoConn.Execute strSQL2
objAdoRcSet.Close
Else
MsgBox ("Du lieu ton tai khong the ghi them")
Exit Sub
End If
Next j
End With
MsgBox ("Ghi du lieu thanh cong")
End Sub
Đang bị vấn đề ở chỗ là check ngày, nếu ngày tồn tại rồi thì không ghi thêm nữa, nhưng mà nó chỉ ghi ngang row 1 xong rồi không ghi được các row tiếp theo do bị thông báo dữ liệu tồn tại, mày mò không biết đặt cái for thế nào để cho no ghi vào hết cả, mình gửi file anh chị giúp đỡ với.