0
このコードは大規模データでも機能しますか? このコードは小さなデータの罰金に動作しますが、大規模なデータのために、それがオートメーションエラーを与え、わずか数行は、データベースExcelサーバからSQLサーバに大量のデータをインポートしようとしていますが、 "AUTOMATION ERROR"として与えています
Sub insertion()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConnString As String
Dim rsstring As String
Dim m, nrows As Integer
Dim wb1 As Excel.Workbook
Set wb1 = Workbooks.Open("D:\MPN-Materials.xlsx")
wb1.Sheets("sheet1").Activate
sConnString = "Provider=SQLOLEDB;Data Source=PRATEEP-PC\SQLEXPRESS;" & _
"Initial Catalog=MDM;" & _
"Integrated Security=SSPI;"
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.Open sConnString
Dim loRH As Excel.ListObject
Set loRH = wb1.Sheets("MPN Materials").ListObjects(1)
loRH.Parent.Activate
loRH.ListColumns(1).DataBodyRange.Select
nrows = WorksheetFunction.CountA(Selection)
For m = 0 To nrows - 1
rsstring = "insert into MPN_Materials (MPN_Material, Material_Desc,
Int_Material_No, MPN, Manufacture_ID, Material_Grp, Material_Type,
Last_Change, UoM) values" _
& "('" & loRH.DataBodyRange.Cells(m + 1, 1) & "', " _
& "'" & loRH.DataBodyRange.Cells(m + 1, 2) & "', " _
& "'" & loRH.DataBodyRange.Cells(m + 1, 3) & "', " _
& "'" & loRH.DataBodyRange.Cells(m + 1, 4) & "', " _
& "'" & loRH.DataBodyRange.Cells(m + 1, 5) & "', " _
& "'" & loRH.DataBodyRange.Cells(m + 1, 6) & "', " _
& "'" & loRH.DataBodyRange.Cells(m + 1, 7) & "', " _
& "'" & loRH.DataBodyRange.Cells(m + 1, 8) & "', " _
& "'" & loRH.DataBodyRange.Cells(m + 1, 9) & "'); "
Set rs = New ADODB.Recordset
Set rs = conn.Execute(rsstring)