В цикле вы закрываете соединение на каждой итерации - DBCont.Close
.Таким образом, он не работает на второй итерации.
Либо удалите DBCont.Close
из цикла (рекомендуется), либо открывайте его каждый раз и удаляйте DBCont.Open sConn
перед циклом:
For i = 5 To endlimit
DBCont.Open sConn 'It would work better if you delete this line
sqlstr = "INSERT INTO DigiFinTracker (ProjectNo, ProjectName, Client, Tool, SuggAct, PercSav,PreDigCost,SuggSave,PropSav) VALUES ('" & Cells(6, 4) & "', '" _
& Cells(5, 4) & "', '" & Cells(4, 4) & "', '" & Cells(i, 8) & "', '" & Cells(i, 9) & "', '" & Cells(i, 10) _
& "', '" & Cells(i, 11) & "', '" & Cells(i, 12) & "', '" & Cells(i, 13) & "')"
rs.Open sqlstr, DBCont
DBCont.Close 'And delete this line as well
Next i
Чтобы увидеть, что является причиной несоответствия данных, попробуйте следующее:
sqlstr = "INSERT INTO DigiFinTracker (ProjectNo, ProjectName, Client, Tool, SuggAct, PercSav,PreDigCost,SuggSave,PropSav) VALUES ('" & Cells(6, 4) & "', '" _
& Cells(5, 4) & "', '" & Cells(4, 4) & "', '" & Cells(i, 8) & "', '" & Cells(i, 9) & "', '" & Cells(i, 10) _
& "', '" & Cells(i, 11) & "', '" & Cells(i, 12) & "', '" & Cells(i, 13) & "')"
Debug.Print sqlstr
- взгляните на ближайшее окно ( Ctrl + G , чтобы открыть);
- скопируйте оттуда инструкцию SQL;
- вставьте ее в Access и работайте , пока не получите какой-либо результат из запроса;