0% found this document useful (1 vote)
397 views33 pages

Library Management

The document describes an entity relationship diagram and relational database model for a library management system. It identifies the entities of member, book, and borrow and shows their relationships. It then discusses converting the ER diagram into tables in Microsoft Access and establishing relationships between the tables. Forms and modules are also created in Visual Basic to interface with and connect to the Access database.

Uploaded by

rakshitha s
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
397 views33 pages

Library Management

The document describes an entity relationship diagram and relational database model for a library management system. It identifies the entities of member, book, and borrow and shows their relationships. It then discusses converting the ER diagram into tables in Microsoft Access and establishing relationships between the tables. Forms and modules are also created in Visual Basic to interface with and connect to the Access database.

Uploaded by

rakshitha s
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 33

Data Model – ER Diagram

The ER diagram or entity-relationship diagram begins with identifying


all entities of the project. You can write activities or use an activity
diagram to identify entities.

 Member has user ID and password.


 Member can borrow books and return after use.
 A single book is allocated to only one member.
 Member can check availability of a book.
 Book details and Catalog of all books in library.
From above description we identified three entities and their
relationships.

Borrow and Return


 Library member
 Book Details
The ER diagram is below shows relationship between all entities.

ER Diagram For Library Management Project


Location of the Database
In the next section, you will be creating a database in MS Access 2003;
therefore, you must create the database in following location
– C:/VBProjects/Library/library.mdb for this project to work. If the path
is incorrect, the program will not run successfully.
MS Access Database Location – C:/VBProjects/Library/library.mdb
Relational Model – Tables
Now we need to convert the ER Model to a Relational Model which
means creating a table for each entity in the ER Model.

Book Table
The book table in Access Design View is given below. One of the Field
Name is “Primary Key”, in this case, BookID.

Book Table – Library


Management System
Member Table
The screenshot for the Member table in Microsoft Access Design View
is given below. The Field Name “MemberID” is the “Primary Key” for
this table”.
Advertisements

Member Table – Library


Management System
Borrow Table
The third table in MS Access Design View is Borrow. This table has
multiple fields that serve as the “Primary Key”. The primary key
are BookID, MemberID, and Return.

Borrow Table – Library Management


System
Note: Primary Key is a field that uniquely identifies each row in the
table.

Relationship
A relationship is MS Access is similar to the e-r diagram we created
previously. We can use the e-r diagram to create relationships between
tables.

To view or create relationships among tables, go to Database Tool from


the Toolbar > [Click] Relationship under Show/Hide.

Relationships Between
Tables – Library Management System
The relationship between Member and Borrow is called One-to-
Many and the relationship between Book and Borrow is One-to-Many.

Relationship Types
Connect to MS Access Database Using Module1.bas
All form need to connect to Microsoft Access Database but you may
have to write the code for connection in each form. It there is a large
number of forms in the project, say 10, then these extra line of codes
become redundant. To save us from this trouble, create  Module1.bas file
from Project1.vbp windows.The code for Module is given below.

Public con As New ADODB.Connection


Public rs As New ADODB.Recordset
Public constr As String
Public Sub loadcon()
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\VBProjects\
Library\library.mdb;Persist Security Info=False"
con.Open constr
End Sub
Components for frmLibraryManagement
You can design the interface for each of the forms in Visual Basic now.
However, you must rename them properly for sake of coding. Let’s
create components for frmLibraryManagement as follows and rename
them.
Form Library Management System
Form Details

Name:frmLibraryManagement
Caption :LIBRARY MANAGEMENT SYSTEM
BackColor :Window Text
ForeColor : Highlight Text
Now add a frame control and add all other controls on top of it.

Frame

Name:frameLibraryManagement
Caption :Library Management
BackColor :Window Text
ForeColor : Highlight Text
Labels

Name : lblLibraryManagement
Caption : LIBRARY MANAGEMENT SYSTEM
BackColor :Window Text
ForeColor : Highlight Text
Font :Arimo 18px Bold

