Imports System
Imports System.Data.OleDb
Public Class Form1
Public accConnection As OleDbConnection
Dim sCommand As OleDbCommand
Dim sAdapter As OleDbDataAdapter
Dim sBuilder As OleDbCommandBuilder
Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Practice.mdb"
Dim cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Practice.mdb")
Dim sql As String = "SELECT ADMNO,FirstName, LastName, RollCall FROM myClassList"
Dim sDs As DataSet
Dim sTable As DataTable
Private CourseID() As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim connection As New OleDbConnection(connectionString)
connection.Open()
sCommand = New OleDbCommand(sql, connection)
sAdapter = New OleDbDataAdapter(sCommand)
sBuilder = New OleDbCommandBuilder(sAdapter)
Dim sds = New DataSet()
sAdapter.Fill(sds, "myClassList")
sTable = sds.tables("myClassList")
connection.Close()
StdcboForm()
DataGridView1.DataSource = sds.tables("myClassList")
'DataGridView1.ReadOnly = True
DataGridView1.GridColor = Color.Red
DataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.None
DataGridView1.BackgroundColor = Color.LightGray
DataGridView1.DefaultCellStyle.SelectionBackColor = Color.Red
DataGridView1.DefaultCellStyle.SelectionForeColor = Color.Yellow
DataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True
DataGridView1.RowsDefaultCellStyle.BackColor = Color.Bisque
DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Beige
DataGridView1.AllowUserToAddRows = False
DataGridView1.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.None
DataGridView1.EnableHeadersVisualStyles = False
DataGridView1.Columns(0).SortMode = False
DataGridView1.Columns(1).SortMode = False
DataGridView1.Columns(2).SortMode = False
End Sub
Public Sub StdcboForm()
'Filling cboForm combo box with forms
Dim cmd As New OleDbCommand("SELECT DISTINCT sForm FROM myClassList", cn)
cmd.Connection.Open()
Dim da As New OleDbDataAdapter(cmd)
Dim ds As New DataSet
Dim dt As New DataTable
da.Fill(ds, "myClassList")
Dim dr As OleDbDataReader = cmd.ExecuteReader
While dr.Read()
cboForm.Items.Add(dr("sForm"))
End While
End Sub
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
'Save the tables's changes back to the database.
Dim changes As Integer
'Open a connection to the database for updating.
'Update the database with changes from the data table.
changes = sAdapter.Update(sTable)
'Display the number of changes made.
If changes > 0 Then
MsgBox(changes & " changed rows were stored in the database.")
Else
MsgBox("No changes made.")
End If
sAdapter.Dispose()
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim bm As New Bitmap(Me.DataGridView1.Width, Me.DataGridView1.Height)
DataGridView1.DrawToBitmap(bm, New Rectangle(0, 0, Me.DataGridView1.Width, Me.DataGridView1.Height))
e.Graphics.DrawImage(bm, 0, 0)
End Sub
Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click
PrintDocument1.Print()
End Sub
Private Sub cboStream_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboStream.SelectedIndexChanged
Dim ds As DataSet = New DataSet()
Dim conn As OleDbConnection = New OleDbConnection
Dim dbcmd As OleDbCommand = New OleDbCommand
Dim da As OleDbDataAdapter = New OleDbDataAdapter()
conn.ConnectionString = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Practice.mdb")
dbcmd.Connection = conn
dbcmd.CommandText = "SELECT ADMNO,Stream, FirstName, LastName, RollCall FROM myClassList WHERE Stream = '" & cboStream.SelectedItem.ToString & "' AND sForm = '" & cboForm.SelectedItem.ToString & " ' "
da.SelectCommand = dbcmd
conn.Open()
da.Fill(ds, "myClassList")
conn.Close()
DataGridView1.DataSource = ds
DataGridView1.Refresh()
End Sub
Private Sub cboForm_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboForm.SelectedIndexChanged
'Filling cboStream combo box with streams
Dim cmd As New OleDbCommand("SELECT DISTINCT Stream FROM myClassList WHERE sForm = '" & cboForm.SelectedItem.ToString() & "'", cn)
Dim da As New OleDbDataAdapter(cmd)
Dim dr As New DataSet
Dim dt As New DataTable
da.Fill(dr, "myClassList")
Dim dm As OleDbDataReader = cmd.ExecuteReader
cboStream.Items.Clear()
While dm.Read()
cboStream.Items.Add(dm("Stream"))
End While
dm.Close()
cmd.Cancel()
cmd.Dispose()
End Sub
End Class