“ POLYCLINIC INFORMATION SYSTEM”

PROJECT REPORT 2004
Submitted for the partial fulfillment of the requirement of the award Of

MASTER OF COMPUTER APPLICATION

SUBMITTED BY Manish Kumar Dubey
ROLL NO. 0203714046

UNDER THE GUIDANCE OF
Internal Guide: Mr Rajeev pathak

INSTITUTE OF MANAGEMENT EDUCATION SAHIBABAD

178, MAIN G.T. ROAD SAHIBABAD, GHAZIABAD(U.P) CERTIFICATE
This is to certify that the project report titled “ LIBRARY INFORMATION SYSTEM” is a bonafied work carried out by JAI PRAKASH PANDEY in partial fulfillment of the requirement for the degree of Master of computer application from Uttar Pradesh Technical University, Lucknow under the guidance and direction.

INTERNAL GUIDE

H.O.D SEAL

EXAMINER

ACKNOWLEDGEMENT

Nothing concrete can be achieved without an optimal combination of the inspiration and perspiration. No work accomplished without the guidance of the experts . It is only the critiques from ingenious , intellectuals that help transforms the product into a quality product. This project is the result of countless hours works of mine. For this I am grateful toward Mr. Rakesh Arora internal guide for his valuable guidance and sustained help to me during the making of this project. I am also thankful to Mr.Rajiv Pathak H.O.D of IT deptt .for his assistance and encouragement to complete the peoject on time . We are also grateful to Lab Assistant & other members who have helped me to complete the project.

Jai Prakash pandey MCA-IVth Sem. Roll. 0203714036

INDEX

1. INTRODUCTION 2. ANALYSIS  Data Flow Diagram  ER Diagram  Synopsis of Table 3. DATA DESIGN  I/O Forms  Reports  Coding 4. TESTING 5. IMPLEMENTATION  Software  Hardware 6. MAINTENANCE 7. CONCLUSIONS  Limitations  Enhancement 8. APPENDIX