Name : lblCompany
Caption : NotesforMSc
BackColor :Window Text
ForeColor : Highlight Text
Font : MS Sans-serif 12px Bold

Name : lblCopyright
Caption : Copyright : https://notesformsc.org
BackColor :Window Text
ForeColor : Highlight Text
Font : MS Sans-serif px Bold
Buttons

Name : cmdLogin
Caption : Login
BackColor : Button Highlight
Font : MS Sans-serif 12px Bold
Style :1-Graphical
Code for frmLibraryManagement
Private Sub cmdLogin_Click()
   frmLogin.Show
   Unload Me
End Sub
Components for frmLogin
The login screen is different because you want password to be hidden
when you type them. To create Login dialog, {Right-
Click] Project.vbp > Select Add > [Click] Form. The new form dialog
box will appear, select Log in Dialog.

Login Dialog –
Library Management System
Now we must rename and change the code for frmLogin.

Form Login – Library Management System


Form Details
Name : frmLogin
Caption :Login
BackColor: WindowText
ForeColor : Highlight Text
Labels

Name : lblUserID
Caption : UserID
BackColor : Window Text
ForeColor : Highlight Text

Name : lblPassword
Caption : Password
BackColor : Window text
ForeColor : Highlight Text
Text-Boxes

Name: txtUserID
Text : 'leave blank'

Name : txtPassword
Text : 'leave blank'
Buttons
Name : cmdOk
Caption : OK

Name: cmdCancel
Caption : Cancel
Code for frmLogin

Option Explicit

Public LoginSucceeded As Boolean

Private Sub cmdCancel_Click()


   'set the global var to false
  'to denote a failed login
   LoginSucceeded = False
   Me.Hide
End Sub

Private Sub cmdOK_Click()

   rs.Open "SELECT * FROM Member ", con, adOpenDynamic,


adLockReadOnly

   While Not rs.EOF


   If rs!MemberID = Val(txtUserID) Then

   'check for correct password'

   If rs!Pass = txtPassword Then

   'place code to here to pass the '


   'success to the calling sub'
   'setting a global var is the easiest'
   LoginSucceeded = True
   frmMENU.Show
   Me.Hide
   con.Close
   Exit Sub

   Else

   MsgBox "Invalid Password, try again!", , "Login"


   txtPassword.SetFocus
   SendKeys "{Home}+{End}"

   End If
   End If

   rs.MoveNext
   Wend
End Sub

Private Sub Form_Load()


Call loadcon
End Sub
Components for frmBook
All details of books are available from this form.You can add new books,
delete a book, update book information, and view the entire books in the
library from this form.
Library Management – frmBook
Form Details

Name : frmBook
Caption : Book Details
BackColor : Window Text
ForeColor : Highlight Text
First create a single frame control and add all other controls on top of it.

Name : frameBook
Caption : Book Details
BackColor : Window Text
ForeColor : Highlight Text
Labels

Name : lblBookMain
Alignment : Center
Caption : Book Details
BackColor : Window Text
ForeColor : Highlight Text
Font : Arimo 18px Bold

Name : lblBookID
Alignment : Center
Caption : BOOK ID
BackColor : Window Text
ForeColor : Highlight Text
Font : MS Sans-serif 8px Bold

Name : lblBookTitle
Alignment : Center
Caption : BOOK TITLE
BackColor : Window Text
ForeColor : Highlight Text
Font : MS Sans-serif 8px Bold

Name : lblAuthor
Alignment : Center
Caption : AUTHOR
BackColor : Window Text
ForeColor : Highlight Text
Font : MS Sans-serif 8px Bold
Name : lblBNote
Alignment : Center
Caption : NOTE:
BackColor : Window Text
ForeColor : Highlight Text
Font : MS Sans-serif 8px Bold

