You are on page 1of 50

GOVERNMENT POLYTECHNIC, WASHIM

A
MICRO PROJECT REPORT
ON
“ Book Shop Management System ”

Subject- GUI APPLICATION DEVLOPMENT USING

VB.NET (22034)

Submitted By
Student Names
Miss. Jagruti Ninad Deshmukh Miss. Pallavi Ramesh Thakare

Miss. Vaishnavi Shantiram Jahirao Mr. Sahil Sanjay Jawale

Mr. Sumit Bandu Undare

Subject Teacher H.O.D.

Mr. K.V.Ingole Mr. U. A. Bagde


(Lecturer in Info. Tech.Department) (Info.Tech.Department)

Principal
Dr. B. G. Gawalwad

Government Polytechnic, Washim


DEPARTMENT OF INFORMATION TECHNOLOGY
2022-2023

GOVERNMENT POLYTECHNIC, WASHIM


CERTIFICATE
This is to certify that
Second Year Student of Information Technology has submitted a MICRO
PROJECT report on

“Book Shop Management System”


During the academic session 2022-2023 in a satisfactory manner in the
partial fulfillment for the requirement of

Subject-– GUI APPLICATION DEVLOPMENT USING


VB.NET (22034)

for the Diploma in “Information Technology”

Awarded by
Maharashtra State Board of Technical Education, Mumbai.

Subject Teacher H.O.D


Mr. K.V.Ingole Mr. U. A. Bagde
(Lecturer in Info. Tech. Department) (Info. Tech. Department)

Principal
Dr. B. G. Gawalwad
Government Polytechnic, Washim
SUBMITTED BY THE GROUP OF

Roll No Name Of Student Enrollment

65 Vaishnavi Shantiram Jahirao 2200310426

71 Jagruti Ninad Deshmukh 2200310431

55 Pallavi Ramesh Thakare 2100310221

64 Sahil Sanjay Jawale 2000310209

59 Sumit Bandu Undare 2100310226


Certificate

This is to certify that Mr/Miss.


_____________________________________________________
____Roll No. ___
Of Semester 4th of Diploma in Information Technology [IF4I] of
Institute, Government Polytechnic, Washim (0031) has complete
their micro project satisfactory in Course
_________________________________ for academic year 2022-
23.
Place : Washim
Enrollment No. :
Date:

Subject Teacher H. O. D
Mr. K.V.Ingole Mr. U. A. Bagde

Principal
Dr. B. G. Gawalwad
Abstract

The bookshop management system is a software application


designed to manage the various operations of a bookstore. The
system is built using the VB.NET programming language and
utilizes a graphical user interface (GUI) to provide an easy-to-
use platform for managing bookstore inventory, sales and
customer information. The system allows bookstore owner to
keep track of their inventory, add new books to the database, and
update existing book information. The system also provides
tools for managing customer information, including creating and
managing customer accounts and generating reports on customer
transactions. Additionally, the system includes sales management
features that allow bookstore owners to tack sales, generate sales
reports, and manage payments. Overall, the bookshop
management system provides a comprehensive solution for
managing all aspects of a bookstore, helping owners to
streamline their operations and improve their efficiency.
TABLE OF CONTENT

SR Conte Page
No. nt No.
1 Introduction 6
2 Data Flow Diagram 7
3 Source Code 7-27
4 Output 28
5 Future Enhancement 29
6 Conclusion 29
INTRODUCTION
The project titled Book store Management System is Book store
management software for monitoring and controlling the
transactions in a Book store .The project “Book store Management
System” is developed in VB.Net, which mainly focuses on basic
operations in a Book store like adding new Customer, new books,
and updating new information, searching books and Publisher
and facility to sold and return books.
“Book store Management System” is a windows application
written for 64- bit Windows operating systems, designed to help
users maintain and organize Book store. Our software is easy to
use for both beginners and advanced users. It features a familiar
and well thought-out, an attractive user interface, combined with
strong searching Insertion and reporting capabilities. The report
generation facility of Book store system helps to get a good idea
of which are the books sold by the Publisher, makes users
possible to generate reports’ hard copy.

