Você está na página 1de 14

Public Class Form1

Dim PB As PictureBox
Dim L As Label
Dim tmr As Timer
Dim t As TextBox
Dim b As Button
Dim p As Panel
Dim CBO As ComboBox
Dim RB As RadioButton
Dim FLP As FlowLayoutPanel
Dim gender As String
Dim infoid As Integer
Dim FRMPRINT As Form
Dim rpt As CrystalReport1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Text = ""
ControlBox = False
BackColor = Color.White
Width = My.Computer.Screen.WorkingArea.Width * 0.3
Height = My.Computer.Screen.WorkingArea.Height * 0.36
Left = My.Computer.Screen.WorkingArea.Width * 0.35
Top = My.Computer.Screen.WorkingArea.Height * 0.32

PB = New PictureBox
With PB
.Image = My.Resources.dcsa
.Height = Height * 0.9
.SizeMode = PictureBoxSizeMode.StretchImage
.Dock = DockStyle.Top
End With
Controls.Add(PB)

L = New Label
With L
.Text = "copyright (c) 2019 by Rica Jinayon"
.Left = 0
.AutoSize = True
.Top = PB.Height + PB.Top
.ForeColor = Color.Gray
End With
Controls.Add(L)

L = New Label
With L
.Name = "LBLLOADING"
.Top = Height - 5
.Left = 0
.AutoSize = False
.Height = 3
.BackColor = Color.Orange
.Width = Width / 100
End With
Controls.Add(L)
tmr = New Timer
With tmr
.Interval = 50
AddHandler .Tick, AddressOf tmr_tick
.Start()
End With

End Sub

Private Sub tmr_tick(ByVal sender As Object, ByVal e As EventArgs)


Controls.Item("LBLLOADING").Width += 10
If Controls.Item("LBLLOADING").Width >= Width Then
tmr.Stop()
LOGIN()
End If
End Sub

Private Sub LOGIN()


Controls.Clear()

L = New Label
With L
.Text = " LOGIN"
.Dock = DockStyle.Top
.Font = New Font("tahoma", 15, FontStyle.Bold)
.AutoSize = False
.Height = 50
.TextAlign = ContentAlignment.MiddleLeft
.ForeColor = Color.Red
End With
Controls.Add(L)

L = New Label
With L
.Text = "username: "
.Top = 70
.Left = 10
.AutoSize = True
End With
Controls.Add(L)

t = New TextBox
With t
.Name = "TXTUN"
.Left = 10
.Top = L.Top + 20
.Width = Width - 30
End With
Controls.Add(t)

L = New Label
With L
.Text = "Password: "
.Top = t.Top + 50
.Left = 10
.AutoSize = True
End With
Controls.Add(L)

t = New TextBox
With t
.Name = "TXTPW"
.Left = 10
.Top = L.Top + 20
.Width = Width - 30
.UseSystemPasswordChar = True
End With
Controls.Add(t)

b = New Button
With b
.Text = "CANCEL"
.AutoSize = False
.Height = 50
.Left = 10
.FlatStyle = FlatStyle.Flat
.FlatAppearance.BorderSize = 0
.Cursor = Cursors.Hand
.Top = t.Top + 50
.BackColor = Color.Green
.ForeColor = Color.White
.Width = 100
AddHandler .Click, AddressOf BTNCANCEL_CLICK
End With
Controls.Add(b)

b = New Button
With b
.Text = "LOGIN"
.AutoSize = False
.Height = 50
.Left = 120
.FlatStyle = FlatStyle.Flat
.FlatAppearance.BorderSize = 0
.Cursor = Cursors.Hand
.Top = t.Top + 50
.BackColor = Color.Green
.ForeColor = Color.White
.Width = 100
AddHandler .Click, AddressOf BTNLOGIN_CLICK
End With
Controls.Add(b)

End Sub

Private Sub BTNCANCEL_CLICK(ByVal sender As Object, ByVal e As EventArgs)


Application.Exit()
End Sub

Private Sub BTNLOGIN_CLICK(ByVal sender As Object, ByVal e As EventArgs)


Try
opencon()
rs.Open("select *from TBLUSER where username='" &
Controls.Item("TXTUN").Text & "' and password='" & Controls.Item("TXTPW").Text &
"'", con, 3, 3)
If Not rs.EOF Then
MsgBox("Welcome " & rs.Fields("username").Value)
mainform()
Else
MsgBox("Access Denied")