`PREFACE`
` This project (Library Information System) is a general purpose project , which satisfies all the needs of a typical library system. The project has been tailored to solve the problems faced by the Librarian, Members &Students in a manual processing of the information. Librarian usually perform their work manually in which large amount of time and human effort is wasted in retrieving information ,handling of huge data ,generation of reports ,updation of data etc. These problems can be easily solved by the automation of existing library information. The package “ Library Information System” is fully menu driven and provide very quick and accurate information about all the members ,issued and return status of books.

INTRODUCTION
Library Information system

Library Information System has been made a view to provide the members ,employee & students with better facilities to obtain Books, cd’s for educational purpose. The main purpose is to provide easy and convenient way to the members & students to get or issue books from library with inbuilt security features. The system provides information about to be issued & returned status of the Books & Cd’s.and also provides the information that which book is issued to which member or student. Different members or students have different choices of books as per their requirement , this system provides easy navigational features which provides a very user-friendly interface which help the students & members to obtain books & cd’c easily.

DESCRIPTION Modules:The whole project has been divided into following modules:       Security Modules Data Capture Module Operational Module Data Updating Module Data Display Module Data Report Module

->Security Module: The security modules of the project contains Two interface: i>Login Interface ii> Password Interface i> Login Interface: The Login interface has been designed so that only authorized user can access the transaction of the books and make the necessary entry and updation. ii> Password Interface: The password changing interface has been designed so that the user can change the password for increased security.  Data Capture Module:-

The data capture module of the project contains the following interface: student information interface, member information interface, employee information interface, issue & return information interface and add/update information interface.  Student info. Interface: The student info interface keeps all the info regarding his name, id, class, address,phone no, and also the info. regarding the issue of books like the date of issue, date of returning  member info interface: The member info interface takes the info about the members to whom the book is issued and info like name, id, address, phone no, email.  Employee Information Interface The employee info interface keeps the info regarding his name, address, designation, date of joining. And so on.  Issue & Return Status: This interface keeps tracks of all the info like which book is issued to which student or member ,date of issue, the date of returning.  Updation info interface: In this interface we can add, updatew the information regarding the books ,the members and so on.  OPERATIONAL MODULE: The operational module of the project shows how various operation are being carried out in hierarchy

when the administrator enters the data or updates the data.

 DATA UPDATING MODULE: The data updating module contains the following interface: student information updating interface, member info updating interface, and information changing interface.

 DATA DISPLAY MODULE: The data display module contains the following interfaces: students info. interface, member info. interface, employee info. interface, searching interface. ->DATA REPORT MODULE: The data report –module generates the reports for the transaction of books . It generates the reports in the standard format and also allows for printing or saving the data reports. .

ANALYSIS

Analysis is a set of model which shows the technical representation of the system. Analysis is a model building activity in which we use notation that satisfies the operational principles. In this we create a model that depict information content and flow ,we partition the system functionally and behaviorally and we depict the essence of what must be built The analysis model must achieve three primary objectives : 1.> Requirements Description of system 2.> Establish a basis for creation of software design. 3.> Define a set of requirements that can be validated once the software is built.

ER DIAGRAM OF BOOKS TABLE

2
BOOK_ID TITLE AUTHOR

BOOKS PRICE

EDITION

ISBN PUBLISHER CAT_ID

ER DIAGRAM OF STUDENT TABLE

2

NAME STD_ID CLASS

STUDENT

EMAIL PHONE ADDRESS

ER DIAGRAM OF MEMBER TABLE

3

NAME

ADDRESS MEM_ID

MEMBER

PHONE EMAIL

ER DIAGRAM OF BOOK ISSUE

4 ACC NO.

ISSUE BOOK

NAME

ISSUE DATE

DATA FLOW DIAGRAM
The DFD was first developed by Larry Constantine as a way of expressing system requirement\s in graphical form. A DFD also known as a ‘BUBBLE CHART’ has the purpose of clarifying system requirements and identifying major transformation that will become programs in system design.

DFD Symbols In the DFD there are Four symbol as shown below in fig.
1. A square defines a Source or Destination of the system data. 2. An arrow identifies Data flow –Data in motion . It is a pipeline through which information flows 3. A circle or a ‘BUBBLE’ represents a process that transforms incoming data flow into outgoing Data flow. 4. A open rectangle is data store

DFD SYMBOLS 1 PROCESS

DATA STORE

SOURCE/SINK

DATA FLOW

ER DIAGRAM OF BOOKS TABLE

2
BOOK_ID TITLE AUTHOR

BOOKS PRICE

EDITION

ISBN PUBLISHER CAT_ID

LIBRARY INFORMATION SYSTEM DATA FLOW DIAGRAM

LEV.1 2.1 BOOKS-TRANS.

2.2 BOOKS-SEARCH

2 MAIN

2.3 MEMBERS 2.5 STUDENTS

2.4 EMPLOYEE.

2

2.1 TRANSACTIONS

2.1.1 BOOK-ISSUED

2.1.2 BOOK-MISSED Book-info. Book_detail

Std_id,name&class,

employee-id,name&design. Book-info,doi,toi,dor STUDENT Bal;ance 2.1.3 RETURN EMPLOYEE balance

3 2.2 BOOK_SEARCH

2.2.1 MISSED

2.2.2 AVAILABLE

2.2.3 ISSUED

Book_info

BOOK_INFO.

BOOK_INFO.

Book_id,doi,dor,toi,tor. Std_id,name&class

book_id,doi Dor,toi,tor, Staff_id, Name& Design.

BOOK-DETAIL

STUDENT

EMPLOYEE

4

2.3 MEMBERS

2.3.1 STUDENTS

2.3.2 EMPLOYEE

Student_details ADMINISTRATOR

EMPLOYEE_details

Info_details to update

2.3.3 UPDATE

BOOK-ISSUED &RETURN

1

STUDENTS STUDENTS

Book_info, Doi,toi 2.1.1.1 ISSUED& RETURN Book_info., Dor,tor

UPDATE

EMPLOYEE EMPLOYEE

DATABASE

SYSTEM DESIGN

After analysing the various aspects of the proposed system one has to go on with the design phase ,which includes:  Input Design  Database Design  Output Design  Form Design

DATA BASE DESIGN BOOKS TABLE:FIELD NAME
ACC.NO TITLE AUTHOR PUBLISHER EDITION PRICE CAT_ID ISBN *

DATA TYPE
NUMBER TEXT TEXT TEXT NUMBER NUMBER TEXT TEXT

SIZE
10 25 20 20 10 05 10 20

STUDENTS TABLE:FIELD NAME DATA TYPE
STUDENT ID * NAME CLASS SECTION ADDRESS PHONE NO TEXT TEXT NUMBER NUMBER TEXT NUMBER

SIZE
10 30 02 02 50 11

MEMBER TABLE:FIELD NAME MEMBER ID * NAME ADDRESS PHONE NO DATE OF JOINING DATA TYPE TEXT TEXT TEXT NUMBER DATE/TIME SIZE 10 25 50 12 -

EMPLOYEE TABLE:FIELD NAME EMP_ID * NAME ADDRESS 1 ADDRESS 2 PHONE NO EMAIL PASSWORD DATA TYPE TEXT TEXT TEXT TEXT NUMBER TEXT TEXT SIZE 10 25 50 50 12 25 10

BOOK ISSUE TABLE:FIELD NAME MEMBER ID * STUDENT ID BOOK NAME CD NAME BOOK ID ISSUE DATE R. DATE DATA TYPE TEXT TEXT TEXT TEXT TEXT DATE/TIME DATE/TIME SIZE 10 10 20 20 05 -

CD TABLE:FIELD NAME
CD_CODE * CD NAME CD TYPE STATUS

DATA TYPE
TEXT TEXT TEXT TEXT

SIZE
10 10 10 10

MAGAZINE TABLE:FIELD NAME
SERIAL NO * NAME TYPE

DATA TYPE
TEXT TEXT TEXT

SIZE
15 15 10

* Primary Key

Login form:

Dim r As New Recordset Dim ct As Control Dim cn As New Connection Private Sub cmdexit_Click() Unload Me End Sub Private Sub cmdstart_Click() r.MoveFirst Do While Not r.EOF If UCase(Trim(TXTUN)) = UCase(Trim(r!Username)) And Trim(TXTPASS) = Trim(r!Password) Then i=1 frmMain.Show frmlogin.Hide Exit Do End If r.MoveNext Loop If i = 0 Then MsgBox "Invalid user." TXTUser = "" TXTPASS = "" End If End Sub Private Sub Form_Activate() TXTUN.Text = "" TXTPASS.Text = "" End Sub

Private Sub Form_Load() Dim i As Integer With cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "data source=" & App.Path & "\library.mdb" .Open End With r.Open "select * from login", cn, adOpenDynamic, adLockOptimistic i=0 End Sub

Main form
Private Sub emp_Click() frmEmployee.Show End Sub Private Sub MDIForm_Load() frmlogin.Show End Sub Private Sub muna_Click() frmabout.Show End Sub Private Sub munb_Click() frmBook.Show End Sub Private Sub munc_Click() frmCD.Show End Sub Private Sub muncc_Click() frmcdreport.Show End Sub Private Sub munE_Click() 'Dim i As Integer 'i = MsgBox("Are you sure?", vbYesNo) 'If i = vbYes Then ' frmMain.Show

'End If Unload Me End Sub Private Sub munI_Click() Load frmIssue frmIssue.Visible = True frmIssue.Show End Sub Private Sub MUNIBC_Click() frmissuedreport.Show End Sub Private Sub munm_Click() frmmagazine.Show End Sub Private Sub munmbr_Click() frmmissingreport.Show End Sub Private Sub munMem_Click() frmMember.Show End Sub Private Sub munml_Click() frmmemberreport.Show End Sub Private Sub munR_Click() frmreturn.Show End Sub

Private Sub munRC_Click() frmreturnreport.Show End Sub Private Sub munS_Click() frmstudent.Show End Sub Private Sub munmg_Click() frmmagazinereport.Show End Sub

Book form
Dim cn As New Connection Dim rs As New Recordset Dim ct As Control Private Sub cmdCancel_Click() rs.CancelUpdate rs.MoveFirst display list disable End Sub Private Sub cmdDelete_Click() Dim i As Integer i = MsgBox("ARE YOU SURE?", vbYesNo) If i = vbYes Then rs.Delete rs.MoveFirst display MsgBox "RECORD DELETED" End If list End Sub Private Sub cmdModify_Click() Enable End Sub Private Sub CmdNew_Click() For Each ct In Me If TypeOf ct Is TextBox Then

ct.Text = "" End If Next Dim newNo As String Dim iBookNo As Integer rs.MoveLast newNo = rs!Bookid iBookNo = Val(Mid(newNo, 2, 3)) + 1 If iBookNo < 10 Then txtBookID = "B00" & iBookNo ElseIf iBookNo < 100 Then txtBookID = "B0" & iBookNo ElseIf iBookNo < 1000 Then TxtBookNO = "B" & iBookNo End If rs.AddNew Enable End Sub Private Sub cmdSave_Click() If TXTBOOKN = "" Or txtBookID = "" Or txtuthor = "" Or txtPrice = "" Or txtEdition = "" Or txtPub = "" Or Combo2 = "" Or Combo1 = "" Then MsgBox (" enter the value ") Else rs!Bookname = TXTBOOKN rs("BookID") = txtBookID rs("Author") = txtuthor rs("Edition") = txtEdition rs("Publisher") = txtPub rs("Price") = txtPrice rs("Category") = Combo2 rs("Status") = "available" rs.Update

disable list End If End Sub

Private Sub Form_Load() With cn .Provider = "microsoft.jet.OLEDB.4.0" .ConnectionString = "data source =" & App.Path & "\library.mdb" .Open End With rs.Open "select * from BookMaster", cn, adOpenDynamic, adLockOptimistic display list disable End Sub Private Sub List1_Click() rs.MoveFirst rs.Move List1.ListIndex display End Sub Public Sub display() TXTBOOKN = rs!Bookname txtBookID = rs("BookID") txtuthor = rs("author") txtEdition = rs("Edition") txtPub = rs("Publisher")

txtPrice = rs("Price") Combo2 = rs("Category") Combo1 = rs("Status") End Sub Public Sub Enable() For Each ct In Me If TypeOf ct Is TextBox Then ct.Enabled = True End If Next For Each ct In Me If TypeOf ct Is CommandButton Then ct.Enabled = False End If Next cmdsave.Enabled = True cmdcancel.Enabled = True List1.Enabled = False End Sub Public Sub disable() For Each ct In Me If TypeOf ct Is TextBox Then ct.Enabled = False End If Next For Each ct In Me If TypeOf ct Is CommandButton Then ct.Enabled = True End If Next cmdsave.Enabled = False cmdcancel.Enabled = False List1.Enabled = True End Sub

Public Sub list() List1.Clear rs.MoveFirst While Not rs.EOF List1.AddItem rs("BookID") rs.MoveNext Wend rs.MoveFirst display End Sub Private Sub TXTBOOKN_KeyDown(KeyCode As Integer, Shift As Integer) If ((KeyCode >= 33 And KeyCode <= 64) Or (KeyCode >= 91 And KeyCode <= 96) Or (KeyCode >= 123 And KeyCode <= 255)) Then MsgBox ("ENTER THE CHARACTER") TXTBOOKN = "" TXTBOOKN.SetFocus End If End Sub Private Sub TXTBOOKN_LostFocus() TXTBOOKN = StrConv(TXTBOOKN, vbProperCase) End Sub Private Sub txtPrice_KeyDown(KeyCode As Integer, Shift As Integer) If Not (KeyCode >= 48 And KeyCode <= 57) Then MsgBox ("PLEASE ENTER THE NUMERIC KEY") txtPrice = "" txtPrice.SetFocus

End If End Sub Private Sub txtPub_KeyDown(KeyCode As Integer, Shift As Integer) If ((KeyCode >= 33 And KeyCode <= 64) Or (KeyCode >= 91 And KeyCode <= 96) Or (KeyCode >= 123 And KeyCode <= 255)) Then MsgBox ("ENTER THE CHARACTER") txtPub = "" txtPub.SetFocus End If End Sub Private Sub TXTuthor_KeyDown(KeyCode As Integer, Shift As Integer) If ((KeyCode >= 33 And KeyCode <= 64) Or (KeyCode >= 91 And KeyCode <= 96) Or (KeyCode >= 123 And KeyCode <= 255)) Then MsgBox ("ENTER THE CHARACTER") txtuthor = "" txtuthor.SetFocus End If End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) cn.Close End Sub Private Sub txtedition_KeyDown(KeyCode As Integer, Shift As Integer) If Not (KeyCode >= 48 And KeyCode <= 57) Then

MsgBox ("PLEASE ENTER THE NUMERIC KEY") txtEdition = "" txtEdition.SetFocus End If End Sub

Student form
Dim rstudent As New Recordset Dim ct As Control Dim c As New Connection Private Sub cmdCancel_Click() rstudent.CancelUpdate rstudent.MoveFirst disable display filllist End Sub Private Sub cmdDelete_Click() Dim i As Integer i = MsgBox("ARE YOU SURE?", vbYesNo) If i = vbYes Then rstudent.Delete rstudent.MoveFirst display MsgBox "RECORD DELETED" End If filllist End Sub Private Sub cmdModify_Click() enab End Sub Private Sub CmdNew_Click() For Each ct In Me If TypeOf ct Is TextBox Then ct.Text = "" End If Next Dim newNo As String

Dim imemberNo As Integer rstudent.MoveLast newNo = rstudent!StudentId imemberNo = Val(Mid(newNo, 2, 3)) + 1 If imemberNo < 10 Then txtSID = "S00" & imemberNo ElseIf iMember < 100 Then txtSID = "S0" & imemberNo ElseIf imemberNo < 1000 Then txtSID = "S" & imemberNo End If rstudent.AddNew enab End Sub Private Sub cmdSave_Click() If txtSID = "" Or TxtClass = "" Or txtName = "" Or TxtClass = "" Or txtSec = "" Or txtAddress = "" Or txtPn = "" Then MsgBox "enter the value" Else rstudent!StudentId = txtSID rstudent!Name = txtName rstudent!Class = TxtClass rstudent!Section = txtSec rstudent!Address = txtAddress rstudent!PhoneNo = txtPn rstudent.Update disable filllist End If End Sub Private Sub Combo1_Click() rstudent.MoveFirst

rstudent.Move Combo1.ListIndex display End Sub Private Sub Form_Load() c.Provider = "Microsoft.Jet.OLEDB.4.0" c.ConnectionString = "data source=" & App.Path & "\Library.mdb" c.Open rstudent.Open "select * from studentmaster", c, adOpenDynamic, adLockOptimistic disable filllist End Sub Public Sub enab() For Each ctl In Me If TypeOf ctl Is TextBox Then ctl.Enabled = True End If Next For Each ctl In Me If TypeOf ctl Is CommandButton Then ctl.Enabled = False End If Next cmdsave.Enabled = True cmdcancel.Enabled = True End Sub Public Sub disable() For Each ctl In Me If TypeOf ctl Is TextBox Then ctl.Enabled = False End If

Next For Each ctl In Me If TypeOf ctl Is CommandButton Then ctl.Enabled = True End If Next cmdsave.Enabled = False cmdcancel.Enabled = False End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) c.Close End Sub Public Sub display() txtSID = rstudent!StudentId txtName = rstudent!Name TxtClass = rstudent!Class txtSec = rstudent!Section txtAddress = rstudent!Address txtPn = rstudent!PhoneNo rstudent.Update disable End Sub Public Sub filllist() Combo1.Clear rstudent.MoveFirst While Not rstudent.EOF Combo1.AddItem rstudent("studentID") rstudent.MoveNext Wend

rstudent.MoveFirst display End Sub Private Sub txtname_KeyDown(KeyCode As Integer, Shift As Integer) If ((KeyCode >= 33 And KeyCode <= 64) Or (KeyCode >= 91 And KeyCode <= 96) Or (KeyCode >= 123 And KeyCode <= 255)) Then MsgBox ("ENTER THE CHARACTER") txtName = "" txtName.SetFocus End If End Sub Private Sub txtsec_KeyDown(KeyCode As Integer, Shift As Integer) If ((KeyCode >= 33 And KeyCode <= 64) Or (KeyCode >= 91 And KeyCode <= 96) Or (KeyCode >= 123 And KeyCode <= 255)) Then MsgBox ("ENTER THE CHARACTER") txtSec = "" txtSec.SetFocus End If End Sub Private Sub txtpn_KeyDown(KeyCode As Integer, Shift As Integer) If Not (KeyCode >= 48 And KeyCode <= 57) Then MsgBox ("PLEASE ENTER THE NUMERIC KEY") txtPn = "" txtPn.SetFocus End If

End Sub Private Sub txtclass_KeyDown(KeyCode As Integer, Shift As Integer) If Not (KeyCode >= 48 And KeyCode <= 57) Then MsgBox ("PLEASE ENTER THE NUMERIC KEY") TxtClass = "" TxtClass.SetFocus End If End Sub

MEMBER FORM Dim con As New Connection Dim rmember As New Recordset Dim ctl As Control Private Sub cmdCancel_Click() rmember.CancelUpdate rmember.MoveFirst filllist Bigshow disable End Sub Private Sub cmdDelete_Click() Dim i As Integer i = MsgBox("ARE YOU SURE?", vbYesNo) If i = vbYes Then rmember.Delete rmember.MoveFirst Bigshow MsgBox "RECORD DELETED" End If filllist End Sub Private Sub cmdModify_Click() Enable End Sub Private Sub CmdNew_Click() For Each ctl In Me If TypeOf ctl Is TextBox Then ctl.Text = "" End If

Next Dim newNo As String Dim imemberNo As Integer rmember.MoveLast newNo = rmember!MemberID imemberNo = Val(Mid(newNo, 2, 3)) + 1 If imemberNo < 10 Then txtMii = "M00" & imemberNo ElseIf iMii < 100 Then txtMii = "M0" & imemberNo ElseIf iMemberID < 1000 Then txtMii = "M" & imemberNo End If rmember.AddNew Enable End Sub Private Sub Combo1_Click() rmember.MoveFirst rmember.Move Combo1.ListIndex Bigshow End Sub Private Sub Form_Load() con.Provider = "Microsoft.Jet.OLEDB.4.0" con.ConnectionString = "data source=" & App.Path & "\Library.mdb" con.Open rmember.Open "select * from membermaster", con, adOpenDynamic, adLockOptimistic disable filllist End Sub

Public Sub Enable() For Each ctl In Me If TypeOf ctl Is TextBox Then ctl.Enabled = True End If Next For Each ctl In Me If TypeOf ctl Is CommandButton Then ctl.Enabled = False End If Next cmdsave.Enabled = True cmdcancel.Enabled = True End Sub Public Sub disable() For Each ctl In Me If TypeOf ctl Is TextBox Then ctl.Enabled = False End If Next For Each ctl In Me If TypeOf ctl Is CommandButton Then ctl.Enabled = True End If Next cmdsave.Enabled = False cmdcancel.Enabled = False End Sub Public Sub Bigshow() txtMii = rmember!MemberID txtName = rmember!Name txtAddress = rmember!Address

txtPn = rmember!Phone txtDoj = rmember!Dateofjoining txtEd = rmember!Expirydate End Sub Private Sub cmdSave_Click() If txtMii = "" Or txtName = "" Or txtAddress = "" Or txtPn = "" Or txtDoj = "" Or txtEd = "" Then MsgBox ("ENTER THE VALUE") Else rmember!MemberID = txtMii rmember!Name = txtName rmember!Address = txtAddress rmember!Phone = txtPn rmember!Dateofjoining = txtDoj rmember!Expirydate = txtEd rmember.Update disable filllist End If End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) con.Close End Sub Public Sub filllist() Combo1.Clear rmember.MoveFirst While Not rmember.EOF Combo1.AddItem rmember("memberid") rmember.MoveNext Wend rmember.MoveFirst Bigshow

End Sub Private Sub txtname_KeyDown(KeyCode As Integer, Shift As Integer) If ((KeyCode >= 33 And KeyCode <= 64) Or (KeyCode >= 91 And KeyCode <= 96) Or (KeyCode >= 123 And KeyCode <= 255)) Then MsgBox ("ENTER THE CHARACTER") txtName = "" txtName.SetFocus End If End Sub Private Sub txtpn_KeyDown(KeyCode As Integer, Shift As Integer) If Not (KeyCode >= 48 And KeyCode <= 57) Then MsgBox ("PLEASE ENTER THE NUMERIC KEY") txtPn = "" txtPn.SetFocus End If End Sub

MAGAZINE FORM Dim co As New Connection Dim rm As New Recordset Dim ct1 As Control Private Sub CmdAdd_Click() For Each ct In Me If TypeOf ct Is TextBox Then ct.Text = "" End If Next Dim newNo As String Dim i As Integer rm.MoveLast newNo = rm!MagazineID i = Val(Mid(newNo, 2, 3)) + 1 If i < 10 Then txtSerial = "Z00" & i ElseIf i < 100 Then txtSerial = "Z0" & i ElseIf i < 1000 Then txtSerial = "Z" & i End If rm.AddNew enab End Sub Private Sub cmdCancel_Click() rm.CancelUpdate rm.MoveFirst play disable list End Sub

Private Sub cmdDelete_Click() Dim i As Integer i = MsgBox("ARE YOU SURE?", vbYesNo) If i = vbYes Then rm.Delete rm.MoveFirst play MsgBox "RECORD DELETED" End If list End Sub Private Sub cmdModify_Click() enab End Sub Private Sub cmdSave_Click() If txtSerial = "" Or txtName = "" Or txttype = "" Then MsgBox ("ENTER THE VALUE") Else rm!MagazineID = txtSerial rm!Name = txtName rm!Type = txttype rm.Update disable list End If End Sub Public Sub play() txtSerial = rm!MagazineID txtName = rm!Name txttype = rm!Type End Sub

Private Sub Form_Load() co.Provider = "Microsoft.Jet.OLEDB.4.0" co.ConnectionString = "data source=" & App.Path & "\Library.mdb" co.Open rm.Open "select * from MagazineMaster", co, adOpenDynamic, adLockOptimistic list play disable End Sub Private Sub List1_Click() rm.MoveFirst rm.Move List1.ListIndex play End Sub

Public Sub enab() For Each ctl In Me If TypeOf ctl Is TextBox Then ctl.Enabled = True End If Next For Each ctl In Me If TypeOf ctl Is CommandButton Then ctl.Enabled = False End If Next cmdsave.Enabled = True cmdcancel.Enabled = True End Sub

Public Sub disable() For Each ctl In Me If TypeOf ctl Is TextBox Then ctl.Enabled = False End If Next For Each ctl In Me If TypeOf ctl Is CommandButton Then ctl.Enabled = True End If Next cmdsave.Enabled = False cmdcancel.Enabled = False End Sub Public Sub list() List1.Clear rm.MoveFirst While Not rm.EOF List1.AddItem rm("MagazineID") rm.MoveNext Wend rm.MoveFirst play End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) co.Close End Sub

Private Sub txtname_KeyDown(KeyCode As Integer, Shift As Integer) If ((KeyCode >= 33 And KeyCode <= 64) Or (KeyCode >= 91 And KeyCode <= 96) Or (KeyCode >= 123 And KeyCode <= 255)) Then MsgBox ("ENTER THE CHARACTER") txtName = "" txtName.SetFocus End If End Sub

CD FORM Dim c As Control Dim rcd As New Recordset Dim co As New Connection Private Sub cmdCancel_Click() rcd.CancelUpdate rcd.MoveFirst play disable End Sub Private Sub cmdDelete_Click() Dim i As Integer i = MsgBox("ARE YOU SURE?", vbYesNo) If i = vbYes Then rcd.Delete rcd.MoveFirst play MsgBox "RECORD DELETED" End If list End Sub Private Sub cmdModify_Click() enab End Sub Private Sub CmdNew_Click() For Each c In Me If TypeOf c Is TextBox Then c.Text = "" End If

Next Dim newNo As String Dim iCd As Integer rcd.MoveLast newNo = rcd!cdcode iCd = Val(Mid(newNo, 2, 3)) + 1 If iCd < 10 Then txtCode = "C00" & iCd ElseIf iCd < 100 Then txtCode = "C0" & iCd ElseIf iCd < 1000 Then txtCode = "C" & iCd End If rcd.AddNew enab End Sub Private Sub cmdSave_Click() If txtCode = "" Or txtName = "" Or txttype = "" Or txtstatus = "" Then MsgBox ("enter the value") Else rcd!cdcode = txtCode rcd!cdname = txtName rcd!Type = txttype rcd!Status = txtstatus rcd.Update disable list End If End Sub Private Sub Form_Load() co.Provider = "Microsoft.Jet.OLEDB.4.0"

co.ConnectionString = "data source=" & App.Path & "\Library.mdb" co.Open rcd.Open "select * from CDmaster", co, adOpenDynamic, adLockOptimistic disable list End Sub Public Sub play() txtCode = rcd!cdcode txtName = rcd!cdname txttype = rcd!Type txtstatus = rcd!Status End Sub Public Sub enab() For Each c In Me If TypeOf c Is TextBox Then c.Enabled = True End If Next For Each c In Me If TypeOf c Is CommandButton Then c.Enabled = False End If Next cmdsave.Enabled = True cmdcancel.Enabled = True End Sub Public Sub disable() For Each c In Me If TypeOf c Is TextBox Then

c.Enabled = False End If Next For Each c In Me If TypeOf c Is CommandButton Then c.Enabled = True End If Next cmdsave.Enabled = False cmdcancel.Enabled = False End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) co.Close End Sub Private Sub List1_Click() rcd.MoveFirst rcd.Move List1.ListIndex play End Sub Public Sub list() List1.Clear rcd.MoveFirst While Not rcd.EOF List1.AddItem rcd("CDcode") rcd.MoveNext Wend rcd.MoveFirst play End Sub

Private Sub txtname_KeyDown(KeyCode As Integer, Shift As Integer) If ((KeyCode >= 33 And KeyCode <= 64) Or (KeyCode >= 91 And KeyCode <= 96) Or (KeyCode >= 123 And KeyCode <= 255)) Then MsgBox ("ENTER THE CHARACTER") txtName = "" txtName.SetFocus End If End Sub

ISSUE FORM Dim c As New Connection Dim rissue As New Recordset Dim r As New Recordset Dim r1 As New Recordset Dim r3 As New Recordset Dim r2 As New Recordset Dim ct As Control

Private Sub Bookname_Click() r2.MoveFirst r2.Move Bookname.ListIndex lbc.Caption = "Book ID : " txtID = r2!Bookid If LCase(Trim(r2!Status)) = "available" Then Enable ElseIf LCase(Trim(r2!Status)) = "issued" Then MsgBox "BOOK IS ALREADY ISSUED" disable ElseIf LCase(Trim(r2!Status)) = "missing" Then MsgBox "BOOK IS MISSING" disable End If End Sub Private Sub cmdissue_Click() For Each ct In Me If TypeOf ct Is TextBox Then End If Next Dim newNo As String

Dim iRegNo As Integer rissue.MoveLast newNo = rissue!issuecode iRegNo = Val(Mid(newNo, 2, 3)) + 1 If iRegNo < 10 Then Txtic = "b00" & iRegNo ElseIf iRegNo < 100 Then Txtic = "b0" & iRegNo ElseIf iRegNo < 1000 Then Txtic = "b" & iRegNo End If DTPicker1.Value = Date cmdissue.Enabled = False rissue.AddNew End Sub Private Sub Command1_Click() If Option1.Value = True Then rissue!MemberID = memid Else rissue!StudentId = stuID End If If option5.Value = True Then rissue!Bookid = txtID Else rissue!cdcode = txtID End If If Bookname.Visible = True Then r2!Status = "issued" r2.Update MsgBox "Book is Issued!" ElseIf cdname.Visible = True Then r3!Status = "issued"

r3.Update MsgBox "CD IS ISSUED" End If rissue!issuecode = Txtic rissue!remarks = txtRemarks rissue!Dateofissue = DTPicker1.Value rissue!returningdate = text1 rissue.Update cmdissue.Visible = True End Sub Private Sub Form_Load() c.Provider = "Microsoft.Jet.OLEDB.4.0" c.ConnectionString = "data source =" & App.Path & "\library.mdb" c.Open rissue.Open "select * from IssueMaster", c, adOpenDynamic, adLockOptimistic r.Open " select studentID from Studentmaster", c, adOpenDynamic, adLockOptimistic r1.Open " select memberID from MemberMaster", c, adOpenDynamic, adLockOptimistic r2.Open " select * from BookMaster", c, adOpenDynamic, adLockOptimistic r3.Open "select * from CDMaster", c, adOpenDynamic, adLockOptimistic fill memid.Visible = False stuID.Visible = False cdname.Visible = False Bookname.Visible = False Me.Show disable End Sub

Private Sub Option1_Click() If Option1.Value = True Then memid.Visible = True stuID.Visible = False End If End Sub Private Sub Option2_Click() If Option2.Value = True Then memid.Visible = False stuID.Visible = True End If End Sub Private Sub Option5_click() If option5.Value = True Then Bookname.Visible = True cdname.Visible = False End If End Sub Private Sub Option6_Click() If option6.Value = True Then Bookname.Visible = False cdname.Visible = True End If End Sub Private Sub DTPicker1_Validate(Cancel As Boolean) text1 = DTPicker1.Value + 2 End Sub Public Sub fill()

r.MoveFirst stuID.Clear r.MoveFirst While Not r.EOF stuID.AddItem r("studentID") r.MoveNext Wend r.MoveFirst r1.MoveFirst memid.Clear r1.MoveFirst While Not r1.EOF memid.AddItem r1("memberID") r1.MoveNext Wend r2.MoveFirst Bookname.Clear r2.MoveFirst While Not r2.EOF Bookname.AddItem r2("Bookname") r2.MoveNext Wend r2.MoveFirst r3.MoveFirst cdname.Clear r3.MoveFirst While Not r3.EOF cdname.AddItem r3("CdName") r3.MoveNext Wend

End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) c.Close End Sub Public Sub Enable() DTPicker1.Visible = True text1.Visible = True txtRemarks.Visible = True End Sub Public Sub disable() DTPicker1.Visible = False text1.Visible = False txtRemarks.Visible = False End Sub Private Sub cdname_Click() r3.MoveFirst r3.Move cdname.ListIndex lbc.Caption = "CD code: " txtID = r3!cdcode Dim i As Integer If LCase(Trim(r3!Status)) = "available" Then Enable ElseIf Trim(r3!Status) = "issued" Then i = MsgBox("CD IS ALREADY ISSUED") disable ElseIf Trim(r3!Status) = "missing" Then i = MsgBox("CD IS MISSING")

disable End If txtID = r3!cdcode End Sub

RETURN FORM

Option Explicit Dim r As New Recordset Dim ct As Control Dim r1 As New Recordset Dim r2 As New Recordset Dim c As New Connection Private Sub cmdok_Click() Dim m As Integer m = Val(Txtic) r!returningdate = txtRetDate r!payfine = Txtpf r.Update r1.MoveFirst Do While Not r1.EOF If Trim(r1("bookid")) = Trim(m) Then r1!Status = "Available" MsgBox ("BOOK IS RETURNED") r1.Update Exit Do End If r1.MoveNext Loop r2.MoveFirst Do While Not r2.EOF If Trim(r2("cdcode")) = Trim(m) Then r2!Status = "Available" r2.Update End If r2.MoveNext

Loop MsgBox ("IT IS RETURNED") End Sub Private Sub Form_Load() c.Provider = "Microsoft.Jet.OLEDB.4.0" c.ConnectionString = "data source=" & App.Path & "\Library.mdb" c.Open r.Open "select * from issuemaster", c, adOpenDynamic, adLockOptimistic r1.Open "select * from bookmaster", c, adOpenDynamic, adLockOptimistic r2.Open "select * from CDmaster", c, adOpenDynamic, adLockOptimistic filllist play Me.Show End Sub Public Sub filllist() List1.Clear r.MoveFirst While Not r.EOF List1.AddItem r!issuecode r.MoveNext Wend r.MoveFirst End Sub Private Sub List1_Click() r.MoveFirst r.Move List1.ListIndex play

End Sub Public Sub play() On Error Resume Next If Trim(r!StudentId) <> "" Then txtstu = r!StudentId lbl1.Caption = "Student ID : " End If If Trim(r!MemberID) <> "" Then txtstu = r!MemberID lbl1.Caption = "Member ID : " End If If Trim(r!Bookid) <> "" Then txtbook = r!Bookid lbl2.Caption = "Book ID : " Else txtbook = r!cdcode lbl2.Caption = "CD Code : " End If Txtic = r!issuecode txtIssDate = r!Dateofissue txtRetDate = Date Txtpf = r!payfine Dim fi As Integer fi = CDate(txtRetDate) - CDate(txtIssDate) If fi > 2 Then fi = fi - 2 Txtpf = fi * 2 Else Txtpf = 0 End If Txtpf.Enabled = False r.Update

End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) c.Close End Sub

EMPLOYEE FORM

Dim c As New Connection Dim remployee As New Recordset Dim ct As Control Private Sub cmdCancel_Click() remployee.CancelUpdate remployee.MoveFirst filllist display disable End Sub Private Sub cmdDelete_Click() Dim i As Integer i = MsgBox("ARE YOU SURE?", vbYesNo) If i = vbYes Then remployee.Delete remployee.MoveFirst display MsgBox "RECORD DELETED" End If filllist End Sub Private Sub cmdModify_Click() Enable End Sub Private Sub CmdNew_Click() For Each ct In Me If TypeOf ct Is TextBox Then

ct.Text = "" End If Next Dim newNo As String Dim iemp As Integer remployee.MoveLast newNo = remployee!EmployeeID iemp = Val(Mid(newNo, 2, 3)) + 1 If iemp < 10 Then txtemp = "E00" & iemp ElseIf iemp < 100 Then txtemp = "E0" & iemp ElseIf iemp < 1000 Then txtemp = "E" & iemp End If remployee.AddNew Enable End Sub Private Sub cmdSave_Click() If txtemp = "" Or txtName = "" Or txtlast = "" Or txtAdd1 = "" Or txtAdd2 = "" Or txttel = "" Or txtmail = "" Or TXTPASS = "" Then MsgBox ("ENTER THE VALUE") Else remployee!EmployeeID = txtemp remployee!FirstName = txtName remployee!Lastname = txtlast remployee!Address1 = txtAdd1 remployee!Address2 = txtAdd2 remployee!Tel = txttel remployee!Email = txtmail remployee!Password = TXTPASS remployee.Update disable

filllist End If End Sub Private Sub Form_Load() c.Provider = "Microsoft.Jet.OLEDB.4.0" c.ConnectionString = "data source=" & App.Path & "\library.mdb" c.Open remployee.Open "select * from employee1", c, adOpenDynamic, adLockOptimistic display disable filllist End Sub Public Sub Enable() For Each ct In Me If TypeOf ct Is TextBox Then ct.Enabled = True End If Next For Each ct In Me If TypeOf ct Is CommandButton Then ct.Enabled = False End If Next cmdsave.Enabled = True cmdcancel.Enabled = True End Sub Public Sub disable() For Each ct In Me If TypeOf ct Is TextBox Then

ct.Enabled = False End If Next For Each ct In Me If TypeOf ct Is CommandButton Then ct.Enabled = True End If Next cmdsave.Enabled = False cmdcancel.Enabled = False End Sub Public Sub display() txtemp = remployee!EmployeeID txtName = remployee!FirstName txtlast = remployee!Lastname txtAdd1 = remployee!Address1 txtAdd2 = remployee!Address2 txttel = remployee!Tel txtmail = remployee!Email TXTPASS = remployee!Password End Sub Public Sub filllist() List1.Clear remployee.MoveFirst While Not remployee.EOF List1.AddItem remployee("employeeID") remployee.MoveNext Wend remployee.MoveFirst display End Sub Private Sub List1_Click()

remployee.MoveFirst remployee.Move List1.ListIndex display End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) c.Close End Sub Private Sub txtname_KeyDown(KeyCode As Integer, Shift As Integer) If ((KeyCode >= 33 And KeyCode <= 64) Or (KeyCode >= 91 And KeyCode <= 96) Or (KeyCode >= 123 And KeyCode <= 255)) Then MsgBox ("ENTER THE CHARACTER") txtName = "" txtName.SetFocus End If End Sub Private Sub txtlast_KeyDown(KeyCode As Integer, Shift As Integer) If ((KeyCode >= 33 And KeyCode <= 64) Or (KeyCode >= 91 And KeyCode <= 96) Or (KeyCode >= 123 And KeyCode <= 255)) Then MsgBox ("ENTER THE CHARACTER") txtlast = "" txtlast.SetFocus End If End Sub Private Sub txttel_KeyDown(KeyCode As Integer, Shift As Integer) If Not (KeyCode >= 48 And KeyCode <= 57) Then MsgBox ("PLEASE ENTER THE NUMERIC KEY") txttel = "" txttel.SetFocus

End If End Sub

FORM ABOUT Private Sub Command1_Click() Unload Me End Sub Private Sub Command1_Click() DataReport2.Show End Sub Option Explicit Private Sub Command1_Click() DataReport4.Show End Sub Private Sub Command1_Click() DataReport3.Show End Sub Private Sub Command1_Click() DataReport1.Show End Sub Option Explicit Private Sub Command1_Click() DataReport5.Show End Sub Option Explicit Private Sub Command1_Click() DataReport6.Show End Sub

TESTING
Testing is the only phase in the whole software development process that is regarded as destructive processes rather than a constructive one. During the testing phase Engineers creates a series of test cases that are include the software that has been built. The basic principle that software engineer most understand before applying methods to design an effective test cases are: - All tests should be traceable to system requirement. - Test should be planned long before testing begins. - Testing should begin in small and progress towards testing in the large. - To be most effective and independents third party should conduct testing. TEST CASES:  In book table we have taken ISBN as a primary key to identify the book and through this we establish the relationship with other tables and for fetching the complete information related to a particular book.  In the student table we have taken std_id as primary key which describe information about a particular student.  The next table is member table in which we have taken mem_id as a primary key which describes about6 a particular member.  The cd table has a primary key cd_code which contains the complete information about cd.

 The employee table has primary key emp_id which describes about the employee of library and the designation of the employee.  The table magazine have serial no as a primary key which describes about the magazine.

IMPLEMENTATION The implementation part is less creative than system design . It is primarily concerned with user training, site preparation ,and file conversion. During the final testing ,user acceptance is tested, following by user training. Depending on the nature of the system ,extensive user training may be required . Conversion usually takes phase at about the same timer the user is being trained. These are the various requirements regarding project hardware, software and the data:Hardware Requirement:  Computer System: Standard PC/AT compatible with Pentium processor.  Primary Memory: It works with in 32 MB RAM  Secondary Memory: It will work on both ,hard disk as well as floppy disk drive along with D2K 6.0 but u can use hard disk for voluminious data processing. It will increase the accessibility.

 Video Adapters And monitors: It is a colored program ,so better to use a colored monitor but it can perform satisfactorily on various monochrome adapter as: IBM monochrome adapter Hercules monochrome adapter IBM CGA card 80*25 in text mode

 Printer: Any printer supported to PC/AT in Windows 95 can be used to get print outs but INKJET printer is most suitable and economical.

SOFTWARE REQUIREMENTS: FRONTEND:BACKEND:Visual basic 6.0 MS-Access

LIMITATIONS
------------------------------------------------------------------

There are always some boundary or limitations in any first time software creation . So some limitations of our project are as follows:  in this project there is no graphical reports related to issue & return of book.  In this project there is no way for calculating the collection of funds accepted as fine for the books.  In this project there is no way for the marinating the database of employees ,members ,&students related to their mode of joining, daily attendance.

ENHANCEMENT

There is always room for enhancements or expanding any software development so we can easily enhance our project according to our limitations .We can enhance our project in the given following areas  We can enhance all the graphical report related to transactions of books.  We can enhance the entire database related to employees, members & students. When we enhance these given thing in this project then it will become more end userfriendly.

CONCLUSIONS
A package can be only developed successfully if the project team has a widespread understanding about the nature of problem faced by librarian & members of the library. Obviously , the project team members try to tackle each and every problems regarding the coding in the project. It is evident most of the time , it is not possible to make such package that can solve all the problems: some bugs are always there. Library Information System is completely user’s friendly system which can be access by a person having not much knowledge of computers. The library information system looks for the requirement related to the members &student and also provide some of the security features. It will be unjustified if it is claimed that this project is complete in all respects. Therefore the site has certain limitations and persuades us to provide perfection to this system.

APPENDIX

* *

Mastering in Visual Basic 6.0 PL/SQL

By Bradely By Ivan Barros

MAINTENANCE

The project “Library Information System” is a graphical user interface and is quite user friendly . To make the project maintenance easier in the future this project is divided into number of modules. The project containing following module:     Add Member Add Student Updation Searching

By dividing the project in module ,the project debugging becomes quite easier. It is easy to detect the errors in modules rather than in full project. If we want to modify any module we can easily modify that particular module, there is no need to change full code of project as each module is quite independent of each other. Hence, maintenance of the project is simplified in future by dividing the project in modules.

E-R DIAGRAM

Month
Student_ID Date Na me Title SEM

Bill no

Publication

Student

Student_id

Period icity

NOC ACCESSION STUDENT -ID DOI SUB ISSUE DATE

Magazine

Vo lu me

Year Sub-No

YEA R PA GE AUTHOR

ORDER

ID

Accession
TITLE VENDOR

NOC

PUBLI

VENDOR_ID

BILLNO VOLUM E COST Na me

BILL-ID

GIVEN By

BILL DATE BILL

BILL_ NO 8 Vendor_id

BILL AMOUNT

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer: Get 4 months of Scribd and The New York Times for just $1.87 per week!

Master Your Semester with a Special Offer from Scribd & The New York Times