SYSTEM SPECIFICATION

HARDWARE CONFIGURATION
 System : HCL/HP any

 Processor : Intel core i-5

 RAM : 4 GB

 Internal memory capacity : 500 GB


SOFTWARE CONFIGURATION
 Operating system : Windows 7/10

 Front end : Visual studio 2008

 Back end : SQL server 2005


Data Flow Diagram:

Source Code:

Login Form:
Dim rs As New
ADODB.Recordset Public
LoginSucceeded As Boolean
Dim Counter As Integer
Private Sub
cmdCancel_Click() 'set the
global var to false
'to denote a failed
login
LoginSucceeded =
False Unload Me
End Sub
Private Sub
cmdOK_Click() On Error
Resume Next
If txtPasswd.Text = "" Then
MsgBox "Enter A Password:",
vbCritical txtPasswd.SetFocus
Exit
Sub
End If
'rs.Close 'After the user_id are loaded into dbUserId
close the 'Recordset for further usage
rs.Open "Select User_Password from users where
User_Name= '" & dcUser.Text & "'", Con,
adOpenDynamic, adLockOptimistic
If rs.EOF <> True Then 'If Search is
found If rs(0) = txtPasswd Then
DoEvents
'Check If user is Admin
'Checking : To allow Settings Menu Available only
to Admin Unload Me
frmMain.Sh
ow DoEvents
' Srchflag =
True Exit Sub
rs.Close
Else
MsgBox "Invalid Password!!!" & vbCrLf & "Note :
Password is same as Username", vbInformation, "Enjoy
Freeware" txtPasswd.Text = ""
txtPasswd.SetFo
cus rs.Close
Exit
Sub
End If
End If
'If Srchflag = False Then 'Display msg when search not found
' MsgBox "Invalid Password" & vbCrLf & "No Access!!!",
vbCritical, "Invalid User"
' End
'End If
End
Sub
Main Form:
Dim MyForm As
FRMSIZE Dim DesignX
As Integer Dim DesignY
As Integer Private Sub
backup_Click()
frmBackUp.Show 1
End Sub
Private Sub
CoolGreen_Click() Call
select_color_type(3)
sys_color = "3"
End Sub
Private Sub
Default_Click() Call
select_color_type(0)
sys_color = "0"
End Sub
Private Sub
LightBrown_Click() Call
select_color_type(5)
sys_color = "5"
End Sub
Private Sub
LightViolet_Click() Call
select_color_type(4)
sys_color = "4"
End Sub
Private Sub
MacGrey_Click() Call
select_color_type(1)
sys_color = "1"
End Sub
Private Sub MDIForm_Load()
Dim ScaleFactorX As Single, ScaleFactorY As Single '
Scaling factors ' Size of Form in Pixels at design resolution
DesignX = 800
DesignY = 600
RePosForm = True ' Flag for
positioning Form DoResize = False '
Flag for Resize Event
' Set up the screen values
Xtwips =
Screen.TwipsPerPixelX
Ytwips =
Screen.TwipsPerPixelY
Ypixels = Screen.Height / Ytwips ' Y Pixel
Resolution Xpixels = Screen.Width / Xtwips '
X Pixel Resolution ' Determine scaling factors
ScaleFactorX = (Xpixels /
DesignX) ScaleFactorY =
(Ypixels / DesignY)
Resize_For_Resolution ScaleFactorX,
ScaleFactorY, Me MyForm.Height = Me.Height '
Remember the current size MyForm.Width =
Me.Width
frmContainer.Show
'Display the business
status UpdateInfoMsg
End Sub
Purchase Order Form:
Dim MyForm As
FRMSIZE Dim DesignX
As Integer Dim DesignY
As Integer Private Sub
cmbPID_Click()
Dim rsProdName As Recordset
Set rsProdName = New ADODB.Recordset