End If
Catch ex As Exception
MsgBox(ex.Message)
Err.Clear()
Finally
closecon()
End Try

End Sub

Private Sub mainform()


Controls.Clear()
Left = 0
Top = 0
Height = My.Computer.Screen.WorkingArea.Height
Width = My.Computer.Screen.WorkingArea.Width

designbasicinfo()
designbuttons()
designlists()
populatelist("SELECT TOP 10 *FROM TBLINFO ORDER BY LASTNAME")

End Sub

Private Sub designbasicinfo()


l = New Label
With L
.Text = "STUDENT INFORMATION PROGRAM by Rica Mae Jinayon"
.Dock = DockStyle.Top
.AutoSize = False
.BackColor = Color.DarkBlue
.ForeColor = Color.White
.Height = 40
.TextAlign = ContentAlignment.MiddleLeft
.Font = New Font("Century Gothic", 18, FontStyle.Bold)
End With
Controls.Add(L)

p = New Panel
With p
.Name = "PNLINFO"
.Width = Width * 0.9
.Height = Height * 0.4
.BorderStyle = BorderStyle.FixedSingle
.Top = 60
.Left = Width * 0.05
End With
Controls.Add(p)

L = New Label
With L
.Text = "INFORMATION"
.Font = New Font("Arial", 18, FontStyle.Bold)
.TextAlign = ContentAlignment.MiddleCenter
.AutoSize = False
.BackColor = Color.DarkGreen
.ForeColor = Color.White
.Height = 40
.Dock = DockStyle.Top
End With
p.Controls.Add(L)

L = New Label
With L
.Text = "SELECT COURSE"
.Left = 10
.Top = 60
.AutoSize = True
End With
p.Controls.Add(L)

CBO = New ComboBox


With CBO
.Name = "CBOCOURSE"
.Items.Clear()
.Items.Add("Bachelor of Science in Information Technology")
.Items.Add("Bachelor of Science in Office Administration")
.Items.Add("Bachelor of Science in Hotel and Restaurant Management")
.Width = p.Width - 200
.Top = L.Top - 3
.Left = L.Left + 200
.DropDownStyle = ComboBoxStyle.DropDownList
End With
p.Controls.Add(CBO)

L = New Label
With L
.Left = 10
.Top = CBO.Top + 50
.Text = "LAST NAME: "
.AutoSize = True
End With
p.Controls.Add(L)

t = New TextBox
With t
.Name = "TXTLN"
.Left = CBO.Left
.Top = L.Top - 3
.Width = 200
End With
p.Controls.Add(t)

L = New Label
With L
.Left = 10
.Top = t.Top + 50
.Text = "FIRST NAME: "
.AutoSize = True
End With
p.Controls.Add(L)

t = New TextBox
With t
.Name = "TXTFN"
.Left = CBO.Left
.Top = L.Top - 3
.Width = 200
End With
p.Controls.Add(t)

L = New Label
With L
.Left = 10
.Top = t.Top + 50
.Text = "MIDDLE INITIAL: "
.AutoSize = True
End With
p.Controls.Add(L)

t = New TextBox
With t
.Name = "TXTMI"
.Left = CBO.Left
.Top = L.Top - 3
.Width = 200
End With
p.Controls.Add(t)

L = New Label
With L
.Left = 10
.Top = t.Top + 50
.Text = "Gender: "
.AutoSize = True
End With
p.Controls.Add(L)

RB = New RadioButton
With RB
.Name = "RBF"
.Text = "Female"
.Left = CBO.Left
.Top = L.Top - 3
.AutoSize = True
AddHandler .CheckedChanged, AddressOf RBF_Checkchanged
End With
p.Controls.Add(RB)

RB = New RadioButton
With RB
.Name = "RBM"
.Text = "Male"
.Left = p.Controls.Item("RBF").Left + 100
.Top = L.Top - 3
.AutoSize = True
AddHandler .CheckedChanged, AddressOf RBF_Checkchanged
End With
p.Controls.Add(RB)
End Sub

Private Sub designbuttons()


p = New Panel
With p
.Name = "PNLBUTTONS"
.Height = 50
.Left = Controls.Item("PNLINFO").Left
.BorderStyle = BorderStyle.FixedSingle
.Width = Controls.Item("PNLINFO").Width
.Top = Controls.Item("PNLINFO").Top + Controls.Item("PNLINFO").Height +
10
End With
Controls.Add(p)

