Hello Everybody,

With the code below I want to import a .csv file into MS Access.
The .csv file can contain more than 25.000 lines.
The code I have works! But... it runs like 10 minutes.
My questios is: Can I optimize my code so it runs much faster?

Thanks in advance...

Code:
Private Sub LoopDoorRegels()
   'Open the .csv file
    Dim sr As StreamReader = File.OpenText(strBestandslocatie)
    ProgressBar1.Minimum = 0
    ProgressBar1.Maximum = intTotIntelezen
    ProgressBar1.Step = 1
    ProgressBar1.Value = 0

    Dim line() As String
    Dim intAantalIngelezen As Integer = 0
    Do While sr.Peek() >= 0
      line = sr.ReadLine.Split(";")
      If line(3).Trim.ToString = strCheckPeriode Then
        ProgressBar1.Minimum = 0 : ProgressBar1.Maximum = 1 : ProgressBar1.Value = 1
        MsgBox("Deze periode is reeds ingelezen en verwerkt.")
        blnTblBestaat = True
        Exit Sub
      End If
      InsertDetails(line(0).Trim, line(1).Trim, line(2).Trim, line(3).Trim, line(4).Trim, line(5).Trim, line(6).Trim)
      intAantalIngelezen = intAantalIngelezen + 1
      ProgressBar1.PerformStep()
      Me.lblTeller.Text = "Aantal ingelezen: " & intAantalIngelezen.ToString & "/"
      Me.lblTeller.Refresh()
    Loop
    sr.Close()
    sr.Dispose()
    blnTblBestaat = False
  End Sub

  Private Sub InsertDetails(ByVal strKP As String, ByVal strPersNR As String, ByVal strNaam As String, ByVal strPeriode1 As String, _
                            ByVal strLooncode As String, ByVal strWaarde As String, ByVal strBTW As String)
    Dim strInsert_SQL As String = String.Format("INSERT INTO tblIMPORT " & _
                                      "(Kostenplaats,PersoneelsNummer,Naam,Periode,Looncode,Waarde,BTW,DatumInlezen) " & _
                                      "VALUES " & _
                                      "(@Kostenplaats,@PersoneelsNummer,@Naam,@Periode,@Looncode,@Waarde,@BTW,@DatumInlezen)")

    Dim cmdInsert As New OleDbCommand(strInsert_SQL, connection)

    cmdInsert.Parameters.AddWithValue("@Kostenplaats", strKP.Trim)
    cmdInsert.Parameters.AddWithValue("@PersoneelsNummer", strPersNR.Trim)
    cmdInsert.Parameters.AddWithValue("@Naam", strNaam.Trim)
    cmdInsert.Parameters.AddWithValue("@Periode", strPeriode1.Trim)
    cmdInsert.Parameters.AddWithValue("@Looncode", strLooncode.Trim)
    cmdInsert.Parameters.AddWithValue("@Waarde", strWaarde.Trim)
    cmdInsert.Parameters.AddWithValue("@BTW", strBTW.Trim)
    cmdInsert.Parameters.AddWithValue("@DatumInlezen", DateTime.Now.ToString("dd-MM-yyyy HH:mm"))

    connection.Open()
    cmdInsert.ExecuteNonQuery()
    connection.Close()
    cmdInsert.Dispose()
    cmdInsert = Nothing
  End Sub