Name : lblBInstruction
Alignment : Center
Caption : Only use BOOK ID for DISPLAY
BackColor : Window Text
ForeColor : Highlight Text
Font : MS Sans-serif 8px Bold
Textboxes

Name : txtBookID
Text :'leave empty'

Name : txtBookTitle
Text :'leave empty'

Name :txtAuthor
Text: 'leave empty'
Buttons
Name : cmdBAdd
Caption : &ADD
BackColor : Button Highlight
Style : 1-Graphical

Name : cmdBDelete
Caption : &DELETE
BackColor : Button Highlight
Style : 1-Graphical

Name : cmdBUpdate
Caption : &UPDATE
BackColor : Button Highlight
Style : 1-Graphical

Name : cmdBDisplay
Caption : &DISPLAY
BackColor : Button Highlight
Style : 1-Graphical

Name : cmdClear
Caption : &CLEAR
BackColor : Button Highlight
Style : 1-Graphical
Name : cmdBExit
Caption : &EXIT
BackColor : Button Highlight
Style : 1-Graphical

Name : cmdBCatalog
Caption : &CATALOG
BackColor : Button Highlight
Style : 1-Graphical
DataGrid Control

Name : BookFinder
Code for frmBook

Option Explicit

Private Sub cmdBAdd_Click()


Call loadcon
con.Execute "INSERT INTO Book (BookID, BookTitle, Author) VALUES (" &
txtBookID & ",'" & txtBookTitle & "','" & txtAuthor & "')"
MsgBox ("Record Inserted Successfully")
con.Close
End Sub

Private Sub cmdBCatalog_Click()


Call loadcon
rs.CursorLocation = adUseClient
rs.Open "Book", con, adOpenKeyset, adLockBatchOptimistic, adCmdTable
If Dir$("C:/VBProjects/Library/savebookquery.xml" ) <> "" Then
Kill "C:/VBProjects/Library/savebookquery.xml"
End If
rs.Save "C:/VBProjects/Library/savebookquery.xml" , adPersistXML
rs.Close
con.Close
Set rs = Nothing
rs.Open "C:/VBProjects/Library/savebookquery.xml" , , adOpenKeyset,
adLockBatchOptimistic, adCmdFile
Set BookFinder.DataSource = rs
Set rs = Nothing
End Sub

Private Sub cmdBDelete_Click()


Call loadcon
con.Execute "DELETE * FROM Book WHERE BookID = " & txtBookID & ""
MsgBox ("Record Deleted Successfully")
con.Close
End Sub

Private Sub cmdBDisplay_Click()

Call loadcon
rs.CursorLocation = adUseClient
rs.Open "SELECT Book.[BookID], Book.[BookTitle],Borrow.
[MemberID],Member.[MemberName],Borrow.[StartDate] FROM
Book,Borrow,Member WHERE Book.[BookID] = " & txtBookID & " And Book.
[BookID]= Borrow.[BookID]And Borrow.[MemberID]=Member.[MemberID]
And Borrow.[Return] = 0", con, adOpenDynamic, adLockOptimistic
If Dir$("C:/VBProjects/Library/savebookdisplay.xml" ) <> "" Then
Kill "C:/VBProjects/Library/savebookdisplay.xml"
End If
rs.Save "C:/VBProjects/Library/savebookdisplay.xml" , adPersistXML
rs.Close
con.Close
Set rs = Nothing
rs.Open "C:/VBProjects/Library/savebookdisplay.xml" , , adOpenKeyset,
adLockBatchOptimistic, adCmdFile
Set BookFinder.DataSource = rs
Set rs = Nothing
End Sub
Private Sub cmdBExit_Click()
Unload Me
End Sub

Private Sub cmdBUpdate_Click()


Call loadcon
con.Execute "UPDATE Book SET BookTitle = '" & txtBookTitle & "', Author =
'" & txtAuthor & "' WHERE BookID = " & txtBookID & ""
MsgBox ("Record Updated Successfully")
con.Close
End Sub