b = New Button
With b
.Name = "BTNPRINTALL"
.Text = "PRINT ALL"
.FlatStyle = FlatStyle.Flat
.FlatAppearance.BorderSize = 0
.BackColor = Color.Green
.ForeColor = Color.White
.Cursor = Cursors.Hand
.Dock = DockStyle.Left
.Width = 150
AddHandler .Click, AddressOf BTNPRINTALL_CLICK
End With
p.Controls.Add(b)

b = New Button
With b
.Name = "BTNUPDATE"
.Text = "Update"
.FlatStyle = FlatStyle.Flat
.FlatAppearance.BorderSize = 0
.BackColor = Color.Green
.ForeColor = Color.White
.Cursor = Cursors.Hand
.Dock = DockStyle.Left
.Width = 150
.Enabled = False
AddHandler .Click, AddressOf BTNUPDATE_CLICK
End With
p.Controls.Add(b)

b = New Button
With b
.Name = "BTNSAVE"
.Text = "Save"
.FlatStyle = FlatStyle.Flat
.FlatAppearance.BorderSize = 0
.BackColor = Color.Green
.ForeColor = Color.White
.Cursor = Cursors.Hand
.Dock = DockStyle.Left
.Enabled = False
.Width = 150
AddHandler .Click, AddressOf BTNSAVE_CLICK
End With
p.Controls.Add(b)

b = New Button
With b
.Name = "BTNADD"
.Text = "Add New Entry"
.FlatStyle = FlatStyle.Flat
.FlatAppearance.BorderSize = 0
.BackColor = Color.Green
.ForeColor = Color.White
.Cursor = Cursors.Hand
.Dock = DockStyle.Left
.Width = 150
AddHandler .Click, AddressOf BTNADD_CLICK
End With
p.Controls.Add(b)

L = New Label
With L
.Text = "Search by Last Name"
.AutoSize = True
.Top = (p.Height - .Height) / 2
.Left = p.Controls.Item("BTNPRINTALL").Width +
p.Controls.Item("BTNPRINTALL").Left + 10
End With
p.Controls.Add(L)

b = New Button
With b
.Name = "BTNSEARCH"
.Text = "Search"
.FlatStyle = FlatStyle.Flat
.FlatAppearance.BorderSize = 0
.BackColor = Color.Green
.ForeColor = Color.White
.Cursor = Cursors.Hand
.Dock = DockStyle.Right
.Width = 150
AddHandler .Click, AddressOf BTNSEARCH_CLICK
End With
p.Controls.Add(b)

t = New TextBox
With t
.Name = "TXTSEARCH"
.Left = L.Width + L.Left + 10
.Width = 250
End With
p.Controls.Add(t)
t.Top = (p.Height - t.Height) / 2

End Sub
Private Sub designlists()
FLP = New FlowLayoutPanel
With FLP
.Name = "FLPLIST"
.Height = Height - (Controls.Item("PNLBUTTONS").Top +
Controls.Item("PNLBUTTONS").Height) - 20
.Left = Controls.Item("PNLINFO").Left
.BorderStyle = BorderStyle.FixedSingle
.Width = Controls.Item("PNLINFO").Width
.Top = Controls.Item("PNLBUTTONS").Top +
Controls.Item("PNLBUTTONS").Height + 10
.AutoScroll = True
End With
Controls.Add(FLP)

End Sub

Private Sub populatelist(ByVal p1 As String)


FLP = Controls.Item("FLPLIST")
FLP.Controls.Clear()
Try
OpenCon()
rs.Open(p1, con, 3, 3)
If Not rs.EOF Then
While Not rs.EOF
p = New Panel
With p
.BorderStyle = BorderStyle.FixedSingle
.Width = FLP.Width - 25
.Height = 40
End With
FLP.Controls.Add(p)

L = New Label
With L
.Name = "LBLCOURSE"
.Text = rs.Fields("COURSE").Value
.Dock = DockStyle.Fill
.TextAlign = ContentAlignment.MiddleRight
End With
p.Controls.Add(L)

L = New Label
With L
.Name = "LBLGENDER"
.Text = rs.Fields("GENDER").Value
.Dock = DockStyle.Left
.TextAlign = ContentAlignment.MiddleCenter
.Width = 100
End With
p.Controls.Add(L)

