Option Strict On
Imports System.Data.OleDb
Imports System.IO
Module modImport
Public Sub ImportCourse()
With frmCourses
If .ofdOpen.ShowDialog = DialogResult.OK Then
Dim FileCopyName As String = Application.StartupPath & "\Data\Courses\" & Path.GetFileName(.ofdOpen.FileName.Remove(.ofdOpen.FileName.LastIndexOf("."))) & ".CSV"
If File.Exists(FileCopyName) = True Then
File.Delete(FileCopyName) 'Temp
Else
File.Copy(.ofdOpen.FileName, FileCopyName)
SQL = "SELECT * FROM " & .ofdOpen.FileName
Dim Path As String = IO.Path.GetFullPath(.ofdOpen.FileName.Remove(.ofdOpen.FileName.LastIndexOf("\")))
Connection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Path & ";Extended Properties=""text;HDR=Yes;FMT=Delimited"";")
Command = New OleDbCommand(SQL, Connection)
Command.Connection.Open()
Adapter.SelectCommand = Command
DS = New DataSet
Adapter.Fill(DS)
Command.Connection.Close()
Application.DoEvents()
If bImportCancel = False Then
For Each DRow As DataRow In DS.Tables(0).Rows
If .lstCourses.Items.Contains(DRow("Classes(Import If #1)")) = False Then
frmImport.Show()
Connection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\Data\Courses\" & DRow("Classes(Import If #1)").ToString() & ".mdb")
CreateCourse(Connection.ConnectionString)
SQL = "INSERT INTO [Information] (CourseCode, RoomNumber) VALUES (?, ?);"
Command = New OleDbCommand(SQL, Connection)
Command.Connection.Open()
Command.Parameters.AddWithValue("CourseCode", DRow("Classes(Import If #1)"))
Command.Parameters.AddWithValue("RoomNumber", DRow("Home Room/Form"))
Command.ExecuteNonQuery()
Connection.Close()
frmImport.pbImport.Maximum = DS.Tables(0).Rows.Count
If frmImport.pbImport.Value > DS.Tables(0).Rows.Count + 5 Then
frmImport.pbImport.Value = frmImport.pbImport.Maximum
File.Delete(FileCopyName)
frmImport.Close()
MessageBox.Show("Import Complete")
Else
frmImport.pbImport.Increment(5)
End If
End If
Next
MsgBox("Done")
End If
End If
End If
End With
End Sub
End Module