Sunteți pe pagina 1din 101

“ 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 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 EDITION
PRICE

ISBN
PUBLISHER CAT_ID
ER DIAGRAM OF STUDENT TABLE

NAME
STD_ID

CLASS

STUDENT

EMAIL
PHONE
ADDRESS
ER DIAGRAM OF MEMBER TABLE

NAME ADDRESS

MEM_ID

MEMBER

PHONE
EMAIL
ER DIAGRAM OF BOOK ISSUE

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

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.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 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 SIZE


ACC.NO NUMBER 10
TITLE TEXT 25
AUTHOR TEXT 20
PUBLISHER TEXT 20
EDITION NUMBER 10
PRICE NUMBER 05
CAT_ID TEXT 10
ISBN * TEXT 20

STUDENTS TABLE:-
FIELD NAME DATA TYPE SIZE
STUDENT ID * TEXT 10
NAME TEXT 30
CLASS NUMBER 02
SECTION NUMBER 02
ADDRESS TEXT 50
PHONE NO NUMBER 11
MEMBER TABLE:-
FIELD NAME DATA TYPE SIZE
MEMBER ID * TEXT 10
NAME TEXT 25
ADDRESS TEXT 50
PHONE NO NUMBER 12
DATE OF JOINING DATE/TIME -

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

BOOK ISSUE TABLE:-


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

FIELD NAME DATA TYPE SIZE


CD_CODE * TEXT 10
CD NAME TEXT 10
CD TYPE TEXT 10
STATUS TEXT 10

MAGAZINE TABLE:-

FIELD NAME DATA TYPE SIZE


SERIAL NO * TEXT 15
NAME TEXT 15
TYPE TEXT 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:- 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.
E-R DIAGRAM

Month Bill no
Date
Student_ID
Na me Publication
Title
Period icity
SEM Student Student_id

Magazine Vo lu me
NOC
ACCESSION
Year
SUB
STUDENT Sub-No
-ID ISSUE

DOI DATE

YEA R ORDER ID
PA GE

AUTHOR
Accession NOC

TITLE
VENDOR VENDOR_ID
PUBLI
BILLNO
Na me
VOLUM E
BILL-ID
COST
GIVEN
By

BILL_ NO
BILL DATE

8
BILL AMOUNT BILL

Vendor_id

S-ar putea să vă placă și