L = New Label
With L
.Name = "LBLMI"
.Text = rs.Fields("MIDDLE").Value
.Dock = DockStyle.Left
.TextAlign = ContentAlignment.MiddleLeft
.Width = 50
End With
p.Controls.Add(L)

L = New Label
With L
.Name = "LBLFN"
.Text = rs.Fields("FIRSTNAME").Value
.Dock = DockStyle.Left
.TextAlign = ContentAlignment.MiddleLeft
.Width = 200
End With
p.Controls.Add(L)

p.Controls.Add(L)

L = New Label
With L
.Name = "LBLLN"
.Text = rs.Fields("LASTNAME").Value
.Dock = DockStyle.Left
.TextAlign = ContentAlignment.MiddleLeft
.Width = 200
End With
p.Controls.Add(L)

b = New Button
With b
.Tag = rs.Fields("infoid").Value
.Dock = DockStyle.Right
.FlatStyle = FlatStyle.Flat
.FlatAppearance.BorderSize = 0
.Cursor = Cursors.Hand
.BackColor = Color.LightPink
.ForeColor = Color.Black
.Text = "DELETE"
.Font = New Font("consolas", 10)
AddHandler .Click, AddressOf BTNDELETE_CLICK

End With
p.Controls.Add(b)

b = New Button
With b
.Tag = rs.Fields("infoid").Value
.Dock = DockStyle.Right
.FlatStyle = FlatStyle.Flat
.FlatAppearance.BorderSize = 0
.Cursor = Cursors.Hand
.BackColor = Color.LightPink
.ForeColor = Color.Black
.Text = "EDIT"
.Font = New Font("consolas", 10)
AddHandler .Click, AddressOf BTNEDIT_CLICK

End With
p.Controls.Add(b)

b = New Button
With b
.Tag = rs.Fields("infoid").Value
.Dock = DockStyle.Right
.FlatStyle = FlatStyle.Flat
.FlatAppearance.BorderSize = 0
.Cursor = Cursors.Hand
.BackColor = Color.LightPink
.ForeColor = Color.Black
.Text = "PRINT"
.Font = New Font("consolas", 10)
AddHandler .Click, AddressOf BTNSELECTED_CLICK
End With
p.Controls.Add(b)

rs.MoveNext()
End While
End If
Catch ex As Exception
MsgBox(ex.Message)
Err.Clear()
Finally
CloseCon()
End Try
End Sub

Private Sub RBF_Checkchanged(ByVal sender As Object, ByVal e As EventArgs)


If sender.checked Then gender = sender.text
End Sub

Private Sub BTNPRINTALL_CLICK(ByVal sender As Object, ByVal e As EventArgs)


rpt = New CrystalReport1
With Form2

.CrystalReportViewer1.ReportSource = rpt
.CrystalReportViewer1.RefreshReport()
.ShowDialog()
End With
End Sub

Private Sub BTNUPDATE_CLICK(ByVal sender As Object, ByVal e As EventArgs)


Try
If isvalid() Then
p = Controls.Item("PNLINFO")
OpenCon()
rs.Open("select * from TBLINFO where infoid=" & infoid, con, 3, 3)
If Not rs.EOF Then
rs.Fields("LASTNAME").Value = p.Controls.Item("TXTLN").Text
rs.Fields("FIRSTNAME").Value = p.Controls.Item("TXTFN").Text
rs.Fields("MIDDLE").Value = p.Controls.Item("TXTMI").Text
rs.Fields("GENDER").Value = gender
rs.Update()
MsgBox("Record has been updated")
populatelist("SELECT TOP 10 *FROM TBLINFO ORDER BY LASTNAME")

End If
End If
Catch ex As Exception
MsgBox(ex.Message)
Err.Clear()
Finally
CloseCon()
End Try
End Sub

Private Sub BTNSAVE_CLICK(ByVal sender As Object, ByVal e As EventArgs)


