Надеюсь, эти коды верны или есть более эффективный способ сделать это?
Я знаю, что этот код работает, но если я хочу загрузить много строк, это эффективный способ сделать это?
Option Explicit
Sub Adding_SP()
Dim cnt As ADODB.Connection
Dim rst As ADODB.Recordset
Dim mySQL As String
Dim last_row As Integer
Dim i As Integer
Set cnt = New ADODB.Connection
Set rst = New ADODB.Recordset
mySQL = "SELECT * FROM [AutoSysCalender];"
With cnt
.ConnectionString = _
"Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=0;RetrieveIds=Yes;DATABASE=http://vinnakota/sites/EITTesting;LIST={E9E6A5E6-402C-43DF-B91E-F2C0678F7E75};"
.Open
End With
rst.Open mySQL, cnt, adOpenDynamic, adLockOptimistic
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Data")
last_row = ws.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To last_row
rst.AddNew
rst.Fields("Title") = ws.Cells(i, 1).Value
rst.Fields("Start Time") = ws.Cells(i, 2).Value
rst.Fields("End Time") = ws.Cells(i, 3).Value
Next i
rst.Update
If CBool(rst.State And adStateOpen) = True Then rst.Close
Set rst = Nothing
If CBool(cnt.State And adStateOpen) = True Then cnt.Close
Set cnt = Nothing
End Sub