Book Shop Management System.


rsProdName.Open "Select * from Books where Book_ID = " &
cmbPID & "", Con, adOpenDynamic, adLockReadOnly
If rsProdName.RecordCount > 1
Then MsgBox " Database Error"
Exit
Sub Else
txtPName =
rsProdName(1) txtunits =
rsProdName(7) txtRPU =
rsProdName(6)
End If
rsProdName.Clo
se End Sub
Private Sub cmbSID_Click()
Dim rsSupplierName As Recordset
Set rsSupplierName = New ADODB.Recordset
rsSupplierName.Open "Select * from Suppliers where
SupplierID = " & cmbSID & "", Con, adOpenDynamic,
adLockReadOnly
If rsSupplierName.RecordCount >
1 Then MsgBox " Database Error"
Exit
Sub Else
txtSName = rsSupplierName(1)
txtSCName = rsSupplierName(2)
End If
rsSupplierName.Cl
ose End Sub
Private Sub
cmdAddList_Click() 'On
Error Resume Next
Dim rsMed As
Recordset Dim i As
Integer
Dim rsProdName As New
ADODB.Recordset Dim tot As Long
If MFG.Rows > 2 Then
For i = 1 To MFG.Rows - 2 Step 1
If MFG.TextMatrix(i, 2) = cmbPID Then
MsgBox "Medicine Already Exist In The List Cannot
Add Same Medicine Again. ", vbCritical +
vbOKOnly
Exit
Sub End
If Next i
End If
If txtAmount = "" Or txtNet = "" Or txtunits = "" Or txtRPU
= "" Then MsgBox "Please Enter the relevant Fields"
Exit
Sub End
If
If Val(txtUPurchased) = 0 Then
MsgBox "Quantity Cannot be Zero",
vbCritical Exit Sub
End If
'Remove quantity
rsProdName.Open "Select * from Books where Book_ID = " &
cmbPID & "", Con, adOpenStatic, adLockOptimistic
tot = Val(txtunits.Text) -
Val(txtUPurchased.Text) rsProdName(7) =
tot
txtunits.Text = rsProdName(7)
rsProdName.UpdateBatch
adAffectCurrent rsProdName.Close
Dim row As
Integer row =
MFG.Rows - 1
With MFG
.Rows = .Rows + 1
MFG.TextMatrix(row, 1) =
txtBillID MFG.TextMatrix(row, 2)
= cmbPID MFG.TextMatrix(row,
3) = txtPName
MFG.TextMatrix(row, 4) =
txtUPurchased
MFG.TextMatrix(row, 5) = txtRPU
MFG.TextMatrix(row, 6) = txtdis
MFG.TextMatrix(row, 7) = txtNet
.FixedRows = 1
.RowHeight(0) = .RowHeight(1)
* 1.5 SizeColumns MFG, Me
MFGVALUES
row = row +
1 End With
Call
CalcFinal
Call
TextClear
End Sub
Public Sub CalcFinal()
On Error Resume
Next Dim amount As
Double Dim Discount
As Double Dim Total
As Double Dim i As
Integer
If MFG.Rows > 2 Then
For i = 1 To MFG.Rows - 2 Step 1
amount = amount +
(Val(MFG.TextMatrix(i, 5)) *
Val(MFG.TextMatrix(i, 4)))
Discount = Discount +
MFG.TextMatrix(i, 6) Total = Total +
MFG.TextMatrix(i, 7)
Next i
End If
txtgrndtot =
amount txtdisgvn
= Discount
txtpayable = Total
Debug.Print Val(amount) -
Val(Discount) End Sub
Public Sub TextClear()
txtunits = ""
txtUPurchased =
"" txtdis = "0"
txtAmount = ""
txtNet = ""
cmbPID_Click
End Sub
Private Sub
cmdClose_Click() Unload
Me
End Sub
Private Sub
cmdDelete_Click() Dim
selectedRow As Integer
Dim rsProdName As New
ADODB.Recordset Dim tot As Long
selectedRow =
MFG.row Dim i As
Integer
'Add quatity back
If MFG.Rows > 2 Then
For i = 1 To MFG.Rows - 2 Step 1
rsProdName.Open "Select * from Books where Book_ID = "
& Val(MFG.TextMatrix(i, 2)) & "", Con, adOpenStatic,
adLockOptimistic tot = Val(rsProdName(7)) +
Val(MFG.TextMatrix(i, 4)) rsProdName(7) = tot
'txtunits.Text = rsProdName(7)
rsProdName.UpdateBatch
adAffectCurrent rsProdName.Close
Next i
End If
If selectedRow = MFG.Rows - 1
Then MsgBox "Invalid
Selection.", vbCritical Exit Sub
End If
If Not MFG.TextMatrix(1, 1) = ""
Then MFG.RemoveItem
(selectedRow)
Call
CalcFinal End
If
End Sub
Private Sub
cmdsave_click() If
MFG.Rows = 2 Then
MsgBox "Please Add Items to list before you save",
vbCritical, "Error Occured"
Exit
Sub
End If
Dim flag, flag1, flag2 As
Boolean flag = False
flag1 =
False flag2
= False
Dim rsOrderID As
Recordset Dim OID As
String
Set rsOrderID = New ADODB.Recordset
rsOrderID.Open " Select * from
Purchase_Orders", Con, adOpenDynamic,
adLockPessimistic
rsOrderID.AddNew
rsOrderID(0) =
txtBillID
rsOrderID(1) =
cmbSID
rsOrderID(2) =
DTPDate
rsOrderID.Update
flag = True
rsOrderID.Cl
ose
Dim rsMed As Recordset
Set rsMed = New
ADODB.Recordset Dim MID As
Long
Dim RQuantity As Integer
Dim rsAddPatient As Recordset
Set rsAddPatient = New
ADODB.Recordset Dim rsStock As
Recordset
Set rsStock = New
ADODB.Recordset Dim i As
Integer
rsMed.Open "SELECT * FROM
Purchase_Orde_Details", Con, adOpenDynamic,
adLockPessimistic
For i = 1 To MFG.Rows - 2 Step 1
' Generating Purchase Order
Details ID 'MID =
Functions.UID(6, "PODRDTL_")
rsAddPatient.Open " Select * from
Purchase_Orde_Details", Con, adOpenDynamic,
adLockReadOnly
If rsAddPatient.EOF = False
Then While
rsAddPatient.EOF = False
MID = rsAddPatient(0) + 1
rsAddPatient.MoveNext
Wen
d End
If
rsAddPatient.Cl
ose With rsMed
.AddNew
!PurchaseOrderDetailID = MID
!PurchaseOrderID = txtBillID
!PurchaseProductID = MFG.TextMatrix(i, 2)
!PurchaseQUANTITY = Val(MFG.TextMatrix(i, 4))
!PurchaseUnitPrice = Val(MFG.TextMatrix(i, 5))
!PurchaseDiscount = Val(MFG.TextMatrix(i, 6))
!NetValue = txtpayable
.Update
flag1 =
True
End With
rsStock.Open "select * from books where Book_ID= " &
MFG.TextMatrix(i, 2) & "", Con, adOpenDynamic,
adLockPessimistic If rsStock.EOF = False Then
rsStock(4) = rsStock(4) +
Val(MFG.TextMatrix(i, 4)) rsStock.Update
flag2 = True
End If
rsStock.Close
Next
rsMed.Close
If flag = True And flag2 = True And flag1 = True Then
MsgBox "Record Saved Succesfully !!", vbInformation,
"Record Added"
cmdSave.Enabled =
False Else
MsgBox "An Error Occured while saving to the database",
vbCritical Exit Sub
End If
Command1.Enabled =
True cmdSave.Enabled =
False End Sub
Private Sub
cmdVProducts_Click()
FrmVProducts.Show
End Sub
Private Sub
cndew_Click() Dim ctl
As Control
For Each ctl In Controls
If TypeOf ctl Is TextBox
Then ctl.Text = ""
End If
Next
cmbSID.Enabled =
True
cmdSave.Enabled =
True MFG.Clear
MFG.Refresh
MFG.Rows = 2
Call
SetData
Call BillID
Call ProdDetails
Call
MFGVALUES
End Sub
Private Sub
Command1_Click() 'On
Error Resume Next
Dim strReport As String
Dim strTXT As Integer
strTXT =
Val(txtBillID.Text)
PInvoice.DataFiles(0) = App.Path &
"\BookStore.mdb" 'strReport = App.Path &
"\invoice.rpt" PInvoice.ReportFileName =
App.Path & "\Purchase.rpt"
PInvoice.SelectionFormula =
"{qryPurchases.PurchaseOrderID} = " & txtBillID.Text
PInvoice.WindowState =
crptMaximized PInvoice.Action = 1
End Sub
Private Sub Form_Load()
If CN.State = adStateClosed Then Main
Dim ScaleFactorX As Single, ScaleFactorY As Single '
Scaling factors ' Size of Form in Pixels at design resolution
DesignX = 800
DesignY = 600
RePosForm = True ' Flag for positioning Form
DoResize = False ' Flag for Resize
Event ' Set up the screen values
Xtwips =
Screen.TwipsPerPixelX
Ytwips =
Screen.TwipsPerPixelY
Ypixels = Screen.Height / Ytwips ' Y Pixel
Resolution Xpixels = Screen.Width / Xtwips '
X Pixel Resolution ' Determine scaling factors
ScaleFactorX = (Xpixels /
DesignX) ScaleFactorY =
(Ypixels / DesignY)
ScaleMode = 1 ' twips
'Exit Sub ' uncomment to see how Form1 looks
without resizing Resize_For_Resolution ScaleFactorX,
ScaleFactorY, Me MyForm.Height = Me.Height '
Remember the current size MyForm.Width =
Me.Width
Call
SetData
Call BillID
Call ProdDetails
Call
MFGVALUES
End Sub
Public Sub SetData()
Dim mbDataChanged As
Boolean Dim rsSuppliers As
Recordset
Set rsSuppliers = New
ADODB.Recordset mbDataChanged =
False
rsSuppliers.Open "select * from Suppliers", Con,
adOpenDynamic, adLockOptimistic
rsSuppliers.MoveFi
rst cmbSID.Clear
While rsSuppliers.EOF =
False cmbSID.AddItem
rsSuppliers(0)
rsSuppliers.MoveNext
Wend
rsSuppliers.Clo
se End Sub
Product Form:
Dim MyForm As
FRMSIZE Dim DesignX
As Integer Dim DesignY
As Integer
Dim WithEvents adoPrimaryRS As
Recordset Dim mbChangedByCode As
Boolean
Dim mvBookMark As
Variant Dim mbEditFlag As
Boolean Dim
mbAddNewFlag As Boolean
Dim mbDataChanged As
Boolean
Private Sub cmbCID_KeyPress(KeyAscii As
Integer) Dim llngRet As Long
Dim lstrFind As String
Dim objcb As New
Class1
If KeyAscii >= 33 And KeyAscii <=
126 Then If cmbCID.SelLength = 0
Then
lstrFind = cmbCID.Text & VBA.Chr(KeyAscii)
Else
lstrFind = Left(cmbCID.Text, cmbCID.SelStart) & VBA.Chr(KeyAscii)
End If
llngRet = objcb.WinCBFindString(cmbCID.hwnd, lstrFind, False)
If llngRet <> -1 Then
cmbCID.ListIndex = llngRet
cmbCID.SelStart =
Len(lstrFind)
cmbCID.SelLength = Len(cmbCID.Text) -
cmbCID.SelStart KeyAscii = 0
End If
End If
End Sub
Private Sub cmbSID_KeyPress(KeyAscii As
Integer) Dim llngRet As Long
Dim lstrFind As String
Dim objcb As New
Class1
If KeyAscii >= 33 And KeyAscii <=
126 Then If cmbSID.SelLength = 0
Then
lstrFind = cmbSID.Text & VBA.Chr(KeyAscii)
Else
lstrFind = Left(cmbSID.Text, cmbSID.SelStart) & VBA.Chr(KeyAscii)
End If
llngRet = objcb.WinCBFindString(cmbSID.hwnd, lstrFind, False)
If llngRet <> -1 Then
cmbSID.ListIndex = llngRet
cmbSID.SelStart =
Len(lstrFind)
cmbSID.SelLength = Len(cmbSID.Text) -
cmbSID.SelStart KeyAscii = 0
End If
End If
End
Sub
Private Sub
cmbSID_LostFocus() Dim rs As
New ADODB.Recordset Dim
rs1 As New ADODB.Recordset
Dim SID As Long
Dim Sup As String
rs.Open "select * from Suppliers where CompanyName =
'" & cmbSID.Text & "'", Con, adOpenKeyset,
adLockPessimistic rs1.Open "select SupplierId from
Suppliers", Con, adOpenKeyset, adLockPessimistic
While rs1.EOF =
False SID = rs1(0)
+1
rs1.MoveNe
xt Wend
rs1.Close
Sup =
cmbSID.Text
'While Not
rs.EOF
If rs.EOF = False
Then Exit Sub
Else
rs.AddNe
w
rs.Fields(0) =
SID
rs.Fields(1) =
Sup rs.Update
rs.Close
cmbSID.Clear
Dim rs2 As New ADODB.Recordse
rs2.Open "select CompanyName from
Suppliers", Con, adOpenDynamic,
adLockOptimistic
rs2.MoveFirst
While rs2.EOF =
False
cmbSID.AddItem
rs2(0) rs2.MoveNext
Wend
rs2.Clo
se End
If
'Wend
cmbSID.Text =
Sup End Sub
Private Sub
cmdViewAll_Click()
FrmVProducts.Show
End Sub
Private Sub cmbCID_LostFocus()
'dim rsSearch as New
ADODB.Recordset Dim rs As New
ADODB.Recordset
Dim rs1 As New
ADODB.Recordset Dim CID
As Long
Dim Cat As String
rs.Open "select * from categories where
categoryname = '" & cmbCID.Text & "'", Con,
adOpenKeyset, adLockPessimistic rs1.Open "select
categoryID from categories", Con, adOpenKeyset,
adLockPessimistic
While rs1.EOF =
False CID = rs1(0)
+1
rs1.MoveNe
xt Wend
rs1.Close
Cat =
cmbCID.Text
'While Not
rs.EOF
If rs.EOF = False
Then Exit Sub
Else
rs.AddNe
w
rs.Fields(0) =
CID rs.Fields(1)
= Cat rs.Update
rs.Close
cmbCID.Cle
ar
Dim rs2 As New ADODB.Recordset
rs2.Open "select CategoryName from
Categories", Con, adOpenDynamic,
adLockOptimistic
rs2.MoveFirst
While rs2.EOF =
False
cmbCID.AddItem
rs2(0)
rs2.MoveNe
xt Wend
rs2.Close
End
If
'Wen
d
cmbCID.Text =
Cat End Sub
Private Sub
Combo1_Click() If
txtFields(3).Text = ""
Then MsgBox "Please
enter money" Exit Sub
End If
Dim rs2 As New
ADODB.Recordset Dim i As
Long
rs2.Open "select cur_value from MoneyChanger where
currency_name = '" & Combo1.Text & "' ", Con,
adOpenDynamic, adLockPessimistic
i = Val(txtFields(3).Text) *
rs2(0) txtFields(8).Text = i
rs2.Clos
e End
Sub
Private Sub Form_Load()
If CN.State = adStateClosed Then Main
Dim ScaleFactorX As Single, ScaleFactorY As Single '
Scaling factors ' Size of Form in Pixels at design resolution
DesignX = 800
DesignY = 600
RePosForm = True ' Flag for
positioning Form DoResize = False '
Flag for Resize Event
' Set up the screen values
Xtwips = Screen.TwipsPerPixelX
Ytwips = Screen.TwipsPerPixelY
Ypixels = Screen.Height / Ytwips ' Y Pixel
Resolution Xpixels = Screen.Width / Xtwips '
X Pixel Resolution ' Determine scaling factors
ScaleFactorX = (Xpixels /
DesignX) ScaleFactorY =
(Ypixels / DesignY)
ScaleMode = 1 ' twips
'Exit Sub ' uncomment to see how Form1 looks
without resizing Resize_For_Resolution ScaleFactorX,
ScaleFactorY, Me MyForm.Height = Me.Height '
Remember the current size MyForm.Width =
Me.Width
Dim rsCategories As
Recordset Dim rsSuppliers
As Recordset
Set rsCategories = New
ADODB.Recordset Set rsSuppliers =
New ADODB.Recordset Set
adoPrimaryRS = New Recordset
adoPrimaryRS.Open "select * from Books", Con,
adOpenStatic, adLockOptimistic
Dim oText As TextBox
'Bind the text boxes to the data
provider For Each oText In
Me.txtFields
On Error Resume Next
Set oText.DataSource =
adoPrimaryRS oText.Enabled =
True
oText.Locked =
True Next
mbDataChanged = False
rsSuppliers.Open "select * from Suppliers", Con,
adOpenDynamic, adLockOptimistic
If rsSuppliers.EOF = False
Then rsSuppliers.MoveFirst
While rsSuppliers.EOF =
False cmbSID.AddItem
rsSuppliers(1)
rsSuppliers.MoveNext
Wend
End If
rsCategories.Open "select * from Categories", Con,
adOpenDynamic, adLockOptimistic
Debug.Print
rsCategories.RecordCount
Debug.Print
rsSuppliers.RecordCount 'If
rsCategories.EOF = False Then
rsCategories.MoveFirst
While rsCategories.EOF =
False CmbCID.AddItem
rsCategories(1)
rsCategories.MoveNext
Wend
'End If
End
Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift
As Integer) If mbEditFlag Or mbAddNewFlag Then Exit
Sub
Select Case
KeyCode Case
vbKeyEscape
cmdClose_Click
Case vbKeyEnd
cmdLast_Click
Case
vbKeyHome
cmdFirst_Click
Case vbKeyUp,
vbKeyPageUp If Shift =
vbCtrlMask Then
cmdFirst_Click
Else
cmdPrevious_Cl
ick
End If
Case vbKeyDown,
vbKeyPageDown If Shift =
vbCtrlMask Then
cmdLast_Click
Else
cmdNext_Cli
ck End If
End
Select End
Sub
Output Main Form

Sales report

Customer details
FUTURE ENCHANCEMENT

This software has demands in private and public area. This software
provides a great help in managing the data in a well. Mannered
order. This project is designed specially to maintain the data in a
sequential manner and to save the tome and efforts of database
administrator. The project is structured according to today’s need.

Conclusion

This project is only a humble venture to satisfy the needs in a Book


store. Several user friendly coding have also adopted. This package
shall prove to be a powerful package in satisfying all the
requirements of the organization.

50 | P a g e

You might also like