Try
If isvalid() Then
p = Controls.Item("PNLINFO")
OpenCon()
rs.Open("select *from TBLINFO", con, 3, 3)
rs.AddNew()
rs.Fields("LASTNAME").Value = p.Controls.Item("TXTLN").Text
rs.Fields("FIRSTNAME").Value = p.Controls.Item("TXTFN").Text
rs.Fields("MIDDLE").Value = p.Controls.Item("TXTMI").Text
rs.Fields("GENDER").Value = gender
rs.Fields("COURSE").Value = p.Controls.Item("CBOCOURSE").Text
rs.Update()
MsgBox("New record has been added")
populatelist("SELECT TOP 10 *FROM TBLINFO ORDER BY LASTNAME")

End If
Catch ex As Exception
MsgBox(ex.Message)
Err.Clear()
Finally
CloseCon()
End Try
End Sub

Private Sub BTNADD_CLICK(ByVal sender As Object, ByVal e As EventArgs)


p = Controls.Item("PNLBUTTONS")
p.Controls.Item("BTNSAVE").Enabled = True
p.Controls.Item("BTNUPDATE").Enabled = False
End Sub

Private Sub BTNSEARCH_CLICK(ByVal sender As Object, ByVal e As EventArgs)


p = sender.parent
populatelist("SELECT TOP 10 *FROM TBLINFO where LASTNAME LIKE '%" &
p.Controls.Item("TXTSEARCH").Text & "&' ORDER BY LASTNAME")

End Sub

Private Sub BTNDELETE_CLICK(ByVal sender As Object, ByVal e As EventArgs)


Try
If MsgBox("You are about to delete a record permanently, continue?",
MsgBoxStyle.YesNo + MsgBoxStyle.Question, "delete a record?") = MsgBoxResult.No
Then Exit Sub
OpenCon()
rs.Open("delete from TBLINFO where infoid= " & sender.Tag, con, 3, 3)
MsgBox("Record has been deleted")
p = sender.parent
p.Dispose()
Catch ex As Exception
MsgBox(ex.Message)
Err.Clear()
Finally
CloseCon()
End Try
End Sub

Private Sub BTNEDIT_CLICK(ByVal sender As Object, ByVal e As EventArgs)


infoid = sender.tag
p = sender.parent
Controls.Item("PNLINFO").Controls.Item("CBOCOURSE").Text =
p.Controls.Item("LBLCOURSE").Text
Controls.Item("PNLINFO").Controls.Item("TXTLN").Text =
p.Controls.Item("LBLLN").Text
Controls.Item("PNLINFO").Controls.Item("TXTFN").Text =
p.Controls.Item("LBLFN").Text
Controls.Item("PNLINFO").Controls.Item("TXTMI").Text =
p.Controls.Item("LBLMI").Text
If p.Controls.Item("LBLGENDER").Text = "FEMALE" Then
RB = Controls.Item("PNLINFO").Controls.Item("RBF")
Else
RB = Controls.Item("PNLINFO").Controls.Item("RBM")
End If
RB.Checked = True

Controls.Item("PNLBUTTONS").Controls.Item("BTNSAVE").Enabled = False
Controls.Item("PNLBUTTONS").Controls.Item("BTNUPDATE").Enabled = True

End Sub

Private Sub BTNSELECTED_CLICK(ByVal sender As Object, ByVal e As EventArgs)


infoid = sender.tag
rpt = New CrystalReport1
With Form2
.CrystalReportViewer1.SelectionFormula = "{TBLINFO.INFOID}" & infoid
.CrystalReportViewer1.ReportSource = rpt
.CrystalReportViewer1.RefreshReport()
.ShowDialog()
End With

End Sub

Private Function isvalid() As Boolean


Dim r As Boolean = False
p = Controls.Item("PNLINFO")
If p.Controls.Item("CBOCOURSE").Text = "" Then
MsgBox("COURSE REQUIRED")
p.Controls.Item("CBOCOURSE").Focus()
ElseIf p.Controls.Item("TXTLN").Text = "" Then
MsgBox("LAST NAME REQUIRED")
p.Controls.Item("TXTLN").Focus()
ElseIf p.Controls.Item("TXTFN").Text = "" Then
MsgBox("FIRST NAME REQUIRED")
p.Controls.Item("TXTFN").Focus()
ElseIf p.Controls.Item("TXTMI").Text = "" Then
MsgBox("MIDDLE INITIAL REQUIRED")
p.Controls.Item("TXTMI").Focus()

ElseIf gender = "" Then


MsgBox("GENDER REQUIRED")
Else
r = True
End If
Return r
End Function

End Class

Você também pode gostar