Private Sub cmdClear_Click()


txtBookID.Text = " "
txtBookTitle.Text = " "
txtAuthor.Text = " "
End Sub
Components for frmMember
This form will provide information about library members including the
book they currently borrowed. You can create
new members, delete members, and update their information except
except MemberID.
Library Management – frmMember
Form Details

Name : frmMember
Caption : Member
BackColor : Window Text
ForeColor : Highlight Text
Frame Control
Name : frameMember
Caption : Member Registration
BackColor : Window Text
ForeColor : Highlight Text
Now you can start adding all the other control on top of frame. You want
to make controls visible on frame,then right click frame and click send
to back.
Labels

Name :lblMemberMain
Alignment :Center
Caption : Member Information
BackColor : Window Text
ForeColor : Highlight Text
Font : Arimo 18px Bold

Name :lblMID
Caption : Member ID
BackColor : Window Text
ForeColor : Highlight Text
Font :MS Sans-serif 8px Bold

Name :lblMName
Caption : Member Name
BackColor : Window Text
ForeColor : Highlight Text
Font :MS Sans-serif 8px Bold

Name :lblMNote
Caption : NOTE:
BackColor : Window Text
ForeColor : Highlight Text
Font :MS Sans-serif 8px Bold

Name :lblMInstruction
Caption : Only use Member ID before DISPLAY
BackColor : Window Text
ForeColor : Highlight Text
Font :MS Sans-serif 8px Bold
Textboxes

Name: txtMID
Text :'leave blank'

Name: txtMName
Text :'leave blank'

Name: txtMPass
Text :'leave blank'
Buttons

Name :cmdMAdd
Caption : &ADD
BackColor : Window Text
Style : 1-Graphical
Name :cmdMDel
Caption : &DELETE
BackColor : Window Text
Style : 1-Graphical

Name :cmdMUpdate
Caption : &UPDATE
BackColor : Window Text
Style : 1-Graphical

Name :cmdMDisplay
Caption : &DISPLAY
BackColor : Window Text
Style : 1-Graphical

Name :cmdMClear
Caption : &CLEAR
BackColor : Window Text
Style : 1-Graphical

Name :cmdMExit
Caption : &EXIT
BackColor : Window Text
Style : 1-Graphical
Name :cmdMAllMember
Caption : &Show Members
BackColor : Window Text
Style : 1-Graphical
DataGrid Control

Name :MemberFinder
Code for frmMember

Private Sub cmdAllMember_Click()


Call loadcon
rs.CursorLocation = adUseClient
rs.Open "Member", con, adOpenKeyset, adLockBatchOptimistic, adCmdTable
If Dir$("C:/VBProjects/Library/saveshowmembers.xml" ) <> "" Then
Kill "C:/VBProjects/Library/saveshowmembers.xml"
End If
rs.Save "C:/VBProjects/Library/saveshowmembers.xml" , adPersistXML
rs.Close
con.Close
Set rs = Nothing
rs.Open "C:/VBProjects/Library/saveshowmembers.xml" , , adOpenKeyset,
adLockBatchOptimistic, adCmdFile
Set MemberFinder.DataSource = rs
Set rs = Nothing
End Sub

Private Sub cmdMAdd_Click()


Call loadcon
con.Execute "INSERT INTO Member (MemberID,MemberName,Pass) VALUES
(" & txtMID & ",'" & txtMName & "','" & txtMPass & "')"
MsgBox ("Record Inserted Successfully")
con.Close
End Sub

Private Sub cmdMClear_Click()


txtMID.Text = " "
txtMName.Text = " "
txtMPass.Text = " "
End Sub

Private Sub cmdMDel_Click()


Call loadcon
con.Execute "DELETE * FROM Member WHERE MemberID = " & txtMID & ""
MsgBox ("Record Deleted Successully")
con.Close
End Sub

Private Sub cmdMDisplay_Click()


