Gym Management System
Gym Management System
OF
Submitted By:
ACKNOWLEDGEMENT
A task or project cannot be completed alone. It requires the effort of many
individuals. I take this opportunity to thank all those who helped me
complete this project.
At the end I also want to pay my heartiest thanks to the whole family of out
sponsoring organization that always seem prompt to help and create a
friendly environment.
I declare that this project is my own work by the best of my knowledge and
belief. This project has never been submitted to any University or Institute
for the partial fulfillment of the award of any degree or diploma.
This is to certify that this project titled “GYM Management System” is the
bonafide work of Doreya horo-21B510591,student of Bachleor of
Computer Application of Dr. Shyama Prasad Mukherjee University, Ranchi
that carried out the project work under my supervision.
SIGNATURE
(GUIDE)
EXAMINER’S CERTIFICATION
Name: Name:
UNIVERSITY DEPARTMENT CERTIFICATE
Has worked under my supervision and that guidance and that no part of this
report has been submitted for the award of any other Degree, Diploma,
fellowship or other similar titles or prizes and that the work has not been
published in any Journal of Magazine.
Certified
Kanchan Prasad Raju
Quality oriented and Skilled professional with 7 Years’ experience as project
Trainer and Assistant Professor-BCA/ MCA/ Computers
Ranchi, Jharkhand
contacts@briztechinfosystem
s.com
• A quality-oriented professional with nearly 7 years of experience in College Teaching and Management
Information System (MIS)
• A keen planner and implementer with proven track record of implementing operational policies/norms,
systems and controls with
Adequate maintenance of administrative and education standards during the career span.
• Proficient in handling various administrative and educational activities entailing event management like
training/seminars,
• Sound understanding of system and project planning processes.
• Experience and skills in developing curriculum to accommodate different learning styles and maximizing
comprehension.
• A dynamic go getter and quick learner with ability to work under pressure and meet the deadlines.
WORK EXPERIENCE
TCS
Department MIS, - April 2013 to February 2015
.BRIZTECH
Trainer-BCA/ MCA/ Computer Science & Applications / Information
Technology February 2015 to till now
Responsibilities
Taught UGC prescribed syllabus to the students enrolled under Computer Science &
Applications Department of the college. Major taught papers included detailed Core
concepts of Computer Fundamentals, Operating Systems, Python, Java, DBMS,
RDBMS, C and Data Structures, OOPS with C++, Data Communications and
Networking, SAD Concepts, Artificial Intelligence, Interactive SQL, PL/SQL, DOS,
Windows, DTP softwares etc.
Accomplishments
Worked as the founder faculty for the department as I have worked there since the
establishment of the department in the First Post.
Skills Used
Major taught papers included detailed Core concepts of Computer Fundamentals,
Operating Systems, DBMS, RDBMS, C and Data Structures, OOPS with C++, Data
Communications and Networking, SAD Concepts, Artificial Intelligence, Interactive
SQL, PL/SQL, DOS, Windows, DTP softwares etc.
EDUCATION
ADDITIONAL
INFORMATION
CORE
COMPETENCIES
• Management Information Systems (MIS) • Teaching & Communicating • Data Analytics/ Reporting
Analytics
• General Administration • Conducting Training/Seminars • Social Media Management
• Student Management • Team Management • Creative Content
Concepts DECLARATION
I hereby solemnly declare that all the statements mentioned above are fully true to
best of my knowledge and belief.
8
TABLE OF CONTENTS
1. Introduction.
1.1 Introduction of the Project.
1.2 Objectives Of The Project.
2. System Analysis
2.1. Identification Of The Need
2.2. Preliminary Investigation
2.3. Feasibility Study
2.3.1. Technical Feasibility
2.3.2. Economical Feasibility
2.3.3. Operational Feasibility
2.4. Proposed System Functionality
5. Design
5.1. Data Flow Diagram (DFD)
5.2. Database Design
5.3. Entity Relationship Diagram
6. Source Code
7. Screen Layouts
8. Testing
9. Implementation
10. Maintenance
11. Conclusion
12. Bibliography
9
SECTION 1
INTRODUCTION
10
INTRODUCTION TO THE PROJECT
11
OBJECTIVES OF THE PROJECT
12
What the Software Provides in this Regard?
The software is capable enough to allow the concerned person to
store and retrieve any type of record with just a single click of
mouse.The software allows Interactive ,Self decribing Graphic User
Interface environment where even standalone users can work very
comfortably and easily.
13
SECTION 2
SYSTEM ANALYSIS
14
System Analysis refers into the process of examining a situation with
the intent of improving it through better procedures and methods.
System Analysis is the process of planning a new System to either
replace or complement an existing system. But before any planning is
done the old system must be thoroughly understood and the
requirements determined. System Analysis, is therefore, the process of
gathering and interpreting facts, diagnosing problems and using the
information to re-comment improvements in the System. Or in other
words, System Analysis means a detailed explanation or description.
Before computerized a system under consideration, it has to be
analyzed. We need to study how it functions currently, what are the
problems, and what are the requirements that the proposed system
should meet.
System Analysis is conducted with the following objectives in mind:
6. Create a system definition that forms the foundation for all the
subsequent engineering work.
15
2.2 Preliminary Investigation
The client set is just a worker(s),who is regularly indulged in
manual maintainence transactions,keeping regular
records,maintaining the records of fine details of members.
Following manual registers are maintained:
Inventory Register:
The register is used to record the details of the
products(supplements,beverages and apparels supplied and
required) such as its ID,Description,Quantity,Price,service date,time
period for which it is under maintainence etc.
16
3. Details of findings :
An outline of the methods and procedures under-taken
by the existing system, followed by coverage of the
objectives and procedures of the candidate system.
Included are also discussions of output reports, file
structures, and costs and benefits of the candidate
system.
17
iv. The cost if nothing changes (i.e. The proposed system
is not developed).
18
2.4 Proposed System Functionality
The proposed system provides the facility to pull the data from
the server using a key (such as id) and get the desired report.
19
SECTION 3
20
Software Engineering
The basic objective of software engineering is to: develop methods
and procedures for software development that can scale up for large
systems and that can be used to consistently produce high quality
software at low cost and with a small cycle time. That is, the key
objectives are consistency, low cost, high quality, small cycle time,
and scalability.
1) Requirement Analysis
Requirement analysis is done in order to understand the problem the
software system is to solve. The problem could be automating an
existing manual process, developing a new automated system, or a
combination of the two. The amphasis in requirements analysis is on
identifying what is needed from the system, not how the system will
achieve its goals. There are atleast two parties involved in the
software development-a client and a developer. The developer has
to develop the system to satisfy the client’s needs. The developer
does not understand the client’s problem domain, and the client
does not understand the issues involved in the software systems.
This causes a communication gap, which has to be adequately
bridged during requirements analysis.
2) Software Design
The purpose of the design phase is to plan a solution of the problem
specified by the requirements documents. This phase is the first step
in moving from the problem domain to the solution domain. Starting
with what is needed, design takes us toward how to satisfy the
needs. The design of a system is perhaps the most critical factor
affecting the quality of the software. It has a major impact on the
later phases, particularly testing and maintenance.
21
The design activity is divided into two phases: System Design and
Detailed Design. In system design the focus is on identifying the
modules, whereas during detailed design the focus is on designing
the logic for each of the modules.
3) Coding
The goal of the coding phase is to translate the design of the system
into code in a given programming language. Hence during coding,
the focus should be on developing programs that are easy to read
and understand, and not simply on developing programs that are
easy to write.
4) Testing
Testing is the major quality control measure used during software
development. Its basic function is to detect errors in the software.
Testing not only uncover errors introduced during coding, but also
errors introduced during the previous phases. Thus, the goal of the
testing is to uncover requirement, design and coding errors in the
programs. Therefore, different levels of testing are used. Testing is
an extremely critical and time consuming activity. It requires proper
planning of the overall testing process. The output of the testing
phase is the test report and the error report. Test report contains
the set of test cases and the result of executing the code with these
test cases. The error report describes the errors encountered and
the action taken to remove the errors.
5) Implementation
It is the process of having systems personnel check out and put new
equipment into use, train users, install the new application and
construct any files of data needed to use it. This phase is less
creative than system design. Depending on the size of the
organization that will be involved in using the application and the
risk involved in its use, systems developers may choose to test the
operation in only one area of the firm with only one or two persons.
Sometimes, they will run both old and new system in parallel way to
compares the results.
Paradigm Applied
In this project,The Spiral Model is applied in order to provide rigid
efficiency and functionality in the overall working style of the
project.Moreover, In order to cater to new or modified requirements
of the user, Spiral model is very effective .I used “The Spiral model”
as it is best suited to those development environments where
probability of uncertainity is very high and chances of mistakes are
uncontrollable.
22
What about Spiral Model?
The spiral model is a software development process combining
elements of both design and prototyping-in-stages, in an effort to
combine advantages of top-down and bottom-up concepts. Also
known as the spiral lifecycle model, it is a systems development
method (SDM) used in information technology (IT). This model of
development combines the features of the prototyping model and the
waterfall model. The spiral model is intended for large, expensive
and complicated projects.
23
4. Constructing and testing the second prototype.
5. At the customer's option, the entire project can be aborted if the
risk is deemed too great. Risk factors might involve development
cost overruns, operating-cost miscalculation, or any other factor
that could, in the customer's judgment, result in a less-than-
satisfactory final product.
6. The existing prototype is evaluated in the same manner as was
the previous prototype, and, if necessary, another prototype is
developed from it according to the fourfold procedure outlined
above.
7. The preceding steps are iterated until the customer is satisfied
that the refined prototype represents the final product desired.
8. The final system is constructed, based on the refined prototype.
9. The final system is thoroughly evaluated and tested. Routine
maintenance is carried out on a continuing basis to prevent large-
scale failures and to minimize downtime.
Applications
The spiral model is used most often in large projects. For smaller
projects, the concept of agile software development is becoming a
viable alternative.
Advantages
Estimates (i.e. budget, schedule, etc.) become more realistic as
work progresses, because important issues are discovered earlier.
It is more able to cope with the changes that software
development generally entails. Software engineers can get their
hands in and start working on the core of a project earlier.
24
SECTION 4
25
The Methodology:
I was assigned the duty for developing a computerized system for a
fitness center. The project time and resources were very limited .
The optimum use of practical time neccessiates that every session
and every activity is planned. For effective Planning ,Efficient Project
Managerial skils are required,Efficiant skills then trace out best
methodology to be used.
The methodology used by me includes the following things:
Topic Understanding:
It is vital that the field of application as introduced in the project
may be totally a new field. So as soon as the project was allocated
to me, I carefully went through the project requirements to identify
the requirements of the project.
MEMBER DETAILS
i. Member id
ii. Name
iii. Gender
MEMBERSHIP DETAILS
i. Membership type
ii. Expiration date
MEMBERSHIP DETAILS
i. Address
ii. Date of birth
iii. Phone number
ACCOUNT INFORMATION
26
i. Due date
ii. Amount Due
iii. Amount Paid
iv. Days late
v. Balance
After processing all this information records are saved and in this
module itself there is a provision for report generation for viewing
details of all the members.
There is also a provision for generating a receipt for an individual
member thus agin giving some of his relevant details.
27
It facilitates the owner to place an order and based on the
category of the product(apparels,beverages,supplements)
following information is displayed along includin the
provision for order placement:
a.Category
b.Id
c.Description
d.Brand
e.Supplier
f.Number of cases
g.Quantity in each case
h.Case Price
i.Sales Price
j.Order Date
3. PRODUCTS
Generates an inventory record of the product based on the
product category selected and displays the following
information:
a.Category
b.Id
c.Description
d.Brand
e.Supplier
f.Number of cases
g.Quantity in each case
h.Quantity ordered
i.Case Price
j.Sales Price
k.Order Date
l.Last ordered
m.Last inventory
It also provides the facility of generating reports of all the
products of a paticular category.
28
Principal Design Features
INTRODUCTION OF VISUAL BASIC
Visual Basic has the following traits which differ from C-derived
languages:
29
Variable array base. Arrays are declared by specifying the upper
and lower bounds in a way similar to Pascal and Fortran. It is also
possible to use the Option Base statement to set the default
lower bound. Use of the Option Base statement can lead to
confusion when reading Visual Basic code and is best avoided by
always explicitly specifying the lower bound of the array. This
lower bound is not limited to 0 or 1, because it can also be set by
declaration. In this way, both the lower and upper bounds are
programmable. In more subscript-limited languages, the lower
bound of the array is not variable. This uncommon trait does
exist in Visual Basic .NET but not in VBScript.
30
only explicitly declared variables can be used with the command
Option Explicit.
31
SECTION 5
DESIGN
32
5.1 DATA FLOW DIAGRAM (DFD)
DFD is a model, which gives the insight into the information domain
and functional domain at the same time. DFD is refined into
different levels. The more refined DFD is, more details of the
system are incorporated. In the process of creating a DFD, we
decompose the system into different functional subsystems. The
DFD refinement results in a corresponding refinement of data.
Following is the DFD of the “Proposed System”. We have refined the
system up to two levels. Each break-up has been numbered as per
the rule of DFD. We have tried to incorporate all the details of the
system but there is some chance of further improvisation because of
the study that is still going on for the project development.
Member details
Database Operations on
MEMBERS record
Member list
Database Operations on
Reciept
GYM EMPLOYEES record
CENTER’S Member’s Record
RECORD
MANAGEMEN Database Operations on
Employee details
-T SYSTEM INVENTIRY record
Employee schedule
IInventory(orders
and products)
33
5.2 DATABASE DESIGN
Introduction
Database
A Database is the systematic collection of logically related Data
with some inherent purpose to access and operate on various
different data stored in the form of records so as to raise the ease
and esfficiancy in data Handelling.
Relational database
It is one which works upon the specification of relational model
which is a database model based on first-order predicate logic,
first formulated and proposed in 1969 by Edgar Codd.
Its core idea is to describe a database as a collection of
predicates over a finite set of predicate variables, describing
constraints on the possible values and combinations of values.
The content of the database at any given time is a finite model
(logic) of the database, i.e. a set of relations, one per predicate
variable, such that all predicates are satisfied. A request for
information from the database (a database query) is also a
predicate.
The purpose of the relational model is to provide a declarative
method for specifying data and queries: we directly state what
information the database contains and what information we want
from it, and let the database management system software take
care of describing data structures for storing the data and
retrieval procedures for getting queries answered.
Database Tables
34
List of Tables in Database:
35
Table 3: RECIEPT GENERATION
36
Table 5: EMPLOYEE PAYROLL
37
Table 7: INVENTORY TABLE
38
5.3 ENTITY-RELATIONSHIP DIAGRAM
39
SECTION 6
SOURCE CODE
40
#SPLASH FORM
Option Explicit
Dim mintCount As Integer, mintPause As Integer
mintPause = mintPause + 1
End Sub
41
#LOGIN FORM
Option Explicit
Dim mintctr As Integer
Dim mrstLogin As Recordset
If cboName.ListIndex = 0 Then
If cboName = mrstLogin![fldScreen] And txtPassword =
mrstLogin![fldPass] Then
mdiDtcc.tbrChoices.Visible = True
mdiDtcc.mnuMembers = True
mdiDtcc.mnuEmp = True
mdiDtcc.mnuInv = True
mdiDtcc.mnuChUser.Enabled = True
Unload Me
mdiDtcc.mnuOn.Visible = False
flag = True
gblnPriv = True
mdiDtcc.ToolCenter
frmTools.Show
frmTools.stb1.Tab = 0
End If
Else
mrstLogin.MoveNext
If cboName = mrstLogin![fldScreen] And txtPassword =
mrstLogin![fldPass] Then
mdiDtcc.tbrChoices.Visible = True
mdiDtcc.mnuChUser.Enabled = True
mdiDtcc.mnuMembers = True
mdiDtcc.mnuEmp = True
mdiDtcc.mnuInv = True
42
Unload Me
mdiDtcc.mnuOn.Visible = False
flag = True
gblnPriv = False
End If
mrstLogin.MoveFirst
End If
mdiDtcc.tbrChoices.Visible = False
mdiDtcc.mnuScreen.Enabled = False
mdiDtcc.mnuChUser.Enabled = False
mdiDtcc.mnuMembers = False
mdiDtcc.mnuEmp = False
mdiDtcc.mnuInv = False
cboName = mrstLogin![fldScreen]
mintctr = 0
End Sub
43
#MDI FORM
Option Explicit
44
ToolCenter
frmTools.Show
frmTools.stb1.Tab = 2
End Sub
45
Unload frmGym
Unload frmInventory
Unload frmNewEmp
Unload frmOrders
Unload frmPayroll
Unload frmProducts
Unload frmReceipt
Unload frmSchedule
Unload frmTools
End Sub
46
#MENU FORM
Private Sub cmdAllMem_Click()
If frmAllMem.WindowState <> vbMinimized Then
frmAllMem.Top = mdiDtcc.ScaleHeight / 20
frmAllMem.Left = mdiDtcc.ScaleWidth / 8
End If
frmAllMem.Show
End Sub
End Sub
47
frmOrders.Left = mdiDtcc.ScaleWidth / 8
End If
frmOrders.Show
ElseIf gblnPriv = False Then
MsgBox "Master Access Only!!!", vbOKOnly + vbInformation
End If
End Sub
48
#MEMBER DETAILS FORM
Option Explicit
Dim flag As Integer
Dim mblnBrow As Boolean
Dim mintClear As Integer
Dim mintFind As Integer
Dim mblnCheck As Boolean
Dim mdatGExp As Date
Dim mdatTExp As Date
Dim mdatOD As Date
Dim mintOD As Integer
Dim mblnExpOD As Boolean
mrstGym.MoveFirst
Do Until mrstGym.EOF
If mrstGym!fldGExp = True Or mrstGym!fldTExp = True Then
mblnBrow = True
Set mrstGym = pdbMembers.OpenRecordset("SELECT * FROM
tblMembers WHERE fldGExp = true or fldTExp=true ORDER BY
fldMemberID")
ShowRecord
mintFind = 0
mblnExpOD = True
Exit Sub
Else
mrstGym.MoveNext
End If
Loop
MsgBox "No Expired Members!!!", vbOKOnly + vbInformation
Form_Load
End Sub
49
End Sub
mrstGym.MoveFirst
Do Until mrstGym.EOF
If mrstGym!fldOD = True Then
mblnBrow = True
Set mrstGym = pdbMembers.OpenRecordset("SELECT * FROM
tblMembers WHERE fldOD = true ORDER BY fldMemberID")
ShowRecord
mintFind = 0
mblnExpOD = True
Exit Sub
Else
mrstGym.MoveNext
End If
Loop
MsgBox "No Overdue Members!!!", vbOKOnly + vbInformation
Form_Load
End Sub
50
txtLastName.SetFocus
flag = 1
End Sub
51
Public Sub ShowRecord()
With mrstGym
txtId = !fldMemberID
txtLastName = !fldLastName
txtFirstName = !fldFirstName
If !fldGender = "M" Then optM = True
If !fldGender = "F" Then optF = True
If !fldRecommend <> "" Then txtRecommed = !fldRecommend
Else txtRecommed = ""
If !fldMemberShip = "Gym" Then optGym = True
If !fldMemberShip = "Tanning" Then optTanning = True
If !fldMemberShip = "Gym & Tanning" Then optGym_Tanning =
True
52
mdatTExp = !fldTanEx
If mdatTExp < Date Then
.Edit
!fldTExp = True
.Update
lblTE.Visible = True
txtEx_tan.Width = 975
txtEx_tan.ForeColor = vbRed
txtEx_tan = !fldTanEx
Else
.Edit
!fldTExp = False
.Update
lblTE.Visible = False
txtEx_tan.Width = 1695
txtEx_tan.ForeColor = vbBlack
txtEx_tan = !fldTanEx
End If
Else
.Edit
!fldTExp = False
.Update
lblTE.Visible = False
txtEx_tan.Width = 1695
txtEx_tan = ""
End If
53
txtLate = "0"
.Edit
!fldOD = False
.Update
End If
Else
txtPayduedate = ""
txtLate = "0"
.Edit
!fldOD = False
.Update
End If
txtAmountdue = !fldAmountDue
txtInstall = !fldInstallAmount
lblBalance = !fldBalance
If !fldNotes <> "" Then txtNotes = !fldNotes Else txtNotes = ""
End With
End Sub
If mintClear = 1 Then
txtId = ""
mintClear = 0
Else
txtId = mrstGym!fldMemberID
End If
txtLastName = ""
txtFirstName = ""
optM.Value = False
optM.TabStop = True
optF.Value = False
txtRecommed = ""
optGym.Value = False
optGym.TabStop = True
optTanning.Value = False
optGym_Tanning.Value = False
txtEx_gym = ""
cboGym_date.ListIndex = -1
txtEx_tan = ""
cboTan_date.ListIndex = -1
txtStreet = ""
txtCity = ""
cboState.ListIndex = -1
txtZip = ""
txtDOB = ""
54
txtPhone = ""
txtSS = ""
txtPayduedate = ""
txtAmountdue = ""
txtInstall = ""
lblBalance = "0"
txtNotes = ""
lblGE.Visible = False
txtEx_gym.Width = 1695
lblTE.Visible = False
txtEx_tan.Width = 1695
txtLate = "0"
End Sub
55
If txtAmountdue <> "" Then !fldAmountDue = txtAmountdue Else
!fldAmountDue = "0"
If txtInstall <> "" Then !fldInstallAmount = txtInstall Else !
fldInstallAmount = "0"
!fldBalance = lblBalance
If txtNotes <> "" Then !fldNotes = txtNotes Else !fldNotes = ""
End With
End Sub
56
End If
Loop
MsgBox "Member doesn't exist", vbOKOnly + vbInformation,
"Wrong Entry"
txtLastName.SelStart = 0
txtLastName.SelLength = Len(txtLastName)
End If
End If
End Sub
57
#MEMBER RECIEPT FORM
Option Explicit
Dim mrstRec As Recordset
Dim mdbRec As Database
Dim mstrVal As String
Dim mblnReq As Boolean
Private Const csngCol1 As Single = 1.4
Private Const csngCol2 As Single = 3.9
Private Const csngCol3 As Single = 6.1
Private Const csngCol4 As Single = 6.5
58
MsgBox "Enter Required Fileds!!!", vbOKOnly + vbInformation
mblnReq = False
ElseIf cboHow.ListIndex = 2 And txtChecknum = "" Then
MsgBox "Check # is Required if payed with Check!!!", vbOKOnly +
vbInformation
txtChecknum.SetFocus
Else
If gblnRec = True Then
pstrAns = MsgBox("confirm printing on " &
Printer.DeviceName, vbYesNo)
If pstrAns = vbNo Then Exit Sub
' PrintRec
' Printer.EndDoc
Else
pstrAns = MsgBox("confirm printing on " &
Printer.DeviceName, vbYesNo)
If pstrAns = vbNo Then Exit Sub
'PrintRec
'printer.EndDoc
mstrVal = "UPDATE tblMembers SET fldBalance = '" &
lblNewbalance & "' WHERE fldMemberID = " & lblId & ""
pdbMembers.Execute mstrVal, dbFailOnError
If txtNext <> "" Then
mstrVal = "UPDATE tblMembers SET fldPayDue = '" &
txtNext & "' WHERE fldMemberID = " & lblId & ""
pdbMembers.Execute mstrVal, dbFailOnError
Else
mstrVal = "UPDATE tblMembers SET fldPayDue = null
WHERE fldMemberID = " & lblId & ""
pdbMembers.Execute mstrVal, dbFailOnError
End If
frmGym.ShowRecord
WriteRecord
mrstRec.Update
End If
Unload Me
End If
End Sub
59
cmdNext.Enabled = True
cmdPrevious.Enabled = True
lblId = frmGym.txtId
Set mrstRec = mdbRec.OpenRecordset("SELECT * FROM
tblReceipt WHERE fldMemberID_Rec = " & lblId & " ORDER BY fldNum",
dbOpenSnapshot)
cmdFirst_Click
Else
cmdPrint.Enabled = True
Set mrstRec = mdbRec.OpenRecordset("tblReceipt")
cmdFirst.Enabled = False
cmdLast.Enabled = False
cmdNext.Enabled = False
cmdPrevious.Enabled = False
lblDate.Caption = Date
lblId = frmGym.txtId
lblLFname = frmGym.txtLastName & ", " & frmGym.txtFirstName
lblExGymDate = frmGym.txtEx_gym
lblExTanDate = frmGym.txtEx_tan
lblOldbalance = frmGym.lblBalance
lblNewbalance = frmGym.lblBalance
txtPrev = frmGym.txtPayduedate
End If
End Sub
60
End Sub
61
Private Sub txtAmount_LostFocus()
txtAmount = txtAmount
End Sub
Printer.ScaleMode = vbInches
Printer.FontSize = 28
Printer.FontName = "Arial Black"
Printer.CurrentY = 0
62
Printer.Print "DELAWARE"
psngLastY = Printer.CurrentY
Printer.Line (0.5, psngLastY + 0.415)-(5.35, psngLastY + 0.415)
Printer.CurrentY = psngLastY
Printer.CurrentX = csngCol4 - Printer.TextWidth("TECH")
Printer.Print "TECH"
Printer.FontSize = 28
Printer.FontName = "Imprint MT Shadow"
Printer.CurrentY = 1.25
psngWidth = Printer.TextWidth("Members Receipt")
Printer.CurrentX = (8 - psngWidth) / 2
Printer.Print "Members Receipt"
Printer.FontSize = 10
Printer.FontName = "Arial"
Printer.CurrentY = 1.85
psngLastY = Printer.CurrentY
psngY = Printer.CurrentY + 0.02
'Row 1**********************
63
Printer.CurrentX = csngCol1 - Printer.TextWidth("Date: ")
Printer.FontBold = True
Printer.Print "Date:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol1 + 0.025
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print lblDate
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol2 - Printer.TextWidth("Old Balance: ")
Printer.FontBold = True
Printer.Print "Old Balance:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol2 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print lblOldbalance
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol3 - Printer.TextWidth("Payment for: ")
Printer.FontBold = True
Printer.Print "Payment for:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol3 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print cboPayfor
Printer.Print
psngLastY = Printer.CurrentY + 0.03
psngY = Printer.CurrentY + 0.03
'Row 2**********************
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol1 - Printer.TextWidth("Member ID: ")
Printer.FontBold = True
Printer.Print "Member ID:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol1 + 0.05
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print lblId
64
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol2 - Printer.TextWidth("New Charge: ")
Printer.FontBold = True
Printer.Print "New Charge:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol2 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print txtNewcharge
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol3 - Printer.TextWidth("How Payed: ")
Printer.FontBold = True
Printer.Print "How Payed:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol3 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print cboHow
Printer.Print
psngLastY = Printer.CurrentY + 0.05
psngY = Printer.CurrentY + 0.04
'Row 3**********************
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol1 - Printer.TextWidth("Name: ")
Printer.FontBold = True
Printer.Print "Name:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol1 + 0.025
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print lblLFname
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol2 - Printer.TextWidth("Amount Received:
")
Printer.FontBold = True
Printer.Print "Amount Received:"
Printer.CurrentY = psngY
65
Printer.CurrentX = csngCol2 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print txtAmount
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol3 - Printer.TextWidth("Check #: ")
Printer.FontBold = True
Printer.Print "Check #:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol3 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print txtChecknum
Printer.Print
psngLastY = Printer.CurrentY + 0.09
psngY = Printer.CurrentY + 0.06
'Row 4**********************
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol1 - Printer.TextWidth("Gym Ex: ")
Printer.FontBold = True
Printer.Print "Gym Ex:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol1 + 0.025
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print lblExGymDate
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol2 - Printer.TextWidth("New Balance: ")
Printer.FontBold = True
Printer.Print "New Balance:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol2 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print lblNewbalance
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol3 - Printer.TextWidth("Next Due Date: ")
66
Printer.FontBold = True
Printer.Print "Next Due Date:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol3 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print txtNext
Printer.Print
psngLastY = Printer.CurrentY + 0.08
psngY = Printer.CurrentY + 0.06
'Row 5**********************
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol1 - Printer.TextWidth("Tan Ex: ")
Printer.FontBold = True
Printer.Print "Tan Ex:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol1 + 0.025
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print lblExTanDate
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol3 - Printer.TextWidth("Received By: ")
Printer.FontBold = True
Printer.Print "Received By:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol3 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print cboReceived
Printer.Print
Printer.Print
psngLastY = Printer.CurrentY
Printer.FontSize = 20
Printer.FontName = "Imprint MT Shadow"
psngWidth = Printer.TextWidth("DelTech Health & Fitness")
Printer.CurrentX = (8.25 - psngWidth) / 2
Printer.Print "DelTech Health & Fitness"
psngLastY = Printer.CurrentY
67
Printer.FontSize = 8
Printer.FontName = "Arial"
psngWidth = Printer.TextWidth("333 Shipley Street")
Printer.CurrentX = (8.25 - psngWidth) / 2
Printer.Print "333 Shipley Street"
psngLastY = Printer.CurrentY
psngWidth = Printer.TextWidth("Wilmington, Delaware 19801")
Printer.CurrentX = (8.25 - psngWidth) / 2
Printer.Print "Wilmington, Delaware 19801"
psngLastY = Printer.CurrentY
psngWidth = Printer.TextWidth("(302)571-5300")
Printer.CurrentX = (8.25 - psngWidth) / 2
Printer.Print "(302)571-5300"
End Sub
68
#EMPLOYEE DATA ENTRY FORM
Option Explicit
69
mblnEdit = False
EditState
End Sub
70
End Sub
71
txtDOB = ""
txtPhone = ""
txtSS = ""
txtHourlyWage = Format(0, "Currency")
txtTax = ""
imgEmp.Picture = LoadPicture(App.Path & "\Images\NoPic.jpg")
End Sub
72
Public Sub EditState()
If mblnEdit = True Then
optM.Enabled = False
optF.Enabled = False
txtLastName.Locked = True
txtFirstName.Locked = True
txtHourlyWage.Locked = True
txtTax.Locked = True
txtStreet.Locked = True
txtCity.Locked = True
cboState.Locked = True
txtZip.Locked = True
txtDOB.Locked = True
txtPhone.Locked = True
txtSS.Locked = True
txtHourlyWage.Locked = True
txtTax.Locked = True
cmdUpdate.Enabled = False
cmdEdit.Enabled = True
cmdFirst.Enabled = True
cmdLast.Enabled = True
cmdNext.Enabled = True
cmdPrev.Enabled = True
cmdDelete.Enabled = True
cmdEnter.Enabled = True
cmdCancel.Enabled = False
Else
optM.Enabled = True
optF.Enabled = True
txtLastName.Locked = False
txtFirstName.Locked = False
txtHourlyWage.Locked = False
txtTax.Locked = False
txtStreet.Locked = False
txtCity.Locked = False
cboState.Locked = False
txtZip.Locked = False
txtDOB.Locked = False
txtPhone.Locked = False
txtSS.Locked = False
txtHourlyWage.Locked = False
txtTax.Locked = False
cmdUpdate.Enabled = True
cmdEdit.Enabled = False
cmdFirst.Enabled = False
cmdLast.Enabled = False
73
cmdNext.Enabled = False
cmdPrev.Enabled = False
cmdDelete.Enabled = False
cmdEnter.Enabled = False
End If
End Sub
74
#EMPLOYEE PAYROLL FORM
Option Explicit
75
ElseIf MyValue <> "" Then
Set mrstPay = pdbPay.OpenRecordset("SELECT * FROM tblPayroll
WHERE fldEmployeeID = '" & MyValue & "' ORDER BY fldPayNum")
On Error Resume Next
txtHourWorked.Locked = True
cmdCalculate.Enabled = False
cmdAdd.Enabled = False
cmdFirst.Enabled = True
cmdLast.Enabled = True
cmdPrevious.Enabled = True
cmdNext.Enabled = True
ShowRecord
End If
End Sub
76
End Sub
txtEmployeeID = frmNewEmp.txtEmployeeID
txtLastName = frmNewEmp.txtLastName
txtFirstName = frmNewEmp.txtFirstName
txtHourlyWage = frmNewEmp.txtHourlyWage
txtDatePaid = Date
cmdFirst.Enabled = False
cmdLast.Enabled = False
cmdPrevious.Enabled = False
cmdNext.Enabled = False
End Sub
77
txtGross = !fldGrossPay
txtTax = !fldTaxWithheld
txtNet = !fldNetPay
End With
End Sub
78
gblnPeriod = False
End If
End Sub
79
#EMPLOYEE SCHEDULE FORM
Option Explicit
Dim cur As String, first As String, last As String
Dim mrstSch As Recordset
lblSunday.BackColor = vbRed
lblSunday.ForeColor = vbYellow
Case "Monday"
lblMonday.BackColor = vbRed
lblMonday.ForeColor = vbYellow
Case "Tuesday"
lblTuesday.BackColor = vbRed
lblTuesday.ForeColor = vbYellow
Case "Wednesday"
80
lblWednesday.BackColor = vbRed
lblWednesday.ForeColor = vbYellow
Case "Thursday"
lblThursday.BackColor = vbRed
lblThursday.ForeColor = vbYellow
Case "Friday"
lblFriday.BackColor = vbRed
lblFriday.ForeColor = vbYellow
Case "Saturday"
lblSaturday.BackColor = vbRed
lblSaturday.ForeColor = vbYellow
End Select
End Sub
81
txtMon2 = !fldMon2
txtTue2 = !fldTues2
txtWed2 = !fldWed2
txtThur2 = !fldThurs2
txtFri2 = !fldFri2
txtSat = !fldSat
End With
End Sub
82
#INVENTORY FORM
Option Explicit
Dim mdbInv As Database
Dim mrstInv As Recordset
Dim mstrCat As String
83
ShowRecord
txtQuantity.SetFocus
End Sub
84
End If
End If
End Sub
85
#ORDER PLACEMENT FORM
Option Explicit
Dim mdbOrd As Database
Dim mrstOrd As Recordset
Dim mblnExist As Boolean
86
txtDesr.Enabled = True
txtBrand.Enabled = True
txtSup.Enabled = True
txtCase.Enabled = True
txtNCase.Enabled = True
txtQuantity.Enabled = True
txtCasePrice.Enabled = True
txtPrice.Enabled = True
txtOrder.Enabled = True
cboCat.SetFocus
End Sub
87
If mrstOrd.EOF Then mrstOrd.MoveLast
ShowRecord
End Sub
88
Public Sub ClearAll()
If mblnExist = False Then cboCat.ListIndex = -1
txtPid = ""
txtDesr = ""
txtBrand = ""
txtSup = ""
txtCase = ""
txtNCase = ""
txtQuantity = ""
txtCasePrice = ""
txtPrice = ""
End Sub
89
Dim pintC, pintNc As Integer
If txtCase <> vbNullString Then pintC = txtCase
If txtNCase <> vbNullString Then pintNc = txtNCase
If txtCase <> vbNullString And txtNCase <> vbNullString Then
txtQuantity = pintC * pintNc
Else
txtQuantity = 0
End If
End Sub
90
Public Sub CheckAll()
If txtPid = "" Or txtDesr = "" _
Or txtBrand = "" Or txtSup = "" Or txtCase = "" _
Or txtNCase = "" Or txtQuantity = "" Or txtCasePrice = "" _
Or txtPrice = "" Then
gblnCK = True
Else
gblnCK = False
End If
End Sub
91
#PRODUCTS FORM
Option Explicit
Dim mdbPro As Database
Dim mrstPro As Recordset
Dim mstrCat As String
92
Private Sub cmdLast_Click()
mrstPro.MoveLast
ShowRecord
End Sub
93
Private Sub Form_Load()
lin1(0).Visible = False
lin1(1).Visible = False
lblProduct.Visible = False
Me.Height = 1200
Me.Width = 4000
fraBorder.Height = 735
fraBorder.Width = 3795
End Sub
94
#ABOUT FORM
95
#MODULE CODING
96
SECTION 7
SCREEN LAYOUTS
97
Login screen of the Fitness Club Management System
98
MEMBERSHIP FORM(AND DETAILS)
MEMBERSHIP RECORDS
99
MEMBERSHIP RECIEPT
100
Menu Interface of the Fitness Club Management
System(employees tab selected)
101
EMPLOYEE SCHEDULE
102
DELETING AN EMPLOYEE RECORD
103
Menu Interface of the Fitness Club Management
System(inventory tab selected)
104
INVENTORY FORM
ORDER FORM
105
PRODUCT FORM
106
SECTION 8
TESTING
107
Levels of Testing:
Systems are not designed as entire systems nor are they tested as
single systems. The analyst must perform both unit and system testing.
Unit Testing:
In unit testing the analyst tests the programs making up a
system. For this reason, unit testing is sometimes called program
testing. Unit testing gives stress on the modules independently of
one another, to find errors. This helps the tester in detecting
errors in coding and logic that are contained within that module
alone. The errors resulting from the interaction between modules
are initially avoided. The test cases needed for unit testing should
exercise each condition and option.
Unit testing can be performed from the bottom up, starting with
smallest and lowest-level modules and proceeding one at a time.
For each module in bottom-up testing a short program is used to
execute the module and provides the needed data, so that the
module is asked to perform the way it will when embedded within
the larger system.
System Testing:
The important and essential part of the system development
phase, after designing and developing the software is system
testing. We cannot say that every program or system design is
perfect and because of lack of communication between the user
and the designer, some error is there in the software
development. The number and nature of errors in a newly
designed system depend on some usual factors like
communication between the user and the designer; the
programmer's ability to generate a code that reflects exactly the
systems specifications and the time frame for the design.
108
Another reason for system testing is its utility as a user-oriented
vehicle before implementation.
1) Program Testing
A program represents the logical elements of a system. For a
program to run satisfactorily, it must compile and test data
correctly and tie in properly with other programs. it is the
responsibility of a programmer to have an error free program. At
the time of testing the system, there exists two types of errors
that should be checked. These errors are syntax and logic. A
syntax error is a program statement that violates one or more
rules of the language in which it is written. An improperly defined
field dimension or omitted key words are common syntax errors.
These errors are shown through error messages generated by the
computer. A logic error, on the other hand, deals with incorrect
data fields out of range items, and invalid combinations. Since
the logical errors are not detected by compiler, the programmer
must examine the output carefully to detect them.
When a program is tested, the actual output is compared with the
expected output. When there is a discrepancy, the sequence of
the instructions, must be traced to determine the problem. The
process is facilitated by breaking the program down into self-
contained portions, each of which can be checked at certain key
points.
2) String Testing
Programs are invariably related to one another and interact in a
total system. Each program is tested to see whether it conforms
to related programs in the system. Each part of the system is
tested against the entire module with both test and live data
before the whole system is ready to be tested.
3) System Testing
System testing is designed to uncover weaknesses that were not
found in earlier tests. This includes forced system failure and
validation of total system as it will be implemented by its user in
the operational environment. Under this testing, generally we
take low volumes of transactions based on live data. This volume
is increased until the maximum level for each transaction type is
reached. The total system is also tested for recovery and fallback
after various major failures to ensure that no data are lost during
the emergency. All this is done with the old system still in
operation. When we see that the proposed system is successful in
the test, the old system is discontinued.
109
4) System Documentation
All design and test documentation should be well prepared and
kept in the library for future reference. The library is the central
location for maintenance of the new system.
110
SECTION 9
IMPLEMENTATION
111
After completing the packaging process and produced distribution
media for the application, The application requires perfectly working
Microsoft Visual Studio 6.0 installed on the client system along with Ms
Offfice Access. It can run on all applicable operating systems.
112
IMPLEMENTATION
Conversion
Direct Implementation
113
SECTION 10
MAINTAINENCE
114
MAINTENANCE
115
SECTION 11
CONCLUSION
116
The objective of this project was to build a program for maintaining the
details of all the members,employees and inventory .The system
developed is able to meet all the basic requirements. The management
of the records (both members and employees)will be also benefited by
the proposed system, as it will automate the whole procedure, which
will reduce the workload. The security of the system is also one of the
prime concerns.
117
SECTION 12
BIBLIOGRAPHY
118
Bibliography
www.wikipedia.org
www.codeproject.com
Visual Basic 6.0 Resource Center |
http://msdn.microsoft.com/hi-in/vbrun/default(en-us).aspx
Visual Basic 6 Black Book By Steven Holzner
119