5.4 RECOMMENDATIONS
This student information system was developed to manage student record and grades record in the College of natural and applied Sciences Katsina University, Katsina (KUK).
I therefore recommended its enhancement so that it operates online for ease of documents circulation within the faculty.
It is one of the recommendations that the katsina university katsina should implement the computerized student information system.
REFERENCES
Alex, P. K.(1998). Student Record, available at www.record.com/student
Astrahn et al.(1980),A History of Information Technology and System.
Banlhon and Buneman(1990),Cloud network architecture.
Codd(1990),ICT in Education possibities and challenges
Gons, R.(1997). Record Keeping, available at www.record/keeping.com
Hands on institute of information technology study guide(2003) volume1, first
edition published by HIIT limited, subject 8(pages 102-112)
Hollerith(1950), Electronic Document and Record Management chapter 1(page 7-10).
Idris(2009), Information –A Very Short Introduction.
Jauro, S.(2007), design of hospital record management software, Chapter3(pages
24-28).
Jega, A.M., Abba I.A, Wakili, H. (1994-2004), consolidating the citadel Bayero
University Kano(BUK), published by centre for democratic research and
training, Mambayya house, Chapter1(pages 1-76).
Lear(1957), Records Management /policy and guidance.
Microsoft Encarta 2009.
Ron,(1997).The World’s Technological Capacity to Store, Communication and Compute imformation,
Rob P., Seaman, E.(2000). Database design, development and deployment using
Microsoft access, International edition, published by Mc Grawhill Companies.
Saminu, N.M.(2008), Student Information System, Chapter1(pages 1-4),
Chapter2(pages 6- 18), Chapter3(20-24), Chapter4(pages 49-52).
Silberschatz, A., Sudarshan, H.F.(2000) Database system concept, 4th
Edition, Published by Mc Grawhill, Bangok, Kaula Lampur. Chapter1(pages1-9,
13, 14) Chapter1(pages 3-5).
Whittan,J.I and Bentley L.D.(1999) system analysis and design
method, 5th edition, published by Mc Grawhill, Briston, Chapter/(pages 162-170,
212 and 304), Chapter3(pages 392-410, 466-500).
Ward,P. and Dafoulas, G.(2006). Database management system, published by
Thomas Leanus, Australia Canada Chapter1(pages 3,4).
SOURCE CODES
Option Explicit
' Reg Key Security Options...
Const READ_CONTROL = &H20000
Const KEY_QUERY_VALUE = &H1
Const KEY_SET_VALUE = &H2
Const KEY_CREATE_SUB_KEY = &H4
Const KEY_ENUMERATE_SUB_KEYS = &H8
Const KEY_NOTIFY = &H10
Const KEY_CREATE_LINK = &H20
Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _
KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _
KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL
' Reg Key ROOT Types...
Const HKEY_LOCAL_MACHINE = &H80000002
Const ERROR_SUCCESS = 0
Const REG_SZ = 1 ' Unicode nul terminated string
Const REG_DWORD = 4 ' 32-bit number
Const gREGKEYSYSINFOLOC = "SOFTWARE\Microsoft\Shared Tools Location"
Const gREGVALSYSINFOLOC = "MSINFO"
Const gREGKEYSYSINFO = "SOFTWARE\Microsoft\Shared Tools\MSINFO"
Const gREGVALSYSINFO = "PATH"
Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
Private Sub cmdSysInfo_Click()
Call StartSysInfo
End Sub
Private Sub cmdOK_Click()
Unload Me
End Sub
Private Sub Form_Load()
Me.Caption = "About " & App.Title
lblVersion.Caption = "Version " & App.Major & "." & App.Minor & "." & App.Revision
lblTitle.Caption = App.Title
End Sub
Public Sub StartSysInfo()
On Error GoTo SysInfoErr
Dim rc As Long
Dim SysInfoPath As String
' Try To Get System Info Program Path\Name From Registry...
If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then
' Try To Get System Info Program Path Only From Registry...
ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then
' Validate Existance Of Known 32 Bit File Version
If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then
SysInfoPath = SysInfoPath & "\MSINFO32.EXE"
' Error - File Can Not Be Found...
Else
GoTo SysInfoErr
End If
' Error - Registry Entry Can Not Be Found...
Else
GoTo SysInfoErr
End If
Call Shell(SysInfoPath, vbNormalFocus)
Exit Sub
SysInfoErr:
MsgBox "System Information Is Unavailable At This Time", vbOKOnly
End Sub
Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean
Dim i As Long ' Loop Counter
Dim rc As Long ' Return Code
Dim hKey As Long ' Handle To An Open Registry Key
Dim hDepth As Long '
Dim KeyValType As Long ' Data Type Of A Registry Key
Dim tmpVal As String ' Tempory Storage For A Registry Key Value
Dim KeyValSize As Long ' Size Of Registry Key Variable
'------------------------------------------------------------
' Open RegKey Under KeyRoot {HKEY_LOCAL_MACHINE...}
'------------------------------------------------------------
rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' Open Registry Key
If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' Handle Error...
tmpVal = String$(1024, 0) ' Allocate Variable Space
KeyValSize = 1024 ' Mark Variable Size
'------------------------------------------------------------
' Retrieve Registry Key Value...
'------------------------------------------------------------
rc = RegQueryValueEx(hKey, SubKeyRef, 0, _
KeyValType, tmpVal, KeyValSize) ' Get/Create Key Value
If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' Handle Errors
If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then ' Win95 Adds Null Terminated String...
tmpVal = Left(tmpVal, KeyValSize - 1) ' Null Found, Extract From String
Else ' WinNT Does NOT Null Terminate String...
tmpVal = Left(tmpVal, KeyValSize) ' Null Not Found, Extract String Only
End If
'------------------------------------------------------------
' Determine Key Value Type For Conversion...
'------------------------------------------------------------
Select Case KeyValType ' Search Data Types...
Case REG_SZ ' String Registry Key Data Type
KeyVal = tmpVal ' Copy String Value
Case REG_DWORD ' Double Word Registry Key Data Type
For i = Len(tmpVal) To 1 Step -1 ' Convert Each Bit
KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1))) ' Build Value Char. By Char.
Next
KeyVal = Format$("&h" + KeyVal) ' Convert Double Word To String
End Select
GetKeyValue = True ' Return Success
rc = RegCloseKey(hKey) ' Close Registry Key
Exit Function ' Exit
GetKeyError: ' Cleanup After An Error Has Occured...
KeyVal = "" ' Set Return Val To Empty String
GetKeyValue = False ' Return Failure
rc = RegCloseKey(hKey) ' Close Registry Key
End FunctionPrivate Sub cmdEdit_Click()
Adodc1.Recordset.Update
MsgBox ("Account detail has been saved succesully")
Unload Me
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub Combo1_Change()
Combo1.Text = Text6.Text
End Sub
Private Sub Combo2_Change()
Combo2.Text = Text7.Text
End Sub
Private Sub Form_Load()
Adodc1.Recordset.AddNew
Text1.Text = Employee.Text1.Text
Text3.Text = Employee.Text3.Text & " " & Employee.Text4.Text & " " & Employee.Text2.Text
End Sub
Private Sub Command1_Click()
Dim b
Dim d As Integer
b = MsgBox("Save?", vbYesNo + vbQuestion, "Confirm")
If b = vbYes Then
If d <> Val(Text1.Text) Then
Adodc1.Recordset.Fields("sex") = Combo1.Text
Adodc1.Recordset.Fields("Position") = Combo2.Text
Adodc1.Recordset.Fields("Department") = Combo3.Text
Adodc1.Recordset.Fields("emp_type") = Combo4.Text
Adodc1.Recordset.Fields("STATUS") = Combo5.Text
Adodc1.Recordset.Fields("HOUSING STATUS") = Combo6.Text
Adodc1.Recordset.AddNew
Command5.Enabled = True
Command6.Enabled = True
MDIForm1.Toolbar1.Buttons.Item(4).Enabled = True
Else
MsgBox "Invalid Employee Number", vbInformation, "Number"
Adodc1.Recordset.CancelUpdate
Command7.Visible = True
End If
End If
End Sub
Private Sub Command10_Click()
Account.Show
End Sub
Private Sub Command11_Click()
promotion.Text1.Text = Me.Text1.Text
promotion.Text2.Text = Me.Combo3.Text
promotion.Text3.Text = Me.Text2.Text
promotion.Text4.Text = Me.Text3.Text
promotion.Text5.Text = Me.Text4.Text
promotion.Show
End Sub
Private Sub Command12_Click()
Form1.Show
End Sub
Private Sub Command2_Click()
Dim c
Dim a As Integer
c = MsgBox("Changes?", vbYesNo + vbQuestion, "Confirm")
If c = vbYes Then
If a <> Val(Text1.Text) Then
Adodc1.Recordset.Update
Else
MsgBox "Invalid Employee Number", vbInformation, "Number"
Adodc1.Recordset.CancelUpdate
End If
End If
End Sub
Public Sub Command3_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
Telno.Text = ""
Text12.Text = ""
Text13.Text = ""
Text15.Text = ""
Combo1.Text = ""
Combo2.Text = ""
Combo3.Text = ""
Combo4.Text = ""
Combo5.Text = ""
Combo6.Text = ""
Text1.SetFocus
End Sub
Private Sub Command4_Click()
Dim a
a = MsgBox("Do you really want to exit?", vbYesNo + vbQuestion, "Exit")
If a = vbYes Then
MainMenu.Show
Me.Hide
MDIForm1.Hide
End If
End Sub
Private Sub Command5_Click()
Employee.Hide
Payroll.Show
MDIForm1.Toolbar1.Buttons.Item(1).Enabled = True
MDIForm1.Toolbar1.Buttons.Item(3).Enabled = True
Payroll.WindowState = 2
End Sub
Public Sub Command6_Click()
If Employee.Visible = True Then
Dim search As String
search = InputBox("Enter Number", "Search")
Adodc1.Refresh
Adodc1.Recordset.MoveFirst
Do Until Adodc1.Recordset.EOF = True
If search = Adodc1.Recordset.Fields("Employee Number") Then
MsgBox "Record Found", vbInformation, "Record"
Exit Do
Else
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then
MsgBox "No Record Found", vbInformation, "Record"
End If
End If
Loop
End If
End Sub
Private Sub Command7_Click()
Adodc1.Recordset.AddNew
Command1.Visible = True
Command2.Enabled = False
Command5.Enabled = False
Command6.Enabled = False
Command3.Enabled = True
Command7.Visible = False
MDIForm1.Toolbar1.Buttons.Item(1).Enabled = True
MDIForm1.Toolbar1.Buttons.Item(3).Enabled = True
MDIForm1.Toolbar1.Buttons.Item(2).Enabled = False
MDIForm1.Toolbar1.Buttons.Item(4).Enabled = False
End Sub
Private Sub Command8_Click()
DataReport1.Show
End Sub
Private Sub Command9_Click()
Adodc1.Recordset.Delete
End Sub
Private Sub Form_Load()
Label22.Caption = Format(Now, "Mmm dd,yyyy hh:mm:ss ampm")
Combo1.AddItem "Male"
Combo1.AddItem "Female"
Combo2.AddItem "Manager"
Combo2.AddItem "Supervisor"
Combo2.AddItem "Other"
Combo3.AddItem "Accounting"
Combo3.AddItem "Computer"
Combo3.AddItem "Other"
Combo4.AddItem "Permanent"
Combo4.AddItem "Temprary"
Combo5.AddItem "Single"
Combo5.AddItem "Marriage"
Combo6.AddItem "Private"
Command1.Visible = False
Command3.Enabled = False
MDIForm1.Toolbar1.Buttons.Item(1).Enabled = False
MDIForm1.Toolbar1.Buttons.Item(3).Enabled = False
End Sub
Private Sub Timer1_Timer()
Label22.Caption = Format(Now, "Mmm dd,yyyy hh:mm:ss ampm")
End Sub
rivate Sub Command1_Click()
Dim usrname As String
Dim psword As String
Dim Msg As String
Register.Adodc1.Refresh
usrname = Text1.Text
psword = Text2.Text
Do Until Register.Adodc1.Recordset.EOF
If Register.Adodc1.Recordset.Fields("username").Value = usrname And Register.Adodc1.Recordset.Fields("password").Value = psword Then
Login.Hide
MainMenu.Show
Exit Sub
Else
Register.Adodc1.Recordset.MoveNext
End If
rivate Sub Command1_Click(Index As Integer)
Employee.Show
End Sub
Private Sub Command2_Click(Index As Integer)
Payroll.Show
End Sub
Private Sub Command3_Click(Index As Integer)
Register.Show
End Sub
Private Sub Command5_Click(Index As Integer)
DataReport1.Show
End Sub
Private Sub Command6_Click()
End
End Sub
Private Sub mnuAbout_Click()
About.Show
End Sub
Private Sub mnuChange_Click()
Password.Show
End Sub
Private Sub mnuExit_Click()
Dim a
a = MsgBox("Do you really want to exit?", vbYesNo + vbQuestion, "Exit")
If a = vbYes Then
MainMenu.Show
Me.Hide
MDIForm1.Hide
End If
End Sub
Private Sub mnuInfo_Click()
Employee.Show
Payroll.Hide
End Sub
Private Sub mnuPayslip_Click()
Payroll.Show
Employee.Hide
End Sub
Private Sub mnuRegister_Click()
Register.Show
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button
Case Toolbar1.Buttons.Item(1)
If Employee.Visible = True Then
Employee.Adodc1.Recordset.AddNew
Else
Payroll.Adodc1.Recordset.AddNew
End If
Case Toolbar1.Buttons.Item(2)
If Employee.Visible = True Then
Employee.Adodc1.Recordset.Update
Else
Payroll.Adodc1.Recordset.Update
End If
Case Toolbar1.Buttons.Item(3)
If Employee.Visible = True Then
Employee.Command3.Value = True
Else
Payroll.Command3.Value = True
End If
Case Toolbar1.Buttons.Item(4)
If Employee.Visible = True Then
Employee.Command6.Value = True
Else
Payroll.Command4.Value = True
End If
Case Toolbar1.Buttons.Item(5)
If Employee.Visible = True Then
Employee.Adodc1.Recordset.MoveFirst
Else
Payroll.Adodc1.Recordset.MoveFirst
End If
Case Toolbar1.Buttons.Item(6)
If Employee.Visible = True Then
On Error Resume Next
Employee.Adodc1.Recordset.MovePrevious
Else
On Error Resume Next
Payroll.Adodc1.Recordset.MovePrevious
End If
Case Toolbar1.Buttons.Item(7)
If Employee.Visible = True Then
On Error Resume Next
Employee.Adodc1.Recordset.MoveNext
Else
On Error Resume Next
Payroll.Adodc1.Recordset.MoveNext
End If
Case Toolbar1.Buttons.Item(8)
If Employee.Visible = True Then
Employee.Adodc1.Recordset.MoveLast
Else
Payroll.Adodc1.Recordset.MoveLast
End If
Case Toolbar1.Buttons.Item(9)
If Employee.Visible = True Then
MsgBox "No Computation", vbInformation, "Compute"
Else
Payroll.Command5.Value = True
End If
Case Toolbar1.Buttons.Item(10)
If Employee.Visible = True Then
DataReport1.Show
Else
DataReport2.Show
End If
End Select
End Sub
Share with your friends: |