Call loadcon
rs.CursorLocation = adUseClient
rs.Open "SELECT Member.[MemberID],Member.[MemberName],Borrow.
[Bookid],Borrow.[bookTitle]FROM Member, Borrow WHERE Member.
[MemberID]= " & txtMID & " And Member.[MemberID] = Borrow.[MemberID]
And Borrow.[Return]= 0", con, adOpenDynamic, adLockOptimistic
If Dir$("C:/VBProjects/Library/savememberdisplay.xml" ) <> "" Then
Kill "C:/VBProjects/Library/savememberdisplay.xml"
End If
rs.Save "C:/VBProjects/Library/savememberdisplay.xml" , adPersistXML
rs.Close
con.Close
Set rs = Nothing
rs.Open "C:/VBProjects/Library/savememberdisplay.xml" , , adOpenKeyset,
adLockBatchOptimistic, adCmdFile
Set MemberFinder.DataSource = rs
Set rs = Nothing
End Sub

Private Sub cmdMExit_Click()


Unload Me
End Sub

Private Sub cmdMUpdate_Click()


Call loadcon
con.Execute "UPDATE Member SET MemberName = '" & txtMName & "',Pass =
'" & txtMPass & "' WHERE MemberID = " & txtMID & ""
MsgBox ("Record Updated Successfully")
con.Close
End Sub
Components for frmBorrow
The form Borrow allows you to check the availability of books, and if
the book is available you can borrow  it. If member wants to return  the
book they can enter details of the book and return it immediately.

Library Management – frmBorrow


Form Borrow Details
Name : frmBorrow
Caption : Book Borrow
BackColor : Window Text
ForeColor : Highlight Text
Frame Controls

Name : frameBookBorrow
Caption : Book Borrow
BackColor : Window Text
ForeColor : Highlight Text

Name : frameAvailibility
Caption : Availibility
BackColor : Window Text
ForeColor : Highlight Text
Once you have created a frame control, add other controls on top of it.
Also right click frame and send to back the frame.
Under the frame  book borrow add following controls.
Labels

Name : lblBorrowMain
Caption : Book Borrow Details
BackColor : Window Text
ForeColor :Highlight Text
Font : Arimo 18px Bold

Name : lblBBookID
Caption : Book ID
BackColor : Window Text
ForeColor :Highlight Text
Font : MS Sans-serif 8px Bold
Name : lblBTitle
Caption : Book Title
BackColor : Window Text
ForeColor :Highlight Text
Font : MS Sans-serif 8px Bold

Name : lblBMemberID
Caption : Member ID
BackColor : Window Text
ForeColor :Highlight Text
Font : MS Sans-serif 8px Bold

Name : lblBorrowNote
Caption : NOTE:
BackColor : Window Text
ForeColor :Highlight Text
Font : MS Sans-serif 8px Bold

Name : lblBInstructions
Caption : Always CLEAR before any Query or Update
BackColor : Window Text
ForeColor :Highlight Text
Font : MS Sans-serif 8px Bold
Textboxes

Name : txtBBookID
Text : 'leave blank'
Name : txtBTitle
Text : 'leave blank'

Name : txtBMemberID
Text : 'leave blank'
Buttons

Name : cmdBorrow
Caption :&Borrow
BackColor : Window Text
ForeColor : Highlight Text
Style :1-Graphical

Name : cmdReturn
Caption :&Return
BackColor : Window Text
ForeColor : Highlight Text
Style :1-Graphical

Name : cmdBClear
Caption :&Clear
BackColor : Window Text
ForeColor : Highlight Text
Style :1-Graphical
Name : cmdExit
Caption :&Exit
BackColor : Window Text
ForeColor : Highlight Text
Style :1-Graphical
Now you can add controls under Check Availability frame.

Labels under Check Availability

Name : lblBBookTitle
Caption : Book Title
BackColor : Window Text
ForeColor : Highlight Text
Font : MS Sans-serif 8px Bold

