Code:
Private Sub LoopDoorRegels()
LeesSysteemInstelling(1) 'Haal de periode op uit de systeeminstellingen welke is opgeslagen na het selecteren van het in te lezen bestand.
ControleerPeriode("tblFACTUUR", strSI_Waarde) 'Vergelijk de periode uit de bestandsnaam met de periode uit de tabel tblIMPORT
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = 10
ProgressBar1.Step = 1
ProgressBar1.Value = 0
Try
Dim dtTable As New DataTable
With dtTable.Columns
.Add("Kostenplaats", GetType(String))
.Add("PersoneelsNummer", GetType(String))
.Add("Naam", GetType(String))
.Add("Periode", GetType(String))
.Add("Looncode", GetType(String))
.Add("Waarde", GetType(String))
.Add("BTW", GetType(String))
.Add("DatumInlezen", GetType(Date))
End With
Dim filePath As String = strBestandslocatie
Using reader As New TextFieldParser(filePath)
reader.Delimiters = New String() {";"}
Do Until reader.EndOfData
Dim fields As String() = reader.ReadFields()
Dim _kostenplaats As String = fields(0)
Dim _personeelsnummer As String = fields(1)
Dim _Naam As String = fields(2)
Dim _Periode As String = fields(3)
Dim _Looncode As String = fields(4)
Dim _Waarde As String = fields(5)
Dim _BTW As String = fields(6)
Dim row As DataRow = dtTable.NewRow()
row("Kostenplaats") = If(String.IsNullOrEmpty(_kostenplaats), CObj(DBNull.Value), _kostenplaats)
row("PersoneelsNummer") = If(String.IsNullOrEmpty(_personeelsnummer), CObj(DBNull.Value), _personeelsnummer)
row("Naam") = If(String.IsNullOrEmpty(_Naam), CObj(DBNull.Value), _Naam)
row("Periode") = If(String.IsNullOrEmpty(_Periode), CObj(DBNull.Value), _Periode)
row("Looncode") = If(String.IsNullOrEmpty(_Looncode), CObj(DBNull.Value), _Looncode)
row("Waarde") = If(String.IsNullOrEmpty(_Waarde), CObj(DBNull.Value), _Waarde)
row("BTW") = If(String.IsNullOrEmpty(_BTW), CObj(DBNull.Value), _BTW)
row("DatumInlezen") = DateTime.Now.ToString("dd-MM-yyyy HH:mm")
dtTable.Rows.Add(row)
Loop
Dim adapter As New OleDbDataAdapter("select * from tblIMPORT", connection)
Dim insert As New OleDbCommand("insert into tblIMPORT (Kostenplaats,PersoneelsNummer,Naam,Periode,Looncode,Waarde,BTW,DatumInlezen) " & _
"values (@Kostenplaats,@PersoneelsNummer,@Naam,@Periode,@Looncode,@Waarde,@BTW,@DatumInlezen)", connection)
insert.Parameters.Add("@Kostenplaats", OleDbType.VarChar, 10, "Kostenplaats")
insert.Parameters.Add("@PersoneelsNummer", OleDbType.VarChar, 10, "PersoneelsNummer")
insert.Parameters.Add("@Naam", OleDbType.VarChar, 50, "Naam")
insert.Parameters.Add("@Periode", OleDbType.VarChar, 6, "Periode")
insert.Parameters.Add("@Looncode", OleDbType.VarChar, 5, "Looncode")
insert.Parameters.Add("@Waarde", OleDbType.VarChar, 11, "Waarde")
insert.Parameters.Add("@BTW", OleDbType.VarChar, 1, "BTW")
insert.Parameters.Add("@DatumInlezen", OleDbType.Date, 12, "DatumInlezen")
adapter.InsertCommand = insert
adapter.Update(dtTable)
End Using
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
blnTblBestaat = False
ProgressBar1.Value = 10
End Sub