Upload
honestguy09
View
125
Download
5
Tags:
Embed Size (px)
Citation preview
“ 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 EXAMINER
SEAL
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 pandeyMCA-IVth Sem.Roll. 0203714036
INDEX
1. INTRODUCTION2. ANALYSIS
Data Flow Diagram ER Diagram Synopsis of Table
3. DATA DESIGN I/O Forms Reports Coding
4. TESTING5. IMPLEMENTATION
Software Hardware
6. MAINTENANCE7. 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 Interfacei> 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 EDITION PRICE
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 EDITION PRICE 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.1BOOK-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 EMPLOYEE_details
ADMINISTRATOR
Info_details to update
2.3.3 UPDATE
BOOK-ISSUED &RETURN
1 STUDENTS
STUDENTS
Book_info,Doi,toi
2.1.1.1 ISSUED& RETURN UPDATE
Book_info.,Dor,tor
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 DATA TYPE SIZEACC.NO NUMBER 10TITLE TEXT 25AUTHOR TEXT 20PUBLISHER TEXT 20EDITION NUMBER 10PRICE NUMBER 05CAT_ID TEXT 10ISBN * TEXT 20
STUDENTS TABLE:-FIELD NAME DATA TYPE SIZESTUDENT ID * TEXT 10NAME TEXT 30CLASS NUMBER 02SECTION NUMBER 02ADDRESS TEXT 50PHONE NO NUMBER 11
MEMBER TABLE:-
FIELD NAME DATA TYPE SIZEMEMBER ID * TEXT 10NAME TEXT 25ADDRESS TEXT 50PHONE NO NUMBER 12DATE OF JOINING DATE/TIME -
EMPLOYEE TABLE:-
FIELD NAME DATA TYPE SIZEEMP_ID * TEXT 10NAME TEXT 25ADDRESS 1 TEXT 50ADDRESS 2 TEXT 50PHONE NO NUMBER 12EMAIL TEXT 25PASSWORD TEXT 10
BOOK ISSUE TABLE:-
FIELD NAME DATA TYPE SIZEMEMBER ID * TEXT 10STUDENT ID TEXT 10BOOK NAME TEXT 20CD NAME TEXT 20BOOK ID TEXT 05ISSUE DATE DATE/TIME -R. DATE DATE/TIME -
CD TABLE:-
FIELD NAME DATA TYPE SIZECD_CODE * TEXT 10CD NAME TEXT 10CD TYPE TEXT 10STATUS TEXT 10
MAGAZINE TABLE:-
FIELD NAME DATA TYPE SIZESERIAL NO * TEXT 15NAME TEXT 15TYPE TEXT 10
* Primary Key
Login form:
Dim r As New RecordsetDim ct As ControlDim cn As New Connection
Private Sub cmdexit_Click()Unload MeEnd Sub
Private Sub cmdstart_Click()r.MoveFirstDo While Not r.EOFIf UCase(Trim(TXTUN)) = UCase(Trim(r!Username)) And Trim(TXTPASS) = Trim(r!Password) Theni = 1frmMain.Showfrmlogin.HideExit DoEnd Ifr.MoveNextLoopIf i = 0 ThenMsgBox "Invalid user."TXTUser = ""TXTPASS = ""End IfEnd Sub
Private Sub Form_Activate()TXTUN.Text = ""TXTPASS.Text = ""
End Sub
Private Sub Form_Load()
Dim i As IntegerWith cn.Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "data source=" & App.Path & "\library.mdb" .Open End With r.Open "select * from login", cn, adOpenDynamic, adLockOptimistici = 0End Sub
Main form
Private Sub emp_Click()frmEmployee.ShowEnd Sub
Private Sub MDIForm_Load()frmlogin.ShowEnd Sub
Private Sub muna_Click()frmabout.ShowEnd Sub
Private Sub munb_Click()frmBook.ShowEnd Sub
Private Sub munc_Click()frmCD.ShowEnd Sub
Private Sub muncc_Click()frmcdreport.ShowEnd Sub
Private Sub munE_Click()'Dim i As Integer'i = MsgBox("Are you sure?", vbYesNo)'If i = vbYes Then ' frmMain.Show
'End IfUnload MeEnd Sub
Private Sub munI_Click()Load frmIssuefrmIssue.Visible = TruefrmIssue.Show
End Sub
Private Sub MUNIBC_Click()frmissuedreport.ShowEnd Sub
Private Sub munm_Click()frmmagazine.ShowEnd Sub
Private Sub munmbr_Click()frmmissingreport.ShowEnd Sub
Private Sub munMem_Click()frmMember.ShowEnd Sub
Private Sub munml_Click()frmmemberreport.ShowEnd Sub
Private Sub munR_Click()frmreturn.ShowEnd Sub
Private Sub munRC_Click()frmreturnreport.ShowEnd Sub
Private Sub munS_Click()frmstudent.ShowEnd Sub
Private Sub munmg_Click()frmmagazinereport.ShowEnd Sub
Book form
Dim cn As New ConnectionDim rs As New RecordsetDim ct As Control
Private Sub cmdCancel_Click()rs.CancelUpdaters.MoveFirstdisplaylistdisableEnd Sub
Private Sub cmdDelete_Click()Dim i As Integeri = MsgBox("ARE YOU SURE?", vbYesNo)If i = vbYes Then rs.Delete rs.MoveFirst display MsgBox "RECORD DELETED"End IflistEnd Sub
Private Sub cmdModify_Click()EnableEnd Sub
Private Sub CmdNew_Click()For Each ct In MeIf TypeOf ct Is TextBox Then
ct.Text = ""End IfNextDim newNo As StringDim iBookNo As Integerrs.MoveLastnewNo = rs!BookidiBookNo = Val(Mid(newNo, 2, 3)) + 1If iBookNo < 10 ThentxtBookID = "B00" & iBookNoElseIf iBookNo < 100 ThentxtBookID = "B0" & iBookNoElseIf iBookNo < 1000 ThenTxtBookNO = "B" & iBookNoEnd Ifrs.AddNewEnable
End Sub
Private Sub cmdSave_Click()If TXTBOOKN = "" Or txtBookID = "" Or txtuthor = "" Or txtPrice = "" Or txtEdition = "" Or txtPub = "" Or Combo2 = "" Or Combo1 = "" ThenMsgBox (" enter the value ")Elsers!Bookname = TXTBOOKNrs("BookID") = txtBookIDrs("Author") = txtuthorrs("Edition") = txtEditionrs("Publisher") = txtPubrs("Price") = txtPricers("Category") = Combo2rs("Status") = "available"rs.Update
disablelistEnd IfEnd Sub
Private Sub Form_Load()With cn.Provider = "microsoft.jet.OLEDB.4.0".ConnectionString = "data source =" & App.Path & "\library.mdb".OpenEnd Withrs.Open "select * from BookMaster", cn, adOpenDynamic, adLockOptimisticdisplaylistdisableEnd Sub
Private Sub List1_Click()rs.MoveFirstrs.Move List1.ListIndexdisplayEnd Sub
Public Sub display()TXTBOOKN = rs!BooknametxtBookID = rs("BookID")txtuthor = rs("author")txtEdition = rs("Edition")txtPub = rs("Publisher")
txtPrice = rs("Price")Combo2 = rs("Category")Combo1 = rs("Status")End SubPublic Sub Enable()For Each ct In MeIf TypeOf ct Is TextBox Thenct.Enabled = TrueEnd IfNextFor Each ct In MeIf TypeOf ct Is CommandButton Then ct.Enabled = False End IfNextcmdsave.Enabled = Truecmdcancel.Enabled = TrueList1.Enabled = FalseEnd Sub
Public Sub disable()For Each ct In Me If TypeOf ct Is TextBox Then ct.Enabled = False End IfNextFor Each ct In Me If TypeOf ct Is CommandButton Then ct.Enabled = True End IfNextcmdsave.Enabled = Falsecmdcancel.Enabled = FalseList1.Enabled = TrueEnd Sub
Public Sub list()List1.Clear rs.MoveFirst While Not rs.EOF List1.AddItem rs("BookID") rs.MoveNext Wend rs.MoveFirst displayEnd 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 IfEnd 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) ThenMsgBox ("PLEASE ENTER THE NUMERIC KEY")txtPrice = ""txtPrice.SetFocus
End IfEnd 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 IfEnd 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 IfEnd Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) cn.CloseEnd 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.SetFocusEnd IfEnd Sub
Student formDim rstudent As New RecordsetDim ct As ControlDim c As New Connection
Private Sub cmdCancel_Click()rstudent.CancelUpdaterstudent.MoveFirstdisabledisplayfilllistEnd Sub
Private Sub cmdDelete_Click()Dim i As Integeri = MsgBox("ARE YOU SURE?", vbYesNo)If i = vbYes Then rstudent.Delete rstudent.MoveFirst display MsgBox "RECORD DELETED"End IffilllistEnd SubPrivate Sub cmdModify_Click()enabEnd SubPrivate Sub CmdNew_Click()For Each ct In MeIf TypeOf ct Is TextBox Thenct.Text = ""End IfNextDim newNo As String
Dim imemberNo As Integerrstudent.MoveLastnewNo = rstudent!StudentIdimemberNo = Val(Mid(newNo, 2, 3)) + 1If imemberNo < 10 ThentxtSID = "S00" & imemberNoElseIf iMember < 100 ThentxtSID = "S0" & imemberNoElseIf imemberNo < 1000 ThentxtSID = "S" & imemberNoEnd Ifrstudent.AddNewenabEnd Sub
Private Sub cmdSave_Click()If txtSID = "" Or TxtClass = "" Or txtName = "" Or TxtClass = "" Or txtSec = "" Or txtAddress = "" Or txtPn = "" ThenMsgBox "enter the value"Elserstudent!StudentId = txtSIDrstudent!Name = txtNamerstudent!Class = TxtClassrstudent!Section = txtSecrstudent!Address = txtAddressrstudent!PhoneNo = txtPnrstudent.UpdatedisablefilllistEnd If
End Sub
Private Sub Combo1_Click()rstudent.MoveFirst
rstudent.Move Combo1.ListIndexdisplayEnd Sub
Private Sub Form_Load()c.Provider = "Microsoft.Jet.OLEDB.4.0"c.ConnectionString = "data source=" & App.Path & "\Library.mdb"c.Openrstudent.Open "select * from studentmaster", c, adOpenDynamic, adLockOptimisticdisablefilllistEnd Sub
Public Sub enab()For Each ctl In MeIf TypeOf ctl Is TextBox Thenctl.Enabled = TrueEnd IfNextFor Each ctl In Me If TypeOf ctl Is CommandButton Then ctl.Enabled = False End IfNextcmdsave.Enabled = Truecmdcancel.Enabled = TrueEnd Sub
Public Sub disable()For Each ctl In MeIf TypeOf ctl Is TextBox Then ctl.Enabled = False End If
NextFor Each ctl In Me If TypeOf ctl Is CommandButton Then ctl.Enabled = True End IfNextcmdsave.Enabled = Falsecmdcancel.Enabled = FalseEnd Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) c.CloseEnd Sub
Public Sub display()txtSID = rstudent!StudentIdtxtName = rstudent!NameTxtClass = rstudent!ClasstxtSec = rstudent!SectiontxtAddress = rstudent!Address txtPn = rstudent!PhoneNorstudent.UpdatedisableEnd Sub
Public Sub filllist()Combo1.Clear rstudent.MoveFirstWhile Not rstudent.EOF Combo1.AddItem rstudent("studentID") rstudent.MoveNext Wend
rstudent.MoveFirst displayEnd 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 IfEnd 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 IfEnd Sub
Private Sub txtpn_KeyDown(KeyCode As Integer, Shift As Integer)If Not (KeyCode >= 48 And KeyCode <= 57) ThenMsgBox ("PLEASE ENTER THE NUMERIC KEY")txtPn = ""txtPn.SetFocusEnd If
End SubPrivate Sub txtclass_KeyDown(KeyCode As Integer, Shift As Integer)If Not (KeyCode >= 48 And KeyCode <= 57) ThenMsgBox ("PLEASE ENTER THE NUMERIC KEY")TxtClass = ""TxtClass.SetFocusEnd IfEnd Sub
MEMBER FORM
Dim con As New ConnectionDim rmember As New RecordsetDim ctl As Control
Private Sub cmdCancel_Click()rmember.CancelUpdatermember.MoveFirstfilllistBigshowdisableEnd Sub
Private Sub cmdDelete_Click()Dim i As Integeri = MsgBox("ARE YOU SURE?", vbYesNo)If i = vbYes Then rmember.Delete rmember.MoveFirst Bigshow MsgBox "RECORD DELETED"End IffilllistEnd Sub
Private Sub cmdModify_Click()EnableEnd Sub
Private Sub CmdNew_Click()For Each ctl In MeIf TypeOf ctl Is TextBox Thenctl.Text = ""End If
NextDim newNo As StringDim imemberNo As Integerrmember.MoveLastnewNo = rmember!MemberIDimemberNo = Val(Mid(newNo, 2, 3)) + 1If imemberNo < 10 ThentxtMii = "M00" & imemberNoElseIf iMii < 100 ThentxtMii = "M0" & imemberNoElseIf iMemberID < 1000 ThentxtMii = "M" & imemberNoEnd Ifrmember.AddNewEnableEnd Sub
Private Sub Combo1_Click()rmember.MoveFirstrmember.Move Combo1.ListIndexBigshowEnd Sub
Private Sub Form_Load()con.Provider = "Microsoft.Jet.OLEDB.4.0"con.ConnectionString = "data source=" & App.Path & "\Library.mdb"con.Openrmember.Open "select * from membermaster", con, adOpenDynamic, adLockOptimisticdisablefilllistEnd Sub
Public Sub Enable()For Each ctl In MeIf TypeOf ctl Is TextBox Thenctl.Enabled = TrueEnd IfNextFor Each ctl In Me If TypeOf ctl Is CommandButton Then ctl.Enabled = False End IfNextcmdsave.Enabled = Truecmdcancel.Enabled = TrueEnd Sub
Public Sub disable()For Each ctl In MeIf TypeOf ctl Is TextBox Then ctl.Enabled = False End IfNextFor Each ctl In Me If TypeOf ctl Is CommandButton Then ctl.Enabled = True End IfNextcmdsave.Enabled = Falsecmdcancel.Enabled = False
End Sub
Public Sub Bigshow()txtMii = rmember!MemberIDtxtName = rmember!NametxtAddress = rmember!Address
txtPn = rmember!PhonetxtDoj = rmember!DateofjoiningtxtEd = rmember!ExpirydateEnd SubPrivate Sub cmdSave_Click()If txtMii = "" Or txtName = "" Or txtAddress = "" Or txtPn = "" Or txtDoj = "" Or txtEd = "" ThenMsgBox ("ENTER THE VALUE")Elsermember!MemberID = txtMiirmember!Name = txtNamermember!Address = txtAddressrmember!Phone = txtPnrmember!Dateofjoining = txtDojrmember!Expirydate = txtEdrmember.UpdatedisablefilllistEnd IfEnd Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) con.CloseEnd Sub
Public Sub filllist()Combo1.Clear rmember.MoveFirstWhile Not rmember.EOF Combo1.AddItem rmember("memberid") rmember.MoveNext Wend rmember.MoveFirst Bigshow
End SubPrivate 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 IfEnd Sub
Private Sub txtpn_KeyDown(KeyCode As Integer, Shift As Integer)If Not (KeyCode >= 48 And KeyCode <= 57) ThenMsgBox ("PLEASE ENTER THE NUMERIC KEY")txtPn = ""txtPn.SetFocusEnd IfEnd Sub
MAGAZINE FORM
Dim co As New ConnectionDim rm As New RecordsetDim ct1 As ControlPrivate Sub CmdAdd_Click()For Each ct In MeIf TypeOf ct Is TextBox Thenct.Text = ""End IfNextDim newNo As StringDim i As Integerrm.MoveLastnewNo = rm!MagazineIDi = Val(Mid(newNo, 2, 3)) + 1If i < 10 ThentxtSerial = "Z00" & iElseIf i < 100 ThentxtSerial = "Z0" & iElseIf i < 1000 ThentxtSerial = "Z" & iEnd Ifrm.AddNewenabEnd Sub
Private Sub cmdCancel_Click()rm.CancelUpdaterm.MoveFirstplaydisablelistEnd Sub
Private Sub cmdDelete_Click()Dim i As Integeri = MsgBox("ARE YOU SURE?", vbYesNo)If i = vbYes Then rm.Delete rm.MoveFirst play MsgBox "RECORD DELETED"End IflistEnd Sub
Private Sub cmdModify_Click()enabEnd Sub
Private Sub cmdSave_Click()If txtSerial = "" Or txtName = "" Or txttype = "" ThenMsgBox ("ENTER THE VALUE")Elserm!MagazineID = txtSerialrm!Name = txtNamerm!Type = txttyperm.UpdatedisablelistEnd IfEnd SubPublic Sub play()txtSerial = rm!MagazineIDtxtName = rm!Nametxttype = rm!TypeEnd Sub
Private Sub Form_Load()co.Provider = "Microsoft.Jet.OLEDB.4.0"co.ConnectionString = "data source=" & App.Path & "\Library.mdb"co.Openrm.Open "select * from MagazineMaster", co, adOpenDynamic, adLockOptimisticlistplaydisableEnd Sub
Private Sub List1_Click()rm.MoveFirstrm.Move List1.ListIndexplayEnd Sub
Public Sub enab()For Each ctl In MeIf TypeOf ctl Is TextBox Thenctl.Enabled = TrueEnd IfNextFor Each ctl In Me If TypeOf ctl Is CommandButton Then ctl.Enabled = False End IfNextcmdsave.Enabled = Truecmdcancel.Enabled = TrueEnd Sub
Public Sub disable()For Each ctl In MeIf TypeOf ctl Is TextBox Then ctl.Enabled = False End IfNextFor Each ctl In Me If TypeOf ctl Is CommandButton Then ctl.Enabled = True End IfNextcmdsave.Enabled = Falsecmdcancel.Enabled = False
End Sub
Public Sub list()List1.Clear rm.MoveFirst While Not rm.EOF List1.AddItem rm("MagazineID") rm.MoveNext Wend rm.MoveFirst playEnd Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) co.CloseEnd 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 IfEnd Sub
CD FORM
Dim c As ControlDim rcd As New RecordsetDim co As New Connection
Private Sub cmdCancel_Click()rcd.CancelUpdatercd.MoveFirstplaydisableEnd Sub
Private Sub cmdDelete_Click()Dim i As Integeri = MsgBox("ARE YOU SURE?", vbYesNo)If i = vbYes Then rcd.Delete rcd.MoveFirst play MsgBox "RECORD DELETED"End IflistEnd Sub
Private Sub cmdModify_Click()enabEnd Sub
Private Sub CmdNew_Click()For Each c In MeIf TypeOf c Is TextBox Thenc.Text = ""End If
NextDim newNo As StringDim iCd As Integerrcd.MoveLastnewNo = rcd!cdcodeiCd = Val(Mid(newNo, 2, 3)) + 1If iCd < 10 ThentxtCode = "C00" & iCdElseIf iCd < 100 ThentxtCode = "C0" & iCdElseIf iCd < 1000 ThentxtCode = "C" & iCdEnd Ifrcd.AddNewenabEnd Sub
Private Sub cmdSave_Click()If txtCode = "" Or txtName = "" Or txttype = "" Or txtstatus = "" ThenMsgBox ("enter the value")Elsercd!cdcode = txtCodercd!cdname = txtNamercd!Type = txttypercd!Status = txtstatusrcd.UpdatedisablelistEnd IfEnd Sub
Private Sub Form_Load()co.Provider = "Microsoft.Jet.OLEDB.4.0"
co.ConnectionString = "data source=" & App.Path & "\Library.mdb"co.Openrcd.Open "select * from CDmaster", co, adOpenDynamic, adLockOptimisticdisablelistEnd Sub
Public Sub play()txtCode = rcd!cdcodetxtName = rcd!cdnametxttype = rcd!Typetxtstatus = rcd!StatusEnd Sub
Public Sub enab()For Each c In MeIf TypeOf c Is TextBox Thenc.Enabled = TrueEnd IfNextFor Each c In Me If TypeOf c Is CommandButton Then c.Enabled = False End IfNextcmdsave.Enabled = Truecmdcancel.Enabled = True
End Sub
Public Sub disable()For Each c In MeIf TypeOf c Is TextBox Then
c.Enabled = False End IfNextFor Each c In Me If TypeOf c Is CommandButton Then c.Enabled = True End IfNextcmdsave.Enabled = Falsecmdcancel.Enabled = FalseEnd Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) co.CloseEnd Sub
Private Sub List1_Click()rcd.MoveFirstrcd.Move List1.ListIndexplay
End Sub
Public Sub list()List1.Clear rcd.MoveFirst While Not rcd.EOF List1.AddItem rcd("CDcode") rcd.MoveNext Wend rcd.MoveFirst playEnd 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 IfEnd Sub
ISSUE FORM
Dim c As New ConnectionDim rissue As New RecordsetDim r As New RecordsetDim r1 As New RecordsetDim r3 As New RecordsetDim r2 As New RecordsetDim ct As Control
Private Sub Bookname_Click()r2.MoveFirstr2.Move Bookname.ListIndexlbc.Caption = "Book ID : "txtID = r2!BookidIf LCase(Trim(r2!Status)) = "available" Then EnableElseIf LCase(Trim(r2!Status)) = "issued" Then MsgBox "BOOK IS ALREADY ISSUED" disableElseIf LCase(Trim(r2!Status)) = "missing" Then MsgBox "BOOK IS MISSING" disableEnd IfEnd Sub
Private Sub cmdissue_Click()For Each ct In MeIf TypeOf ct Is TextBox ThenEnd IfNextDim newNo As String
Dim iRegNo As Integerrissue.MoveLastnewNo = rissue!issuecodeiRegNo = Val(Mid(newNo, 2, 3)) + 1If iRegNo < 10 Then Txtic = "b00" & iRegNoElseIf iRegNo < 100 Then Txtic = "b0" & iRegNoElseIf iRegNo < 1000 Then Txtic = "b" & iRegNoEnd IfDTPicker1.Value = Datecmdissue.Enabled = Falserissue.AddNewEnd Sub
Private Sub Command1_Click()If Option1.Value = True Then rissue!MemberID = memidElse rissue!StudentId = stuIDEnd IfIf option5.Value = True Then rissue!Bookid = txtIDElse rissue!cdcode = txtIDEnd 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 Ifrissue!issuecode = Txticrissue!remarks = txtRemarksrissue!Dateofissue = DTPicker1.Valuerissue!returningdate = text1rissue.Updatecmdissue.Visible = TrueEnd Sub
Private Sub Form_Load()c.Provider = "Microsoft.Jet.OLEDB.4.0"c.ConnectionString = "data source =" & App.Path & "\library.mdb"c.Openrissue.Open "select * from IssueMaster", c, adOpenDynamic, adLockOptimisticr.Open " select studentID from Studentmaster", c, adOpenDynamic, adLockOptimisticr1.Open " select memberID from MemberMaster", c, adOpenDynamic, adLockOptimisticr2.Open " select * from BookMaster", c, adOpenDynamic, adLockOptimisticr3.Open "select * from CDMaster", c, adOpenDynamic, adLockOptimisticfillmemid.Visible = FalsestuID.Visible = Falsecdname.Visible = FalseBookname.Visible = FalseMe.ShowdisableEnd Sub
Private Sub Option1_Click()
If Option1.Value = True Then memid.Visible = True stuID.Visible = False End IfEnd Sub
Private Sub Option2_Click() If Option2.Value = True Then memid.Visible = False stuID.Visible = True End IfEnd Sub
Private Sub Option5_click()
If option5.Value = True Then Bookname.Visible = True cdname.Visible = FalseEnd IfEnd Sub
Private Sub Option6_Click() If option6.Value = True Then Bookname.Visible = False cdname.Visible = True End IfEnd Sub
Private Sub DTPicker1_Validate(Cancel As Boolean)text1 = DTPicker1.Value + 2End Sub
Public Sub fill()
r.MoveFirst stuID.Clear r.MoveFirst While Not r.EOF stuID.AddItem r("studentID") r.MoveNext Wend
r.MoveFirstr1.MoveFirstmemid.Clearr1.MoveFirstWhile Not r1.EOFmemid.AddItem r1("memberID")r1.MoveNextWend 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.CloseEnd Sub
Public Sub Enable()DTPicker1.Visible = Truetext1.Visible = TruetxtRemarks.Visible = TrueEnd Sub
Public Sub disable()DTPicker1.Visible = Falsetext1.Visible = FalsetxtRemarks.Visible = FalseEnd Sub
Private Sub cdname_Click()
r3.MoveFirst r3.Move cdname.ListIndex lbc.Caption = "CD code: " txtID = r3!cdcode Dim i As IntegerIf LCase(Trim(r3!Status)) = "available" Then EnableElseIf Trim(r3!Status) = "issued" Then i = MsgBox("CD IS ALREADY ISSUED") disableElseIf Trim(r3!Status) = "missing" Theni = MsgBox("CD IS MISSING")
disableEnd If
txtID = r3!cdcodeEnd Sub
RETURN FORM
Option ExplicitDim r As New RecordsetDim ct As ControlDim r1 As New RecordsetDim r2 As New RecordsetDim c As New Connection
Private Sub cmdok_Click()Dim m As Integerm = Val(Txtic)r!returningdate = txtRetDater!payfine = Txtpfr.Updater1.MoveFirstDo While Not r1.EOFIf Trim(r1("bookid")) = Trim(m) Thenr1!Status = "Available"MsgBox ("BOOK IS RETURNED")r1.UpdateExit DoEnd Ifr1.MoveNextLoopr2.MoveFirstDo While Not r2.EOFIf Trim(r2("cdcode")) = Trim(m) Thenr2!Status = "Available"r2.UpdateEnd Ifr2.MoveNext
LoopMsgBox ("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.Openr.Open "select * from issuemaster", c, adOpenDynamic, adLockOptimisticr1.Open "select * from bookmaster", c, adOpenDynamic, adLockOptimisticr2.Open "select * from CDmaster", c, adOpenDynamic, adLockOptimistic
filllistplayMe.ShowEnd Sub
Public Sub filllist()List1.Clear r.MoveFirst While Not r.EOF List1.AddItem r!issuecode r.MoveNextWendr.MoveFirstEnd Sub
Private Sub List1_Click()r.MoveFirstr.Move List1.ListIndexplay
End Sub
Public Sub play()On Error Resume NextIf Trim(r!StudentId) <> "" Then txtstu = r!StudentId lbl1.Caption = "Student ID : "End IfIf 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!issuecodetxtIssDate = r!DateofissuetxtRetDate = DateTxtpf = r!payfineDim fi As Integerfi = CDate(txtRetDate) - CDate(txtIssDate)If fi > 2 Thenfi = fi - 2Txtpf = fi * 2ElseTxtpf = 0End IfTxtpf.Enabled = Falser.Update
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) c.CloseEnd Sub
EMPLOYEE FORM
Dim c As New ConnectionDim remployee As New RecordsetDim ct As Control
Private Sub cmdCancel_Click()remployee.CancelUpdateremployee.MoveFirstfilllistdisplaydisableEnd Sub
Private Sub cmdDelete_Click()Dim i As Integeri = MsgBox("ARE YOU SURE?", vbYesNo)If i = vbYes Then remployee.Delete remployee.MoveFirst display MsgBox "RECORD DELETED"End IffilllistEnd Sub
Private Sub cmdModify_Click()EnableEnd Sub
Private Sub CmdNew_Click()For Each ct In MeIf TypeOf ct Is TextBox Then
ct.Text = ""End IfNextDim newNo As StringDim iemp As Integerremployee.MoveLastnewNo = remployee!EmployeeIDiemp = Val(Mid(newNo, 2, 3)) + 1If iemp < 10 Thentxtemp = "E00" & iempElseIf iemp < 100 Thentxtemp = "E0" & iempElseIf iemp < 1000 Thentxtemp = "E" & iempEnd Ifremployee.AddNewEnableEnd Sub
Private Sub cmdSave_Click()If txtemp = "" Or txtName = "" Or txtlast = "" Or txtAdd1 = "" Or txtAdd2 = "" Or txttel = "" Or txtmail = "" Or TXTPASS = "" ThenMsgBox ("ENTER THE VALUE")Elseremployee!EmployeeID = txtempremployee!FirstName = txtNameremployee!Lastname = txtlastremployee!Address1 = txtAdd1remployee!Address2 = txtAdd2remployee!Tel = txttelremployee!Email = txtmailremployee!Password = TXTPASSremployee.Updatedisable
filllistEnd IfEnd Sub
Private Sub Form_Load()c.Provider = "Microsoft.Jet.OLEDB.4.0"c.ConnectionString = "data source=" & App.Path & "\library.mdb"c.Openremployee.Open "select * from employee1", c, adOpenDynamic, adLockOptimisticdisplaydisablefilllistEnd Sub
Public Sub Enable()For Each ct In MeIf TypeOf ct Is TextBox Thenct.Enabled = TrueEnd IfNextFor Each ct In MeIf TypeOf ct Is CommandButton Thenct.Enabled = FalseEnd IfNextcmdsave.Enabled = Truecmdcancel.Enabled = TrueEnd Sub
Public Sub disable()For Each ct In MeIf TypeOf ct Is TextBox Then
ct.Enabled = FalseEnd IfNextFor Each ct In MeIf TypeOf ct Is CommandButton Thenct.Enabled = TrueEnd IfNextcmdsave.Enabled = Falsecmdcancel.Enabled = FalseEnd 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 displayEnd Sub
Private Sub List1_Click()
remployee.MoveFirstremployee.Move List1.ListIndexdisplayEnd Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) c.CloseEnd SubPrivate 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 IfEnd SubPrivate 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 IfEnd SubPrivate Sub txttel_KeyDown(KeyCode As Integer, Shift As Integer)If Not (KeyCode >= 48 And KeyCode <= 57) ThenMsgBox ("PLEASE ENTER THE NUMERIC KEY")txttel = ""txttel.SetFocus
End IfEnd Sub
FORM ABOUT
Private Sub Command1_Click()Unload MeEnd SubPrivate Sub Command1_Click()DataReport2.ShowEnd SubOption Explicit
Private Sub Command1_Click()DataReport4.ShowEnd SubPrivate Sub Command1_Click()DataReport3.ShowEnd SubPrivate Sub Command1_Click()DataReport1.ShowEnd SubOption ExplicitPrivate Sub Command1_Click()DataReport5.ShowEnd SubOption Explicit
Private Sub Command1_Click()DataReport6.ShowEnd 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:- Visual basic 6.0
BACKEND:- 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 By Bradely
* PL/SQL 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.
Student
Student_ID Name
SEM
Magazine
Month Bill no
Publication
Period icity
Volume
Year
Sub-No
Date
Title
Student_id
NOC
ORDER
DATE
ID
NOC
VENDOR VENDOR_ID
Name
SUB
GIVEN By
BILL_NO BILL DATE
ISSUE
Accession
PA GE
TITLE
BILLNO
VOLUME
COST
BILL-ID
PUBLI
YEA R
AUTHOR
DOI
STUDENT-ID
ACCESSION
E-R DIAGRAM