Name : lblBResult
Caption : Result
BackColor : Window Text
ForeColor : Highlight Text
Font : MS Sans-serif 8px Bold
Textboxes

Name :txtBBookTitle
Text : 'leave blank'

Name :txtBResult
Text : 'leave blank'
Buttons

Name : cmdAvailibility
Caption :&Check Availibility
BackColor : Window Text
ForeColor : Highlight Text
Style :1-Graphical
Code for frmBorrow

Private Sub cmdAvailibility_Click()


Call loadcon
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
rs.Open "SELECT * FROM Borrow WHERE BookTitle = '" & txtBBookTitle &
"' And Return = 0", con, adOpenDynamic, adLockOptimistic
If rs.RecordCount > 0 Then
txtBResult.Text = "Not Available"
Else
txtBResult.Text = "Available"
End If
rs.Close
con.Close
End Sub

Private Sub cmdBClear_Click()


txtBBookID.Text = ""
txtBMemberID.Text = " "
txtBBookTitle.Text = " "
txtBResult.Text = ""
txtBTitle.Text = " "
End Sub

Private Sub cmdBorrow_Click()


Call loadcon
rs.Open "INSERT INTO Borrow (BookID, MemberID, BookTitle,StartDate)
VALUES (" & txtBBookID & "," & txtBMemberID & ",'" & txtBTitle & "',#" &
Format(Now, "mm/dd/yyyy") & "#)", con, adOpenDynamic, adLockOptimistic
MsgBox ("Book Borrowed Successully" )
con.Close

End Sub

Private Sub cmdExit_Click()


Unload Me
If con.State = adStateOpen Then
con.Close
End If
End Sub

Private Sub cmdReturn_Click()


Call loadcon
rs.CursorLocation = adUseClient
rs.CursorType = adOpenDynamic
rs.Open "UPDATE Borrow SET Return = 1 WHERE MemberID = " &
txtBMemberID & " And BookID = " & txtBBookID & "", con, adOpenStatic,
adLockReadOnly
MsgBox "Book Returned Successfully"
con.Close
End Sub
Components for frmMENU – MDI form
The frmMENU is a form with menu items and we can create a menu
using the Menu Editor.
To create a MDI form, [Right-Click] Project1.vbp > Select Add >
[Click] MDI Form. Create following menu items using Menu Editor.
MDI Form with Menu – Form Book Details – Library Management System using VB 6 with
MS Access
You have to create four menu items with following values. Do not
change any other settings. However, you can use arrow buttons to move
item up and down.

Borrow Book

Name : borrow
Caption : Borrow Book
Index: 3
Member Details

Name : members
Caption : Member Details
Index : 1
Book Details
Name : books
Caption : Book Details
Index : 2
Exit

Name : exit
Caption : Exit
Index : 0
Code for frmMenu
Before adding code for frmMENU, make sure you have created all other
forms of the Library Management Project,
When you click on any menu item it will open another form within the
parent MDI form. The other form that must open within MDI form
should have their MDI child property set to True.

Set MDI Child Property to True


Add following code to frmMENU in from the code editor.

Private Sub books_Click(Index As Integer)


frmBook.Show
End Sub
Private Sub borrow_Click(Index As Integer)
frmBorrow.Show
End Sub

Private Sub exit_Click(Index As Integer)


Unload Me
End Sub

Private Sub members_Click(Index As Integer)


frmMember.Show
End Sub
The menu item allows multiple forms at the same time. If you want to
allow only single form to load then hide other forms. See an example
below.

Private Sub members_Click(Index As Integer)


frmMember.Show
frmBorrow.hide
frmBook.hide
End Sub
Note: You cannot add the code for Module 1 because first you have to
add the components for Microsoft ADO Data Control 6.0 (OLEDB) and
Microsoft Data grid Control 6.0 (OLEDB).

You might also like