Download - Call Center Management System
ACKNOWLEDGEMENT
Nothing concrete can be achieved without an optimal combination of inspiration and
perspiration. No work can be accomplished without taking the guidance of the experts.
It is only the views and advice from ingenious intellectual that help in the
transformation of a product into a quality product.
We owe my sincere gratitude to Mrs. Shashi Mishra, our honorable project guide.
Last but not the least, no acknowledgement will be complete without mentioning our
parents. They have also supported us throughout the development project.
CONTENTS
1. Introduction
2. Objective of the Project
3. Project Category
4. System Design
5. Hardware & Software Requirement
6. System Analysis
7. Feasibility Study
8. Implementation
9. Testing & Debugging
10. Context Diagram
11. Data Flow Diagram
12. Screenshot
13. Coding
14. Future Scope
15. Limitation of the Project
16. Bibliography
T I T L E O F T H E P R O J E C T
Call center shift management system
INTRODUCTION
Call center shift allotment system is proposed for the
call centers using which they can computerized their
shifts organized, work distribution and employee
performances. Call centers are basically the work
centers, which provide 24 hours customer care via
telephones and Internets etc. Now a day every large
or small company has, their call centers situated at
different locations. Besides supporting customers via
a team of customer care executives, call centers has
one more team that of technical peoples responsible
for allocating, maintaining, updating and allotment
company’s communication network. In order to
schedule and distribute the work via which company
can run smoothly the call centers make different-
different teams and distribute the work task in
several shifts to facilitate both the customer and the
employee.
Team structure
Every team have two team leader one is head and
other is assistant. Each team has 12 members
including leaders. 5 teams working over the project
have a team supervisor that is basically responsible
for distributing the work among teams. At the top
most level there is a person called project manger
who is responsible for distributing the different
projects to different supervisor. And schedules time
charts for each project that is further broke by the
below team people to do the project.
OBJECTIVE
To collect the different project reports and grade
them according to their presentation and
successfulness.
To award different teams for their performances.
To grade the team members according to their
professional and personal attitudes
To check whether the work progress is
according to the chart or not.
To distribute the different projects among the
different supervisors
To schedule different project in different
timetables.
To distribute timetables among the teams.
To organize different shifts for different teams
To check and compute work progress of the
teams
PROJECT-CATEGORY
RDBMS (Relational database management system)
USER INTERFACE
GUI (Graphical User Interface) of the Software will be implemented through
Visual Basic.
TOOLS / ENVIRONMENT
Language : Visual basic
Back end : Oracle8
VISUAL BASIC
Visual basic covers every aspect of programming,
from educational applications to databases, and from
financial applications to Internet components. Visual
basic has two-database access technology.
To design desktop we can use VB-script, which is a
subset of visual basic, and object oriented
technology. Visual basic have several tools for
automating the development of WebPages like HTML
& DHTML and development of web application.
Visual basic provides IDE (Integrated Development
Environment) and the basic principles of developing
applications with visual tools and event
programming. A project in visual basic is the central
mechanism used to verify and coordinate the
elements of a visual basic application. Creating
project is usually the first step in the process of
developing a visual basic application. Project keeps
track of the locations of the components used within
the project and access related libraries of the
program that are stored in a common directory and
used by many applications. An exe file is generated in
order to run the project. When an EXE is generated
from a project all the elements of the project are
gathered and run according to the action performed.
ADOB is V.B database technology used to access the
data from the databases.
ORACLE DATABASE DRIVER
Oracle database connectivity is used to connect V.B
and oracle. MDSQL is a set of API used for executing
SQL statements. ADOB consists of a set of classes
and record set objects and interfaces to enable
programmer to make connections and to write SQL
statements.
WHAT IS ODBC ?
Open Databases connectivity, or ODBC is a
standard for accessing data. It was designed to
allow the programmer to use a common set of
routines to access the data stored in databases,
regardless of the type of database in which the
data was stored. This meant that once the
programmer was connected to the database using
ODNC, they could manipulate the data without
worrying exactly where the data was stored, or
which type of database was storing it. It provided
interface transparency – so the programmer could
access an Oracle database in the same way that
they accessed a SQL Server Database. So, ODBC
allows you to get at the basic information held in
any database. This gives the programmers
freedom to concentrate onto functionality of the
application without worrying too much about the
underlying data, or even how to access it.
WHAT IS OLE-DB ?
OLE-DB is not next step in the evolution of the
anonymous data store. As well as being more
generic than ODBC, Microsoft has done a great
deal of work to ensure that OLE_DB is faster and
easier to used that ODBC. Eventually it may well
replace ODBC, although that won’t be for a long
time yet, if only for the reasons that you often
have to rely on third parties writing new OLE-DB
provides and then when they are available they
are often more expensive than existing ODBC
drivers. So, consequently, there’s a lot more
ODBC drivers out there still in use. The idea
behind OLE-DB is very similar to the idea behind
ODBC-but in fact it allows access to a much
broader range of data stores. In fact, you’ll notice
that OLE-DB that effectively your legacy database
through your existing ODBC connections.
SOFTWARE PRINCIPLE USED
The project uses the Data Access Objects (DAO)
and ADO ActiveX data Object. To interact with the
Database Engine which handles the mechanics of
storing, retrieving and updating data. It also
handles indexing, locking, security and referential
integrity programming interfaces that gives a
complete control of the Database. The DAO model
is collection of object classes that Corresponds to
the structure of a Relational Database System.
Each of the classes provides properties and
methods that allow performing operations like
Creating Database, Defining Tables, Fields and
indexes, Establishing Relation between tables,
querying the database and so on. This project
uses OOPS Object Oriented Programming.
DATABASE (OVERVIEW)
First of all let’s talk about the database, which
gives us a strong platform to store the official
details. Using Oracle 8 as a backend gives us an
immense security features and reliable data
source. With its most unique COMMIT and
ROLLBACK features it is the most promising
database. In this project there are eight tables
created in Oracle. Few constraints have also been
defined at backend to create relationships
between the tables.
CONNECTION
Connection between the database and the front-end application is
very important. Without a proper connection errors may occur
while saving the data in the table. In my project I have used
ODBC to connect my front-end application with Oracle. For
connection to work properly I have to first create a service name
using Oracle Net Assistant. After creating the service we have to
create ODBC driver, with the help of which I will connect to
Oracle. While creating driver we have to keep an account of the
DSN (Data Source Name) because while connecting to the Oracle
we have to pass DSN for connection.
SYSTEM DESIGN
INTRODUCTION TO PHYSICAL SYSTEM
In this project I am dealing with the work
distribution, shift allotment and performances of the
employee’s in the call center. First of all the details
of new employee are entered. Then each of the
employee’s are assigned a particular work and shift.
Each employee is assigned a review date and a
reporting officer, to whom they will report after their
task is finished. At this stage the reporting officer
will review the performance of the employee and will
judge him accordingly. The average points given by
the reporting officer to the employee will be the final
and the deciding factor for the routine planning
monitoring system.
HARDWARE SPECIFICATIONS
Minimum Requirement:
Random Access Memory: 64 MB.
Hard Disk: 10 GB.
Processor: P I (100 MHZ)
SOFTWARE REQUIREMENT SPECIFICATIONS
PROBLEM DEFINITION
1. What are the criteria’s demanded by the project
team from their teams to validate their
performance?
2. What are the duties and responsibilities of
executive class and of technical class team
members?
3. What are the criteria’s that a project team
adopts in order to assign project work to his
team members?
4.What are the details of project, work
distribution; shift allocated and team
performances etc?
5. What are the reasons that leads the call centers
towards a completely computer based system?
6. How does the system can fulfill the shift and
work distribution demands?
7. What are the appropriate steps followed by the
project manager in allotment the projects?
8. What steps the team leaders and supervisors
take for properly distributing work and shifts to
their team members?
9. What an employee has to do in order to change
his shift times from one date to another?
ANALYSIS
A comprehensive review of the relevant manual
system including a computer assisted search will be
undertaking in order to develop an understanding of
previous work in the field of shift allocation, work
distribution and performance grading. At this stage
overall system is studied thoroughly and problem
definition is declared over which the whole system
revolve.
INTERVIEWS
This stage will explore the shift allocation, work
distribution and performance grading system
adopted by the call centers. The explorations will be
achieved through unstructured and informal
interviews with 5 to 6 employees of the call centers.
These unstructured interviews help in detecting the
problem details faced during the shift allocation,
work distribution and performance grading system
by the project leaders and team members. Interviews
will take place to score the levels of quality
effectiveness.
ORGANIZATIONAL EVALUATION
The interview stage and analysis stage will bring
together to evaluate the information collected for
detect and design the actual system
This stage results
A Structured design that can meet the
requirement of the shift allocation, work
distribution and performance grading system is
evaluation as the result of the evaluation phase?
What are the actual problems faced during the
shift allocation, work distribution and
performance grading system?
What are the appropriate steps that can be
taken to solve the problem?
What the actual flow of the information in the
project?
Call centers journals, reports, documents etc are
used to know the working a predicting the solutions
find during the study. Visual basic is used as design
software that provides a complete GUI, using which
the call centers can easily use the software
developed. As per hardware is concerned a hard disk
of heavy capacity is required to store the heavy
record size of the company. Oracle database is used
as a backend tool to store and manipulate different
records of the company use. The processor speed
must be high with respect to the heavily loaded
database. Also the RAM must be compatible with
other hardware and software existed.
FUNCTIONAL & BEHAVIORAL DESCRIPTION
As the software functionality is concerned the software consists many functions depend over the requirement of the shift allocation, work distribution and performance grading system. The software behave differently with the different users it means if some one wants to move inside the admin module it will be interrupted by the software to alert him or to warn him.
SYSTEM ANALYSIS
After studying the call center’s current status it is
investigated that call center hassle software to
computerized its shift allotment, shift allotment,
performance calculation etc and also call center
wants to implement its 4 & 5 phases of conducting
different test to find out the most labors and
intelligent worker of the call center.
Input and output to the system is calculated after
studying the call center’ s documents, charts etc.
Software structure, database structure functioning,
importance, administration’s duties, performance
requirements, employee’s work details, call center
projects, shift timings, shift details and overall
working of the call center are mentioned after
analyzing and studying the call center’s mode of
working.
A meeting held within the call center helps us to
learn more about the call center functioning and
obligation. After a small analysis phase a coarse
modular design is derived to recognize the input–
output processing of the call center, which is added
enhanced at the time of designing.
PRELIMINARY INVESTIGATION
This technique is defined as small comprehensive
and concentrated study of an individual in which
investigator brings to put up with all his skills and
methods or as an organized congregation of enough
Information about a person to permit one to
understand how he or she functions as a unit of the
call center. It is a form of qualitative analysis
connecting a very useful and complete scrutiny of an
employee, its work details, its point details, its shift
details etc. It’s a way of exploring and analyzing the
aspects of employee unit, work unit, shift allocation
unit and collection of work feed back.
1. STUDY OF CALL CENTER’S
WORKING UNIT
Information is gathered by investigating the
individual’s involvement (i.e. contribution of
employee, its contribution to its department and that
of evaluation department) and their involvements in
the whole Call Center’s Shift ALLOTMENT System.
The information thus gathered plays an important
role in properly defining individuals needs and
expectations from the software system.
2. KNOWLEDGE OF BEHAVIOR
PATTERNS
What are call center’s methods of work distribution
and shift allotment? What is the need to
computerized the system? Such type of questions
tries to describe the factors like running project
details, work distributed, role of project leader in
shift allotment i.e. behavioral pattern, which implies
how the process works? Where the changes are
required? And what are the changes to be done?
3.PROCEDURE OF DATA GATHERING
Research design and methodology
Statement of research aim
To analyze the overall shift allotment system of the
call center and to develop an effective and interactive
user-friendly system for the people concerned with
the shift allotment, work distribution and point
distribution etc.
RATIONALE THE RESEARCH
QUESTIONNAIRES
1.Research objective: Factors that leads to the
computerized call center’s shift allotment system?
Result: The research is intended to obtain the
problem faced by the manual system of call center.
The objective is solved by a number of questionnaires
phases conducted between the employee and the
allotment and work distribution dept of the call
center and the research team. Different questions
related to the shift allotment and work distribution
are asked from the employees in order to retrieve the
information.
Why the call center needs a computer-based
system?
What problems the call center faced in
maintaining their shift schedules?
How project works are distributed?
Most common problem area for the call center?
What is the flow of information?
2.Research Objective: Criteria of dividing the total
work time into different shifts and allotting these
shifts to the employees.
Result: The intention behind the research is to find
out the number of work area and number of working
hours and also the number of employees belonging
to an individual work which facilitates the designer
to design the graphical user interface environment
i.e. forms and database required for keeping the
records. Questions asked during the research are:
How many working hours the call center has?
Work’s details and their performance during the
work?
Which work requires maximum number of shifts?
Total number of employees and works the call
center has?
What are the conditions applied for shift allotment
to the employees?
3.Research Objective : Working of performance
grading department.
Result: The research is intended to obtain the
necessary terms and conditions applied for gathering
work dues, generating project and employee report
etc. How data moves from team leaders to the
grading department and what employees get from
the call center in the favor of their work. Research
also discloses that how employees are charged for
the work they have to do. What is the mode of
payment?
What is the date of work details submission?
How team leaders collect the employees work
details?
What commission the call center gives to the
employee?
What is the total sale during a day?
What are the total monthly sales?
How profit and loss is depicted inside the agency?
Which paper is in the demand?
FEASIBILITY STUDY
BENEFIT ANALYSIS
In the current system it is difficult for the employee
to work over a number of projects simultaneously
and for the call center to distribute the times. This
results to costing a call center in terms of
Unnecessary delays in the work planned
ahead
Extra manpower requirement to transfer
messages across the organization on a daily basis.
Employees are working at different
departments are not able to get some technical and
administrative support sometimes from the call
center and proceed in their own way which
sometimes leads to unnecessary delays I the ongoing
project.
The proposed system if implemented will
lead to cost saving in following ways:
Availability of information by the call center
from employees and vice versa related to the ongoing
project. Leading to efficient planning for the work
ahead in proper time shifts.
No extra manpower requirement for the
communication between the employees and mangers
or any department. The system handles all the
communication activities.
No extra manpower requirement for the
communication between the employees and mangers
or any department. The system handles all the
communication activities.
The employees get the technical and
administrative support in terms of the articles posted
by other employees or administrator related to their
experiences and responses to the queries raised of
them in shorter period of time.
SOFTWARE ENGINEERING PARADIGM
Customer it means the call center has a legitimate
need of the software but is clueless about the details
and was unable to understand the extract picture of
their requirements. So according to the customer’s
stage of confusion we adopt the “Waterfall Model” of
the software Paradigm. The classic life cycle or the
waterfall model, the linear sequential model suggests
a systematic, sequential approach to software
development that begins at the system level and
progresses through analysis, design, coding testing,
and support.
System/Information engineering
Analysis Design Test Code
The linear sequential model for software
engineering. Modeled after a conventional
engineering cycle, the linear sequential model
encompasses the following activities:-
System /Information engineering and modeling.
Software requirements Analysis.
Design.
Code Generation.
Testing.
Support.
IMPLEMENTATION OF THE SYSTEM
The overall software of Employee management
system is implemented using Visual Basic and
Oracle-8. The Visual Basic provides a perfect
graphical user interface for implement the call
center’s shift allotment system into the forms to
make the system user friendly and interactive. The
system is implemented in forms, which are connected
to oracle database, which in its turn is used to held
data or records for the further details. Call center’s
shift allotment System is implemented into Visual
Basic forms used to take input i.e. details required
for the system. Detail manipulation and calculations
are also performed via the forms and the
correspondent data is sent to the tables of the oracle
database.
TESTING
System testing is vital to the success of the system.
This phase of the system development life cycle is
immediately after the coding phase. System testing
takes a logical assumption that if all parts of the
system are correct, the goals will be automatically
achieved. Inadequate testing or non-testing leads to
errors that may not appear until months later.
Another reason for testing is its utility as user –
oriented vehicle before implementation since even
best program is worthless if it does not meet user
requirements.
Testing which are performed on the system. They are
as follows:
UNIT TESTING
Data was separately prepared and tested for sub-
modules of database management system, under all
relevant conditions. This process helps in finding out
the bugs if any. In the software thereby requiring the
rectification in the modules again. Unit testing is for
the program is done in parallel with the construction
of the programs. E.g. here in CALL CENTER’S SHIFT
ALLOTMENT SYSTEM all the modules are tested
separately. All interface testing, control flow testing
is done.
INTEGRATED TESTING
After the completion of errors at levels of unit
testing for all the programs in a module, the module
is tested for integration with other modules in the
system. The goal of this testing is to detect design
errors, while focusing on testing the interconnection
between modules.
E.g. Here In this project all modules are integrated
and then tested as one.
SYSTEM TESTING
System testing tests the entire flow of data of data
through the entire system. Data flows from the tables
were checked. This also includes the preparation of
test data, checking the entire system with this data
to see if all the requirements are met and the system
performs as specified by the requirements.
ACCEPTANCE TESTING
After the system testing is performed, finally
acceptance testing is performed to demonstrate to
the client the operation of the system on the real life
data of the client.
e.g. here in CALL CENTER’S SHIFT ALLOTMENT
SYSTEM ,the programmer visited and explained
about project in detail. And showed all functionalities
a working of the project, then acceptance is taken
from the client.
SYSTEM SECURITY MEASURES
AN EVALUATION OF RISK
The objectives, functions and performance of the
system are evaluated after analyzing the assumptions
and dependencies of the proposed system. The
considerations made are development risk, resource
availability and technology. The possible risks
associated with the system are:
Unavailability of the skilled personnel to develop
the project on the web related technologies.
Unavailability of the hardware and software
required to develops the project.
Frequent leaves taken by the project team
members resulting in the delay of the project.
Unavailability of the technology to support the
features estimated of the project.
THE RISK MITIGATION STRATEGIES
Training/hiring of the staff who is skilled enough
in the technologies needed in the project.
Arranging the required hardware and software well
in time for smooth functioning of the project.
Keeping the backup of the personnel in case any of
the team members go on leave.
Reference to the user manuals of the
technologies/development projects or to Internet for
finding out the right products for the project related
requirement.
LEGAL RAMIFICATIONS
As the call center makes the project for its own
purpose and the team members who will be working
on the projects will be employees of the call center
only there are no legal implications as such.
COST ESTIMATION OF THE PROJECT
There are certain costs associated with the project
depending upon the type of the project. Broadly
these are
STARTUP COST
Cost of operating system Software: as without
operating system nothing is possible in computer. OS
is purchased to work on.
Cost of communication Equipment: As Internet is
used to consult or study this kind of projects
available in market. Moreover call center’s other
senior programmers are consulted through mail.
1. Cost of star-up personnel: hiring new employees
for working on this project only. Cost of management
for startup activities: the management spent some
amount of startup activities to start a project.
PROJECT RELATED COSTS
Cost of application Software
purchased
Cost of training : to train the client our employees
are engaged.
Cost of documentation: documentation is done as it
helps very much when another software development
team does updating.
ONGOING TASKS
System Maintenance Costs (hardware, Software &
Facilities): this includes normal servicing of
equipment. Plus if any problem with hardware like
printer, monitor etc.
RENTAL COSTS
Here is the cost Breakup for the project
Team Size 2
Duration 6 Months @ 30 days a month
Total effort 50 man day @ 20 $ per man day
Cost of manpower on the project: 10000 $
SYSTEM MAINTENANCE COSTS
Hardware/Software/Facilities: per machine 100 $ per
month total 1200 $ for two machines (here the
software which is required of development, the
license cost of that Software is taken care of)
Stationary Cost (documentation activities): 100 $ for
the project 600$
Estimated cost of the
project: $18500
CONTEXT-LEVEL DIAGRAM
Shift Allotment System of
Call
center’s
Project Manger
Team Member
Team Leader
Supervisor
Project Distribution
Time Allotment
Shift Allocation
Performance Grading
1ST LEVEL DFD
Project Manger
Project Distribution ‘n’ Controlling
Project WorkDistribution
Team Supervisor
TimeAllotment
Module Distribution & Controlling
Gantt Chart Formulation
Team WorkDistribution
Team Leader
FunctionalBifurcation of modules
FunctionalTimetable
Team Members
2ND LEVEL DFD
Project Manger
Shift
Allocation
Controlling
Shift ChartPreparation
Supervisors
Notice BoardDispersion
Team Leaders
3rd LEVEL DFD
Project Manger
Project wisePerformance Grading
Best Supervisor Selection
Supervisor
Module WisePerformance Grading
Best Team Leader Selection
Team Leader
Assistant
Team Member Performance Grading
Best Team Member Selection
Team Members
DATAFLOW
Understanding the data flow is very important in the
project. In this project first the official details of new
employee’s are entered into the employee details
table and the personal information of the employee is
filled in the personal details table. Now each and
every employee is assigned a job along with the start
date, end date and the review date and these details
are stored in the work details table. Now based on
the review date from the work table, the employee is
reviewed and his review details are stored in the
review details table and the points given by the
reporting officer for that particular review is stored
in the result details table. A shift schedule table is
made in which all the records about the shifts like
shift id , shift time and work id for which it is
designed etc are stored. There is a separate table for
recording employee’s working shifts. Every time an
employee is reviewed his review points is stored in
the point table. Then depending on the average of
the points in three reviews the performance can be
seen. This shows the movement of data within the
tables, which is very important to know for the
clients, was this project would be installed so that
during any problems in the application they can
identify as to where the problem exists.
FORMS DESIGN
EMPLOYEE DETAILS FORM
This form contains all the fields of employee details
table. It also contains few necessary navigation
buttons. It contain buttons for adding, saving and
deleting records. Records saved from this form goes
directly to employee_details table.
PERSONAL DETAILS FORM
This form is linked to the employee form. After
filling the official details in the employee form we
will fill in his personal details in this form. This form
is bound to the personal_details table and all the
record will be saved in this table.
WORK FORM
This form is used to assign the jobs to the
Employees. In this form the reporting officer is also
assigned to the employee along with the start, end,
review dates of the project. According to the review
date given in this form, the employees will be
reviewed.
REVIEW_FORM
Each and every employees review details is stored in
table from this form. There are two buttons in this
form. One is SAVE and another one is EXIT. In the
click event of save button there are some important
procedures, which needs some explanation. As I am
processing three reviews of each person, so it will be
very difficult to maintain record of all the three
reviews in this table. So I am moving the points of
each employee in the Point’s table each time a
person is reviewed along with his emp_no . Since
there is a number of dataflow from this form so it is a
very important form.
RESULT FORM
In this project result form is a sub form of the review
form. The average acquired from this form is passed
to the review form to calculate the final details for
the employee performance. As soon as the employees
review is done the records from this table is deleted,
so as to reduce redundancy.
POINTS FORM
This form is loaded only when all the three reviews of
particular person is done. This form consists of a
grid layout, where all the records of the employees
are shown and based on this record we can draw a
graph.
PASSWORD FORM (ADMIN FORM)
This is the security form through which an officer
has to pass through prior to entering this project. If
correct password is entered Welcome Form will be
opened and incase of wrong password message will
be shown.
SHIFT SCHEDULE FORM (ADMIN
FORM)
This is the shift allotment form through which an
officer can arrange different shifts for different work
to be done. Shift ids, work id, shift time, start date
and end date are taken as input.
SHIFT ALLOCATE FORM (ADMIN
FORM)
This is the shift allotment form through which an
officer can allot different shifts to different
employees. Shift ids, work id, and employee id are
taken as input.
MODULAR DESCRIPTION
Module
name
Input Processing logic Output
Member
registratio
n
Registration
form
Employees detailed
information
Team
formation
Project
distributio
n and
controlling
Project
proposal
form
Project details like
name, requirement and
time complexity
Project
distribution
schedules
Work
distributio
n
Work
distribution
form
Work details and their
schedule to team
supervisors for working
Work
schedule list
Time
allotment
Work
distribution
within a
time limit
Work weight age and
time required to
complete it with grace
period and other limits
Time
schedules,
time tables
and Gant and
pert charts
etc
Shift
allocation
and
controlling
Shift
preparation
form or
chart
Shift formation and
allocating them to the
team supervisors to
display them on notice
boards etc
Shift schedule
Employee
and team
Performanc
e grading
Performance
form
including
personal and
professional
details
Calculation of
performance for best
supervisor, leader and
member
Selection of
best
supervisor,
leader,
member and
team
PROCESS LOGIC
Proper connectivity between the visual basic and the
Oracle-8 is important. First step is to build a huge
database. Multiple queries will be allowed. This
processing logic we need to take care of validations.
Validations are very important part of the project,
without which the project is incomplete. Proper
relationship between the fields has to be defined.
Cascade updating and cascade deletion must also be
present in this project. Graphical representation for
the different entities will be shown.
TABLE STRUCTURE
Login
Name TYPE
Emp id VARCHAR2(10
)
Password VARCHAR2(8)
Employee
Name TYPE
Emp id VARCHAR2(10
)
Emp name VARCHAR2(30)
Designation VARCHAR2(30)
Team id VARCHAR2(10)
Project id VARCHAR2(10)
Shift id VARCHAR2(10)
Module id VARCHAR2(10)
Personal
Name TYPE
Emp id VARCHAR2(10
)
Emp name VARCHAR2(30)
Address VARCHAR2(30)
Contact no VARCHAR2(10)
Age VARCHAR2(10)
Work
Name TYPE
Project id VARCHAR2(10
)
Project name VARCHAR2(30)
Work profile VARCHAR2(10
0)
Start date Date
End date Date
Project cost Number
Supervisor id VARCHAR2(10
)
No of module Number
Shift Details
Name TYPE
Shift id VARCHAR2(10
)
Shift time Number
Shift start
date
Date
Work id Number
Shift End
date
Date
Points
Name TYPE
Emp id VARCHAR2(10
)
Module id VARCHAR2(30)
Contribution Number
Team sprit Number
Leader ship Number
Punctuality Number
REPORT GENERATION
Employee details
Performance details
Shift allocation details
Work details
Shift schedule details
WELCOME FORM
Private Sub Command1_Click()Load MDIForm1MDIForm1.Show
End Sub
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Command1.ToolTipText = "Click To Start"End Sub
Private Sub Command2_Click()End
End Sub
Private Sub Command2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Command2.ToolTipText = "Click To End"End Sub
SHIFT ALLOCATE FORM
Dim WithEvents rs As ADODB.RecordsetDim WithEvents rs1 As ADODB.RecordsetDim WithEvents rs2 As ADODB.RecordsetDim g As Boolean
Public Sub check()If Combo1.Text = "" Then
g = FalseElse: g = TrueEnd If
End Sub
Public Sub enab(h As Boolean)Command1.Enabled = h
End Sub
Private Sub Combo1_Change()Dim str As Stringstr = Combo2.Textrs1.MoveFirstDo While rs1.EOF = FalseIf str = rs1!shift_id Then
Combo3.Text = rs1!work_idExit Sub
Else: rs1.MoveNextEnd IfLoopEnd Sub
Private Sub Form_Load()Set Db = New ADODB.ConnectionDim fconnect As Stringfconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = project"Db.Open fconnectSet rs = New ADODB.Recordsetrs.CursorType = adOpenStaticrs.CursorLocation = adUseClientrs.LockType = adLockPessimisticrs.Source = ("select * from shift_allocate ")Set rs.ActiveConnection = Dbrs.Open
Set rs1 = New ADODB.Recordsetrs1.CursorType = adOpenStaticrs1.CursorLocation = adUseClientrs1.LockType = adLockPessimisticrs1.Source = ("select * from shift_details ")Set rs1.ActiveConnection = Dbrs1.Open
Set rs2 = New ADODB.Recordsetrs2.CursorType = adOpenStaticrs2.CursorLocation = adUseClientrs2.LockType = adLockPessimisticrs2.Source = ("select * from employee_details ")Set rs2.ActiveConnection = Dbrs2.Open
Do While rs1.EOF = FalseCombo1.AddItem rs1!shift_idrs1.MoveNext
Loop
Do While rs2.EOF = FalseCombo2.AddItem rs2!emp_nors2.MoveNext
LoopEnd Sub
Public Sub inserting() rs!shift_id = Combo1.Text rs!emp_id = Combo2.Text rs!work_id = Combo3.TextEnd Sub
Public Sub clear()Combo1.Text = ""Combo2.Text = ""Combo3.Text = ""End Sub
Private Sub Command3_Click()Combo1.Text = ""Combo2.Text = ""Combo3.Text = ""End Sub
Private Sub Command4_Click()checkIf g = True Then
rs.AddNewinsertingrs.UpdateclearCommand1.Enabled = True
ElseIf g = False ThenMsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH
OUT"End IfMsgBox " Record have be entered sucessfully"End Sub
Private Sub Command5_Click()Command5.Enabled = TrueIf rs.EOF = False Then
rs.Deleters.MoveNextMsgBox ("Record have been successfully deleted")
ElseMsgBox ("THERE IS NO MORE RECORD PRESENT ")
End IfEnd Sub
Private Sub Command6_Click()MDIForm1.ShowMe.HideEnd Sub
Private Sub Command1_Click()Dim h As StringDim i As LongDim j As LongDim g As Longenab (False)rs.MoveFirstg = 0Do While Not rs.EOF
g = g + 1rs.MoveNext
LoopMsgBox gMSFlexGrid1.Cols = 4MSFlexGrid1.Rows = Val(g + 1)MSFlexGrid1.TextMatrix(0, 0) = "SR.NO"MSFlexGrid1.TextMatrix(0, 1) = "SHIFT ID"MSFlexGrid1.TextMatrix(0, 2) = "WORK ID"MSFlexGrid1.TextMatrix(0, 3) = "EMP ID"MSFlexGrid1.AllowBigSelection = FalseMSFlexGrid1.SelectionMode = flexSelectionByRowMSFlexGrid1.AllowUserResizing = flexResizeBothrs.MoveFirst
For k = 1 To gMSFlexGrid1.TextMatrix(k, 0) = Val(k)
MSFlexGrid1.TextMatrix(k, 1) = rs!shift_idMSFlexGrid1.TextMatrix(k, 2) = rs!work_idMSFlexGrid1.TextMatrix(k, 3) = rs!emp_idOn Error GoTo 20:rs.MoveNextNext20: Exit Suballocate.RefreshEnd Sub
SHIFT SCHEDULE FORM
Dim WithEvents rs As ADODB.RecordsetDim WithEvents rs1 As ADODB.RecordsetDim g As Boolean
Public Sub check()If Text1.Text = "" Then
g = FalseElse: g = TrueEnd IfEnd Sub
Public Sub enab(h As Boolean)Command1.Enabled = hEnd Sub
Private Sub Form_Load()Set Db = New ADODB.ConnectionDim fconnect As Stringfconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = project"Db.Open fconnectSet rs = New ADODB.Recordsetrs.CursorType = adOpenStaticrs.CursorLocation = adUseClientrs.LockType = adLockPessimisticrs.Source = ("select * from shift_details")Set rs.ActiveConnection = Dbrs.Open
Set rs1 = New ADODB.Recordsetrs1.CursorType = adOpenStatic
rs1.CursorLocation = adUseClientrs1.LockType = adLockPessimisticrs1.Source = ("select * from work_details")Set rs1.ActiveConnection = Dbrs1.Open
Do While rs1.EOF = FalseCombo1.AddItem rs1!work_idrs1.MoveNext
LoopEnd Sub
Public Sub inserting() rs!shift_id = Text1.Text rs!work_id = Combo1.Text rs!shift_time = Text2.Text rs!shift_start_date = Text3.Text rs!shift_end_date = Text4.Text End Sub
Public Sub clear()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Combo1.Text = ""End Sub
Private Sub Command3_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Combo1.Text = ""End Sub
Private Sub Command4_Click()checkIf g = True Then
rs.AddNewinsertingrs.Update
clearElseIf g = False Then
MsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH OUT"End IfMsgBox " Record have be entered sucessfully"End Sub
Private Sub Command5_Click()Command5.Enabled = TrueIf rs.EOF = False Then
rs.Deleters.MoveNextMsgBox ("Record have been successfully deleted")
ElseMsgBox ("THERE IS NO MORE RECORD PRESENT ")
End IfEnd Sub
Private Sub Command6_Click()MDIForm1.ShowMe.HideEnd Sub
Private Sub Command1_Click()Dim h As StringDim i As LongDim j As LongDim g As Longenab (False)rs.MoveFirstg = 0Do While Not rs.EOF
g = g + 1rs.MoveNext
LoopMsgBox g
MSFlexGrid1.Cols = 6MSFlexGrid1.Rows = Val(g + 1)
MSFlexGrid1.TextMatrix(0, 0) = "SR.NO"MSFlexGrid1.TextMatrix(0, 1) = "SHIFT ID"
MSFlexGrid1.TextMatrix(0, 2) = "WORK ID"MSFlexGrid1.TextMatrix(0, 3) = "SHIFT TIME"MSFlexGrid1.TextMatrix(0, 4) = "SHIFT START DATE"MSFlexGrid1.TextMatrix(0, 5) = "SHIFT END DATE"MSFlexGrid1.AllowBigSelection = FalseMSFlexGrid1.SelectionMode = flexSelectionByRowMSFlexGrid1.AllowUserResizing = flexResizeBoth
rs.MoveFirst
For k = 1 To gMSFlexGrid1.TextMatrix(k, 0) = Val(k)MSFlexGrid1.TextMatrix(k, 1) = rs!shift_idMSFlexGrid1.TextMatrix(k, 2) = rs!work_idMSFlexGrid1.TextMatrix(k, 3) = rs!shift_timeMSFlexGrid1.TextMatrix(k, 4) = rs!shift_start_dateMSFlexGrid1.TextMatrix(k, 5) = rs!shift_end_date
On Error GoTo 20:rs.MoveNext
Next20: Exit Subschedule.RefreshEnd Sub
EMPLOYEE OFFICE DETAIL FORM
Dim WithEvents rs As ADODB.RecordsetDim WithEvents rs1 As ADODB.RecordsetDim WithEvents rs2 As ADODB.RecordsetDim WithEvents rs4 As ADODB.RecordsetDim WithEvents rs5 As ADODB.RecordsetDim g As Boolean
Private Sub ADDC_Click()clearnavig (True)Text1.SetFocusText8.Enabled = FalseSAVC.Enabled = True
End Sub
Public Sub enab(h As Boolean)ADDC.Enabled = hSAVC.Enabled = hFIRSTC.Enabled = hNEXTC.Enabled = hPREVC.Enabled = hLASTC.Enabled = hEnd Sub
Private Sub CANC_Click()enab (True)End Sub
Private Sub Command1_Click()Dim h As StringDim i As LongDim j As LongDim g As Longenab (False)rs.MoveFirstg = 0Do While Not rs.EOF
g = g + 1rs.MoveNext
LoopMsgBox gMSFlexGrid1.Cols = 9MSFlexGrid1.Rows = Val(g + 1)MSFlexGrid1.TextMatrix(0, 0) = "SR.NO"MSFlexGrid1.TextMatrix(0, 1) = "EMPLOYEE NUMBER"MSFlexGrid1.TextMatrix(0, 2) = "NAME"MSFlexGrid1.TextMatrix(0, 3) = "GRADE"MSFlexGrid1.TextMatrix(0, 4) = "DEPARTMENT"MSFlexGrid1.TextMatrix(0, 5) = "DESIGNATION"MSFlexGrid1.TextMatrix(0, 6) = "DATE OF ENTRY"MSFlexGrid1.TextMatrix(0, 7) = "AGE"MSFlexGrid1.TextMatrix(0, 8) = "SEX"MSFlexGrid1.AllowBigSelection = FalseMSFlexGrid1.SelectionMode = flexSelectionByRowMSFlexGrid1.AllowUserResizing = flexResizeBoth
rs.MoveFirst
For k = 1 To gMSFlexGrid1.TextMatrix(k, 0) = Val(k)MSFlexGrid1.TextMatrix(k, 1) = rs!emp_noMSFlexGrid1.TextMatrix(k, 2) = rs!emp_nameMSFlexGrid1.TextMatrix(k, 3) = rs!emp_gradeMSFlexGrid1.TextMatrix(k, 4) = rs!departmentMSFlexGrid1.TextMatrix(k, 5) = rs!designationMSFlexGrid1.TextMatrix(k, 6) = rs!date_of_entryMSFlexGrid1.TextMatrix(k, 7) = rs!ageMSFlexGrid1.TextMatrix(k, 8) = rs!sex
On Error GoTo 20:rs.MoveNext
Next20: Exit SubEmployee.RefreshEnd Sub
Private Sub DELC_Click()DELC.Enabled = Truers.MoveFirstDo While Not rs.EOFIf bac = rs!emp_no Then
rs.DeleteExit DoElse
rs.MoveNextEnd IfLoopMsgBox ("DELETED FROM EMPLOYEE")
rs1.MoveFirst
Do While Not rs1.EOFIf bac = rs1!emp_no Then
rs1.DeleteExit Do
Elsers1.MoveNext
End IfLoopMsgBox ("RECORD DELETED FROM PERSONAL")
rs2.MoveFirst
Do While Not rs2.EOFIf bac = rs2!emp_no Then
rs2.Deleters2.MoveNext
Elsers2.MoveNext
End IfLoopMsgBox ("RECORDS DELETED FROM WORK")
rs4.MoveFirst
Do While Not rs4.EOFIf bac = rs4!emp_no Thenrs4.Delete
Exit DoElse
rs4.MoveNextEnd IfLoopMsgBox ("DELETED FROM REVIEW")
rs5.MoveFirst
Do While Not rs5.EOF
If bac = rs5!emp_no Thenrs5.DeleteExit Do
Elsers5.MoveNext
End IfLoopMsgBox ("DELETED FROM RESULT")Employee.RefreshEnd Sub
Private Sub FIRSTC_Click()
rs.MoveFirst
Text1.Text = rs!emp_noCombo1.Text = rs!emp_gradeText3.Text = rs!emp_name
Text10.Text = rs!departmentText4.Text = rs!designationText5.Text = rs!date_of_entryText6.Text = rs!QUALIFICATIONText7.Text = rs!date_of_BIRTHText8.Text = rs!ageText9.Text = rs!sexEnd Sub
Private Sub Form_Load()Set Db = New ADODB.ConnectionDim fconnect As Stringfconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = PROJECT"
Db.Open fconnect
Set rs = New ADODB.Recordsetrs.CursorType = adOpenStaticrs.CursorLocation = adUseClientrs.LockType = adLockPessimisticrs.Source = ("select * from employee_details")Set rs.ActiveConnection = Db
rs.Open
rs.MoveFirst
Text1.Text = rs!emp_noCombo1.Text = rs!emp_gradeText3.Text = rs!emp_nameText10.Text = rs!departmentText4.Text = rs!designationText5.Text = rs!date_of_entryText6.Text = rs!QUALIFICATIONText7.Text = rs!date_of_BIRTHText8.Text = rs!ageText9.Text = rs!sexnavig (False)Text1.Enabled = False
SAVC.Enabled = False
Set rs1 = New ADODB.Recordsetrs1.CursorType = adOpenStatic
rs1.CursorLocation = adUseClientrs1.LockType = adLockPessimisticrs1.Source = "select * from personal_details"Set rs1.ActiveConnection = Db
rs1.Open
Set rs2 = New ADODB.Recordsetrs2.CursorType = adOpenStaticrs2.CursorLocation = adUseClientrs2.LockType = adLockPessimisticrs2.Source = ("select * from work_details")Set rs2.ActiveConnection = Db
rs2.Open
Set rs4 = New ADODB.Recordsetrs4.CursorType = adOpenStaticrs4.CursorLocation = adUseClientrs4.LockType = adLockPessimisticrs4.Source = ("select * from review_details")Set rs4.ActiveConnection = Db
rs4.Open
Set rs5 = New ADODB.Recordsetrs5.CursorType = adOpenStaticrs5.CursorLocation = adUseClientrs5.LockType = adLockPessimisticrs5.Source = ("select * from result_details")Set rs5.ActiveConnection = Dbrs5.OpenEnd Sub
Public Sub navig(s As Boolean)Text1.Enabled = sCombo1.Enabled = sText3.Enabled = sText4.Enabled = sText5.Enabled = sText6.Enabled = sText7.Enabled = sText8.Enabled = sText9.Enabled = sText10.Enabled = sEnd Sub
Public Sub clear()Text1.Text = ""Combo1.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""End Sub
Public Sub check()If Text1.Text = "" Or Combo1.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text9.Text = "" Or Text10.Text = "" Then
g = FalseElse: g = TrueEnd IfEnd Sub
Public Sub inserting()rs!emp_no = Text1.Textrs!emp_name = Text3.Textrs!emp_grade = Combo1.Textrs!department = Text10.Textrs!designation = Text4.Textrs!date_of_entry = Text5.Textrs!QUALIFICATION = Text6.Textrs!date_of_BIRTH = Text7.Textrs!age = Text8.Textrs!sex = Text9.TextEnd Sub
Private Sub LASTC_Click()
rs.MoveLast
Text1.Text = rs!emp_noCombo1.Text = rs!emp_grade
Text3.Text = rs!emp_nameText10.Text = rs!departmentText4.Text = rs!designationText5.Text = rs!date_of_entryText6.Text = rs!QUALIFICATIONText7.Text = rs!date_of_BIRTHText8.Text = rs!ageText9.Text = rs!sexEnd Sub
Private Sub MSFlexGrid1_Click()Dim numb As Integernumb = 0numb = MSFlexGrid1.RowMsgBox numbbac1 = MSFlexGrid1.TextMatrix(numb, 1)MsgBox bac1End Sub
Private Sub NEXTC_Click()If rs.EOF = False Then
rs.MoveNextEnd IfIf rs.EOF = True Then
rs.MovePreviousMsgBox ("YOU ARE WATCHING THE LAST RECORD")
End IfText1.Text = rs!emp_noCombo1.Text = rs!emp_gradeText3.Text = rs!emp_nameText10.Text = rs!departmentText4.Text = rs!designationText5.Text = rs!date_of_entryText6.Text = rs!QUALIFICATIONText7.Text = rs!date_of_BIRTHText8.Text = rs!ageText9.Text = rs!sexEnd Sub
Private Sub PREVC_Click()
rs.MovePrevious
If rs.BOF = True Thenrs.MoveFirstMsgBox ("YOU ARE WATCHING THE FIRST RECORD")
End IfText1.Text = rs!emp_noCombo1.Text = rs!emp_gradeText3.Text = rs!emp_nameText10.Text = rs!departmentText4.Text = rs!designationText5.Text = rs!date_of_entryText6.Text = rs!QUALIFICATIONText7.Text = rs!date_of_BIRTHText8.Text = rs!ageText9.Text = rs!sexEnd Sub
Private Sub SAVC_Click()Command1.Enabled = TruecheckIf g = True Then
rs.AddNewinsertingrs.Update
ElseIf g = False ThenMsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH
OUT"End IfSAVC.Enabled = FalseEnd Sub
Private Sub combo1_Validate(Cancel As Boolean)If Combo1.Text = "" Then
MsgBox "EMPTY FIELD", vbInformation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text10_KeyPress(KeyAscii As Integer)Dim OP As StringDim comp As Booleancomp = Chr(KeyAscii) Like "[A-Z a-z]"If comp = False And KeyAscii <> 8 And KeyAscii <> 13 And KeyAscii <> 32 Then
KeyAscii = 0
RES = MsgBox("ENTER ONLY CHARACTERS", vbOKOnly, "error")End IfEnd Sub
Private Sub Text10_Validate(Cancel As Boolean)If Text10.Text = "" Then
MsgBox "EMPTY FIELD", vbInformation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)Dim OP As StringDim comp As Booleancomp = Chr(KeyAscii) Like "[A-Z a-z]"If comp = False And KeyAscii <> 8 And KeyAscii <> 13 And KeyAscii <> 32 Then
KeyAscii = 0RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error")
End IfEnd Sub
Private Sub Text3_Validate(Cancel As Boolean)If Text3.Text = "" Then
MsgBox "EMPTY FIELD", vbInformation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)Dim OP As StringDim comp As Booleancomp = Chr(KeyAscii) Like "[A-Z a-z]"If comp = False And KeyAscii <> 8 And KeyAscii <> 13 And KeyAscii <> 32 Then
KeyAscii = 0RES = MsgBox("ENTER ONLY CHARACTERS", vbOKOnly, "error")
End IfEnd Sub
Private Sub Text4_Validate(Cancel As Boolean)If Text4.Text = "" Then
MsgBox "EMPTY FIELD", vbInformation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text5_LostFocus()Dim a As StringDim b As StringDim MON As Datea = Text5.Textb = Left(a, 2)d = Val(b)If d > 31 Then
MsgBox ("NOT VALID DATE")Text5.Text = ""Text5.SetFocus
Exit SubEnd Ifc = Mid(a, 4, 2)f = Val(c)If f > 12 Then
MsgBox ("MONTH NOT VALID")Text5.Text = ""Text5.SetFocus
Exit SubEnd Ifk = Right(a, 2)m = Val(k)If m > 2001 Then
MsgBox ("NOT VALID YEAR")Text5.Text = ""Text5.SetFocusExit Sub
End If
If Len(Format(a, "DD/MM/YYYY")) <> 10 ThenMsgBox "wrong format"Text5.Text = ""Text5.SetFocus
Elsefg = Format(Now, "DD/MM/YYYY")If MON > fg Then
MsgBox ("DATE SHOULD NOT BE MORE THAN SYSTEM DATE")
Text5.Text = ""Text5.SetFocus
End IfEnd If
Exit SubEnd Sub
Private Sub Text5_Validate(Cancel As Boolean)If Text5.Text = "" Then
MsgBox "EMPTY FIELD", vbInformation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text6_Validate(Cancel As Boolean)If Text6.Text = "" Then
MsgBox "EMPTY FIELD", vbInformation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text7_LostFocus()Dim a As StringDim b As StringDim MON As Datea = Text7.Textb = Left(a, 2)d = Val(b)
If d > 31 ThenMsgBox ("NOT VALID DATE")Text7.Text = ""Text7.SetFocusExit Sub
End If
c = Mid(a, 4, 2)f = Val(c)
If f > 12 ThenMsgBox ("MONTH NOT VALID")Text7.Text = ""
Text7.SetFocusExit Sub
End If
k = Right(a, 2)m = Val(k)If m > 2001 Then
MsgBox ("NOT VALID YEAR")Text7.Text = ""Text7.SetFocusExit Sub
End If
If MON = Len(Format(a, "DD/MM/YYYY")) > 10 ThenMsgBox "wrong format"Text7.Text = ""Text7.SetFocus
Elsefg = Format(Now, "DD/MM/YYYY")u = Year(Format(a, "DD/MM/YYYY"))MsgBox uv = Year(fg)MsgBox vX = v - uText8.Text = X
If MON > fg ThenMsgBox ("DATE SHOULD NOT BE MORE THAN SYSTEM
DATE")Text7.Text = ""Text7.SetFocus
End IfEnd If
Exit Subu = Year(MON)v = Year(fg)X = v - uText8.Text = XEnd Sub
Private Sub Text7_Validate(Cancel As Boolean)If Text7.Text = "" Then
MsgBox "EMPTY FIELD", vbInformation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text9_KeyPress(KeyAscii As Integer)If KeyAscii <> 70 And KeyAscii <> 77 Then
KeyAscii = 0MsgBox ("ENTER [F] FOR FEMALE OR [M] FOR MALE")
End IfEnd Sub
Private Sub Text9_LostFocus()Dim j As StringDim out As Date
rs.MoveLast
X = rs!emp_noh = Left(X, 1)Y = Right(X, 1)t = Val(Y)Y = Y + 1j = Text5.Textout = Format(j, "dd/mm/yyyy")ref = CDate(out)l = Month(out)'P = Val(l)r = Year(out)'F = Val(r)Text1.Text = h & l & r & YEnd Sub
Private Sub Text9_Validate(Cancel As Boolean)If Text9.Text = "" Then
MsgBox "EMPTY FIELD", vbInformation, "ERROR"Cancel = True
End IfEnd Sub
REVIEW GRID FORM
Dim WithEvents rs As ADODB.RecordsetDim WithEvents rs2 As ADODB.RecordsetDim WithEvents rs6 As ADODB.RecordsetPrivate Sub Form_Load()Dim h As StringSet Db = New ADODB.ConnectionDim fconnect As Stringfconnect = "DRIVER = msdasql.1;" & " UID = scott;" & " PWD = tiger;" & " data source = project"
Db.Open fconnect
Set rs6 = New ADODB.Recordset
rs6.CursorType = adOpenStaticrs6.CursorLocation = adUseClientrs6.LockType = adLockOptimisticf = "select * from work_details "rs6.Source = fSet rs6.ActiveConnection = Db
rs6.Open
rs6.MoveFirstg = 0Do While Not rs6.EOF
g = g + 1rs6.MoveNext
Loop'MsgBox gi = 1MSFlexGrid1.Cols = 5MSFlexGrid1.Rows = Val(g + 1)
MSFlexGrid1.TextMatrix(0, 0) = "SR No."MSFlexGrid1.TextMatrix(0, 1) = "WORK_ID"MSFlexGrid1.TextMatrix(0, 2) = "NAME"MSFlexGrid1.TextMatrix(0, 3) = "GRADE"MSFlexGrid1.TextMatrix(0, 4) = "REPORTING OFFICER"MSFlexGrid1.AllowBigSelection = FalseMSFlexGrid1.SelectionMode = flexSelectionByRow'MSFlexGrid1.DragMode = 1
MSFlexGrid1.AllowUserResizing = flexResizeBoth
rs6.MoveFirst
For k = 1 To gMSFlexGrid1.TextMatrix(k, 0) = Val(k)MSFlexGrid1.TextMatrix(k, 1) = rs6!work_idMSFlexGrid1.TextMatrix(k, 2) = rs6!NameMSFlexGrid1.TextMatrix(k, 3) = rs6!grade
' MSFlexGrid1.TextMatrix(k, 4) = rs6!reporting_officer_id
On Error GoTo 20:
rs6.MoveNext
Next20: Exit SubEnd Sub
Private Sub MSFlexGrid1_Click()Dim a As Integera = MSFlexGrid1.RowMsgBox ab = MSFlexGrid1.TextMatrix(a, 1)MsgBox bEnd Sub
MDI FROM
Dim WithEvents rs13 As ADODB.Recordset
Private Sub admin_Click()Load PasswordPassword.ShowEnd Sub
Private Sub MDIForm_Load()reporting.Visible = True
On Error GoTo 20Set Db = New ADODB.ConnectionDim fconnect As String
fconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = PROJECT"Db.open fconnectSet rs13 = New ADODB.Recordsetrs13.CursorType = adOpenStaticrs13.CursorLocation = adUseClientrs13.LockType = adLockPessimisticf = "select * from work_details"rs13.Source = fSet rs13.ActiveConnection = Dbrs13.open
rs13.MoveFirstg = 0Do While Not rs13.EOF
G = g + 1rs13.MoveNext
Loop'MsgBox gIf g >= 1 Then
Load (GRIDF)GRIDF.Show
Else: GoTo 2020:Exit Sub
End IfEnd Sub
Private Sub official_Click()Load EmployeeEmployee.ShowEnd Sub
Private Sub p_Click()points.ShowEnd Sub
Private Sub personal1_Click()Load PersonalPersonal.ShowEnd Sub
Private Sub points_Click()points.ShowEnd Sub
Private Sub reporting_Click()report.ShowEnd Sub
Private Sub SA_Click()allocate.ShowEnd Sub
Private Sub SS_Click()schedule.ShowEnd Sub
Private Sub WK_Click()Work.ShowEnd Sub
PASSWORD FORM
Dim WithEvents rs As ADODB.RecordsetDim d As Integer
Private Sub Command2_Click()EndEnd Sub
Private Sub Form_Load()Set Db = New ADODB.ConnectionDim fconnect As Stringfconnect = "DRIVER =MSDASQL.1 ;" & " UID = scott;" & " PWD = tiger;" & " data source = PROJECT"
Db.open fconnect
Set rs = New ADODB.Recordsetrs.CursorType = adOpenStaticrs.CursorLocation = adUseClientrs.LockType = adLockOptimisticrs.Source = ("select * from admin")
Set rs.ActiveConnection = Db
rs.open
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)Dim OP As StringDim comp As Booleancomp = Chr(KeyAscii) Like "[A-Z a-z]"If comp = False And KeyAscii <> 8 And KeyAscii <> 13 And KeyAscii <> 32 Then
KeyAscii = 0RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error")
End IfEnd Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)Dim OP As StringDim comp As Booleancomp = Chr(KeyAscii) Like "[A-Z a-z]"If comp = False And KeyAscii <> 8 And KeyAscii <> 13 And KeyAscii <> 32 Then
KeyAscii = 0RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error")
End IfEnd Sub
Private Sub Text1_Validate(Cancel As Boolean)If Text1.Text = "" Then
MsgBox "EMPTY FIELD", vbInformation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text2_Validate(Cancel As Boolean)
If Text2.Text = "" ThenMsgBox "EMPTY FIELD", vbInformation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Command1_Click()
rs.MoveFirst
Do Until rs.EOFIf (Text1.Text = rs!userid) And (Text2.Text = rs!Password) Then
review.ShowMe.HideExit Sub
End Ifrs.MoveNextLoopIf i = 3 Then
MsgBox "invalid user login!", vbOKOnly, "logon"MsgBox "login failed", vbOKOnly, "logon"End
End IfMsgBox "invalid user login try again!", vbOKOnly, "logon"Text2.Text = ""Text2.SetFocusi = i + 1End Sub
PERSONAL DETAIL FORM
Dim WithEvents rs1 As ADODB.RecordsetDim WithEvents rs As ADODB.RecordsetDim i As IntegerDim g As Boolean
Private Sub Command1_Click()Work.ShowEnd Sub
Private Sub Command2_Click()Unload PersonalEnd Sub
Private Sub FIRSTC_Click()
rs.MoveFirst
Text1.Text = rs!emp_noText2.Text = rs!AddressText3.Text = rs!cityText4.Text = rs!countryText5.Text = rs!zip_codeText6.Text = rs!phoneText7.Text = rs!e_mailEnd Sub
Private Sub Form_Load()Set Db = New ADODB.ConnectionDim fconnect As Stringfconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = project"
Db.open fconnect
Set rs = New ADODB.RecordsetSet rs1 = New ADODB.Recordsetrs.CursorType = adOpenStaticrs.CursorLocation = adUseClientrs.LockType = adLockPessimisticrs1.Source = ("select * from employee_details")rs.Source = ("select * from personal_details")
Set rs.ActiveConnection = DbSet rs1.ActiveConnection = Db
rs.open
rs1.open
Do While rs1.EOF = FalseCombo1.AddItem rs1!emp_nors1.MoveNext
Loop
SAVC.Enabled = TrueEnd Sub
Public Sub check()If Combo1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Then
g = FalseElse: g = True
End IfEnd Sub
Public Sub inserting()rs!emp_no = Combo1.Textrs!Address = Text2.Textrs!city = Text3.Textrs!country = Text4.Textrs!zip_code = Text5.Textrs!phone = Text6.Textrs!e_mail = Text7.TextEnd Sub
Private Sub LASC_Click()
rs1.MoveLast
Text1.Text = rs1!emp_noText2.Text = rs1!AddressText3.Text = rs1!cityText4.Text = rs1!countryText5.Text = rs1!zip_codeText6.Text = rs1!phoneText7.Text = rs1!e_mailEnd Sub
Private Sub NEXC_Click()If rs1.EOF = False Then
rs1.MoveNext
End IfIf rs1.EOF = True Then
MsgBox ("THIS IS THE LAST RECORD")
ElseText1.Text = rs1!emp_noText2.Text = rs1!AddressText3.Text = rs1!cityText4.Text = rs1!countryText5.Text = rs1!zip_codeText6.Text = rs1!phoneText7.Text = rs1!e_mail
End IfEnd Sub
Private Sub PREVC_Click()
rs1.MovePreviousIf rs1.BOF = True Then
rs1.MoveFirstMsgBox ("YOU ARE VIEWING THE FIRST RECORD")
End IfText1.Text = rs1!emp_noText2.Text = rs1!AddressText3.Text = rs1!cityText4.Text = rs1!countryText5.Text = rs1!zip_codeText6.Text = rs1!phoneText7.Text = rs1!e_mailEnd Sub
Private Sub SAVC_Click()Command1.Enabled = TruecheckIf g = True Then
rs.AddNewinsertingrs.Update
ElseIf g = False ThenMsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH
OUT"End IfclearEnd Sub
Public Sub navig(s As Boolean)Text1.Enabled = s
Text2.Enabled = sText3.Enabled = sText4.Enabled = sText5.Enabled = sText6.Enabled = sText7.Enabled = sEnd Sub
Public Sub clear()Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)Dim OP As StringDim comp As Booleancomp = Chr(KeyAscii) Like "[A-Z a-z]"If comp = False And KeyAscii <> 8 And KeyAscii <> 13 And KeyAscii <> 32 Then
KeyAscii = 0RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error")
End IfEnd Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)Dim OP As StringDim comp As Booleancomp = Chr(KeyAscii) Like "[A-Z a-z]"If comp = False And KeyAscii <> 8 And KeyAscii <> 13 And KeyAscii <> 32 Then
KeyAscii = 0RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error")
End IfEnd Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)Dim OP As StringDim comp As Boolean
comp = Chr(KeyAscii) Like "[A-Z a-z]"If comp = False And KeyAscii <> 8 And KeyAscii <> 13 And KeyAscii <> 32 Then
KeyAscii = 0RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error")
End IfEnd Sub
Private Sub Text6_KeyPress(KeyAscii As Integer)If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0MsgBox ("ENTER ONLY NUMBERS")
End IfEnd Sub
Private Sub Text7_LostFocus()SAVC.Enabled = TrueEnd Sub
POINT FORM
Dim WithEvents rs9 As ADODB.RecordsetDim WithEvents rs10 As ADODB.RecordsetPrivate Sub Command2_Click()EndEnd Sub
Private Sub Form_Load()Set Db = New ADODB.ConnectionDim fconnect As Stringfconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = PROJECT"
Db.open fconnect
Set rs9 = New ADODB.Recordset
rs9.CursorType = adOpenStaticrs9.CursorLocation = adUseClientrs9.LockType = adLockOptimistic
rs9.Source = ("select * from result_details")Set rs9.ActiveConnection = Db
rs9.open
rs9.MoveFirstg = 0Do While Not rs9.EOF
g = g + 1rs9.MoveNext
LoopMsgBox gi = 1MSFlexGrid1.Cols = 13MSFlexGrid1.Rows = Val(g + 1)
MSFlexGrid1.TextMatrix(0, 0) = "SR. NO"MSFlexGrid1.TextMatrix(0, 1) = "EMP NO"MSFlexGrid1.TextMatrix(0, 2) = "JOB KNOWLEDGE"MSFlexGrid1.TextMatrix(0, 3) = "ORGANISING ABILITY"MSFlexGrid1.TextMatrix(0, 4) = "COST EFFECTIVENESS"MSFlexGrid1.TextMatrix(0, 5) = "TEAM EFFECTIVENESS"MSFlexGrid1.TextMatrix(0, 6) = "INITIATIVE"MSFlexGrid1.TextMatrix(0, 7) = "JUDGEMENT"MSFlexGrid1.TextMatrix(0, 8) = "ADAPTABILITY"MSFlexGrid1.TextMatrix(0, 9) = "DEVELOPMENT_OF_SUBORDINATES"MSFlexGrid1.TextMatrix(0, 10) = "COMMUNICATION_SKILL"MSFlexGrid1.TextMatrix(0, 11) = "PEER_RELATIONSHIP"MSFlexGrid1.TextMatrix(0, 12) = "Average"
MSFlexGrid1.AllowBigSelection = FalseMSFlexGrid1.SelectionMode = flexSelectionByRowMSFlexGrid1.AllowUserResizing = flexResizeBothrs9.MoveFirst
For k = 1 To g
MSFlexGrid1.TextMatrix(k, 0) = Val(k)MSFlexGrid1.TextMatrix(k, 1) = rs9!emp_noMSFlexGrid1.TextMatrix(k, 2) = rs9!JOB_KNOWLEDGEMSFlexGrid1.TextMatrix(k, 3) = rs9!ORGANISING_ABILITYMSFlexGrid1.TextMatrix(k, 4) = rs9!COST_EFFECTIVENESSMSFlexGrid1.TextMatrix(k, 5) = rs9!TEAM_EFFECTIVENESSMSFlexGrid1.TextMatrix(k, 6) = rs9!INITIATIVEMSFlexGrid1.TextMatrix(k, 7) = rs9!JUDGEMENTMSFlexGrid1.TextMatrix(k, 8) = rs9!ADAPTABILITY
MSFlexGrid1.TextMatrix(k, 9) = rs9!DEVELOPMENT_OF_SUBORDINATES
MSFlexGrid1.TextMatrix(k, 10) = rs9!COMMUNICATION_SKILLMSFlexGrid1.TextMatrix(k, 11) = rs9!PEER_RELATIONSHIPMSFlexGrid1.TextMatrix(k, 12) = rs9!Average
On Error GoTo 20:rs9.MoveNext
Next20: Exit SubEnd Sub
REPORT FORM
Private Sub Command1_Click()DataReport1.ShowEnd Sub
Private Sub Command2_Click()DataReport2.ShowEnd Sub
Private Sub Command3_Click()DataReport3.ShowEnd Sub
Private Sub Command4_Click()DataReport4.ShowEnd Sub
Private Sub Command5_Click()DataReport4.ShowEnd Sub
Private Sub Command6_Click()End
End Sub
Private Sub Command7_Click()DataReport6.ShowEnd Sub
Private Sub Command8_Click()DataReport7.ShowEnd Sub
RESULT FORM
Dim WithEvents rs As ADODB.RecordsetDim WithEvents rs5 As ADODB.RecordsetDim g As Boolean
Private Sub Combo1_Change()Dim str As Stringstr = Combo1.Text
rs.MoveFirst
Do While rs.EOF = FalseCombo1.Text = rs!emp_noIf str = rs!emp_no Then
Text2.Text = rs!work_idText3.Text = rs!TargetText7.Text = rs!review_date
Exit SubElse:
rs.MoveNextEnd If
LoopEnd Sub
Private Sub Command1_Click()Unload Resultreview.Show
End Sub
Private Sub Form_Load()Set Db = New ADODB.ConnectionDim fconnect As Stringfconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = PROJECT"
Db.open fconnect
Set rs5 = New ADODB.Recordsetrs5.CursorType = adOpenStaticrs5.CursorLocation = adUseClientrs5.LockType = adLockPessimisticrs5.Source = ("select * from result_details")Set rs5.ActiveConnection = Db
rs5.open
Set rs = New ADODB.Recordsetrs.CursorType = adOpenStaticrs.CursorLocation = adUseClientrs.LockType = adLockPessimisticrs.Source = ("select * from employee_details")Set rs.ActiveConnection = Db
rs.open
Combo1.Text = rs!emp_noSAVC.Enabled = TrueCommand1.Enabled = FalseEnd Sub
Public Sub check()If Combo1.Text = "" Or Text3.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text9.Text = "" Or Text10.Text = "" Or Text11.Text = "" Or Text12.Text = "" Or Text13.Text = "" Then
g = FalseElse: g = True
End IfEnd Sub
Public Sub inserting()
rs5!emp_no = Combo1.Textrs5!Average = Text3.Textrs5!JOB_KNOWLEDGE = Text5.Textrs5!ORGANISING_ABILITY = Text6.Textrs5!COST_EFFECTIVENESS = Text7.Textrs5!TEAM_EFFECTIVENESS = Text8.Textrs5!INITIATIVE = Text9.Textrs5!JUDGEMENT = Text10.Textrs5!ADAPTABILITY = Text11.Textrs5!DEVELOPMENT_OF_SUBORDINATES = Text14.Textrs5!COMMUNICATION_SKILL = Text12.Textrs5!PEER_RELATIONSHIP = Text13.TextEnd Sub
Private Sub SAVC_Click()Command1.Enabled = TruecheckIf g = True Then
rs5.AddNewinsertingrs5.Update
ElseIf g = False ThenMsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH
OUT"End IfSAVC.Enabled = FalseEnd Sub
Private Sub Text10_KeyPress(KeyAscii As Integer)If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0MsgBox ("ENTER ONLY NUMBERS")
End IfEnd Sub
Private Sub Text10_Validate(Cancel As Boolean)If Text10.Text = "" Then
MsgBox "EMPTY FIELD", vbExclamation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text11_KeyPress(KeyAscii As Integer)If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0MsgBox ("ENTER ONLY NUMBERS")
End IfEnd Sub
Private Sub Text11_Validate(Cancel As Boolean)If Text11.Text = "" Then
MsgBox "EMPTY FIELD", vbExclamation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text12_KeyPress(KeyAscii As Integer)If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0MsgBox ("ENTER ONLY NUMBERS")
End IfEnd Sub
Private Sub Text12_Validate(Cancel As Boolean)If Text12.Text = "" Then
MsgBox "EMPTY FIELD", vbExclamation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text13_KeyPress(KeyAscii As Integer)If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0MsgBox ("ENTER ONLY NUMBERS")
End IfEnd Sub
Private Sub Text13_Validate(Cancel As Boolean)If Text13.Text = "" Then
MsgBox "EMPTY FIELD", vbExclamation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text14_KeyPress(KeyAscii As Integer)If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0MsgBox ("ENTER ONLY NUMBERS")
End IfEnd Sub
Private Sub Text14_LostFocus()d = Val(Text5.Text) + Val(Text6.Text) + Val(Text7.Text) + Val(Text8.Text) + Val(Text9.Text) + Val(Text10.Text) + Val(Text11.Text) + Val(Text12.Text) + Val(Text13.Text) + Val(Text14.Text)Text3.Text = d / 10End Sub
Private Sub Text14_Validate(Cancel As Boolean)If Text14.Text = "" Then
MsgBox "EMPTY FIELD", vbExclamation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text5_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 ThenKeyAscii = 0MsgBox ("ENTER ONLY NUMBERS")
End IfEnd Sub
Private Sub Text5_Validate(Cancel As Boolean)If Text5.Text = "" Then
MsgBox "EMPTY FIELD", vbExclamation, "ERROR"Cancel = True
End If
Private Sub Text6_KeyPress(KeyAscii As Integer)If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0MsgBox ("ENTER ONLY NUMBERS")
End If
End Sub
Private Sub Text6_Validate(Cancel As Boolean)If Text6.Text = "" Then
MsgBox "EMPTY FIELD", vbExclamation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text7_KeyPress(KeyAscii As Integer)If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0MsgBox ("ENTER ONLY NUMBERS")
End IfEnd Sub
Private Sub Text7_Validate(Cancel As Boolean)If Text7.Text = "" Then
MsgBox "EMPTY FIELD", vbExclamation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text8_KeyPress(KeyAscii As Integer)If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0MsgBox ("ENTER ONLY NUMBERS")
End IfEnd Sub
Private Sub Text8_Validate(Cancel As Boolean)If Text8.Text = "" Then
MsgBox "EMPTY FIELD", vbExclamation, "ERROR"Cancel = True
End IfEnd Sub
Private Sub Text9_KeyPress(KeyAscii As Integer)If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
MsgBox ("ENTER ONLY NUMBERS")End IfEnd Sub
Private Sub Text9_Validate(Cancel As Boolean)If Text9.Text = "" Then
MsgBox "EMPTY FIELD", vbExclamation, "ERROR"Cancel = True
End IfEnd Sub
REVIEW DETAILS FORM
Dim WithEvents rs As ADODB.RecordsetDim WithEvents rs1 As ADODB.RecordsetDim g As Boolean
Private Sub ADDC_Click()clearnavig (True)Text4.SetFocusSAVE.Enabled = TrueEnd Sub
Private Sub ADVC_Click()Result.ShowEnd Sub
Private Sub Combo2_Click()Dim str As Stringstr = Combo2.Text
rs.MoveFirst
Do While rs.EOF = FalseIf str = rs!emp_no Then
Text2.Text = rs!work_id
Text3.Text = rs!TargetsText7.Text = rs!review_dateExit Sub
Else: rs.MoveNextEnd If
LoopEnd Sub
Private Sub Form_Load()
Set Db = New ADODB.Connection
Dim fconnect As Stringfconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = PROJECT"
Db.open fconnect
Set rs = New ADODB.RecordsetSet rs1 = New ADODB.Recordset
rs.Source = ("select * from work_details")rs1.Source = ("select * from review_details")
Set rs.ActiveConnection = DbSet rs1.ActiveConnection = Db
rs.open
rs1.open
Do While rs.EOF = FalseCombo2.AddItem rs!emp_nors.MoveNext
Loop
navig (False)g = TrueSAVE.Enabled = TrueEnd Sub
Public Sub navig(s As Boolean)Combo2.Enabled = s
Text2.Enabled = sText3.Enabled = sText4.Enabled = sText5.Enabled = sText6.Enabled = sText7.Enabled = sText8.Enabled = sEnd Sub
Public Sub clear()Combo2.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""
End Sub
Public Sub check()If Combo2.Text = "" And Text2.Text = "" And Text3.Text = "" And Text4.Text = "" And Text5.Text = "" And Text6.Text = "" And Text7.Text = "" And Text8.Text = "" Then
g = FalseElse: g = TrueEnd IfEnd Sub
Private Sub SAVE_Click()search.Enabled = Truecheck
If g = True Thenrs1.AddNewinsertingrs1.Update
ElseIf g = False ThenMsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH
OUT"
End If
SAVE.Enabled = FalseEnd Sub
Public Sub inserting()rs1!emp_no = Combo2.Textrs1!work_id = Text2.Textrs1!per_done = Text5.Textrs1!Task_given = Text3.Textrs1!remarks = Text6.Textrs1!review_date = Text7.Textrs1!points = Text8.Textrs1!success = Text4.TextEnd Sub
Private Sub SEARCH_Click()Dim h As StringDim i As LongDim j As LongDim g As Longenab (False)
rs1.MoveFirst
g = 0
Do While Not rs1.EOFg = g + 1
rs1.MoveNext
LoopMsgBox gi = 1MSFlexGrid1.Cols = 9MSFlexGrid1.Rows = Val(g + 1)
MSFlexGrid1.TextMatrix(0, 0) = "SR.NO"MSFlexGrid1.TextMatrix(0, 1) = "EMPLOYEE NUMBER"MSFlexGrid1.TextMatrix(0, 2) = "WORK ID"MSFlexGrid1.TextMatrix(0, 3) = "TARGET"MSFlexGrid1.TextMatrix(0, 4) = "PERCENTAGE"MSFlexGrid1.TextMatrix(0, 5) = "REMARKS"
MSFlexGrid1.TextMatrix(0, 6) = "REVIEW DATE "MSFlexGrid1.TextMatrix(0, 7) = "POINTS"MSFlexGrid1.TextMatrix(0, 8) = "SUCESS"MSFlexGrid1.AllowBigSelection = FalseMSFlexGrid1.SelectionMode = flexSelectionByRow
MSFlexGrid1.AllowUserResizing = flexResizeBothrs1.MoveFirst
For k = 1 To gMSFlexGrid1.TextMatrix(k, 0) = Val(k)MSFlexGrid1.TextMatrix(k, 1) = rs1!emp_noMSFlexGrid1.TextMatrix(k, 2) = rs1!work_idMSFlexGrid1.TextMatrix(k, 3) = rs1!Task_givenMSFlexGrid1.TextMatrix(k, 4) = rs1!per_doneMSFlexGrid1.TextMatrix(k, 5) = rs1!remarksMSFlexGrid1.TextMatrix(k, 6) = rs1!review_dateMSFlexGrid1.TextMatrix(k, 7) = rs1!pointsMSFlexGrid1.TextMatrix(k, 8) = rs1!successOn Error GoTo 20:rs1.MoveNext
addc.Enabled = TrueNext20: Exit Subreview.RefreshEnd Sub
Public Sub enab(h As Boolean)addc.Enabled = hSAVE.Enabled = hEnd Sub
START FORM
Private Sub Command1_Click()Load MDIForm1MDIForm1.ShowEnd Sub
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Command1.ToolTipText = "Click To Start"End Sub
Private Sub Command2_Click()EndEnd Sub
Private Sub Command2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Command2.ToolTipText = "Click To End"End Sub
WORK FORM
Dim WithEvents rs As ADODB.RecordsetDim WithEvents rs1 As ADODB.RecordsetDim WithEvents rs2 As ADODB.RecordsetDim WithEvents rs3 As ADODB.RecordsetDim g As Boolean
Private Sub ADDC_Click()clearText1.Enabled = TrueText2.Enabled = TrueText2.Enabled = TrueText3.Enabled = TrueCombo2.Enabled = TrueText4.Enabled = TrueText5.Enabled = TrueText6.Enabled = TrueText7.Enabled = TrueCombo1.Enabled = TrueCombo3.Enabled = TrueEXITC.Enabled = TrueSAVC.Enabled = True
ADDC.Enabled = TrueEnd Sub
Private Sub Combo1_KeyPress(KeyAscii As Integer)MsgBox "read only", vbCritical, "ERROR"End Sub
Private Sub Combo2_Click()Dim str As Stringstr = Combo2.Textrs.MoveFirstDo While rs.EOF = False
If str = rs!emp_no ThenText2.Text = rs!emp_nameText3.Text = rs!emp_grade
Exit SubElse: rs.MoveNextEnd If
LoopEnd Sub
Private Sub EXITC_Click()Unload WorkLoad GRIDFGRIDF.ShowEnd Sub
Private Sub fistrc_Click()
rs2.MoveFirst
Combo2.Text = rs2!emp_noText1.Text = rs2!work_idText2.Text = rs2!NameText3.Text = rs2!gradeText4.Text = rs2!TargetsText5.Text = rs2!start_dateText6.Text = rs2!review_dateText7.Text = rs2!end_dateCombo1.Text = rs2!reporting_officer_idCombo3.Text = rs2!StatusEnd Sub
Private Sub Form_Load()Set Db = New ADODB.ConnectionDim fconnect As Stringfconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = project"Db.open fconnectSet rs = New ADODB.RecordsetSet rs1 = New ADODB.RecordsetSet rs2 = New ADODB.RecordsetSet rs3 = New ADODB.Recordset
rs.CursorType = adOpenStaticrs.CursorLocation = adUseClientrs.LockType = adLockPessimistic
rs1.CursorType = adOpenStaticrs1.CursorLocation = adUseClientrs1.LockType = adLockPessimistic
rs2.CursorType = adOpenStaticrs2.CursorLocation = adUseClientrs2.LockType = adLockPessimistic
rs3.CursorType = adOpenStaticrs3.CursorLocation = adUseClientrs3.LockType = adLockPessimistic
rs.Source = ("select * from employee_details")rs1.Source = ("select * from personal_details")rs2.Source = ("select * from work_details")rs3.Source = ("select * from review_officer")
Set rs.ActiveConnection = DbSet rs1.ActiveConnection = DbSet rs2.ActiveConnection = DbSet rs3.ActiveConnection = Db
rs.openrs1.openrs2.openrs3.open
Do While rs.EOF = FalseCombo2.AddItem rs!emp_no
rs.MoveNextLoop
Do While rs3.EOF = FalseCombo1.AddItem rs3!Namers3.MoveNext
Loopnavig (False)g = TrueSAVC.Enabled = FalseEnd Sub
Public Sub navig(s As Boolean)Combo2.Enabled = sText1.Enabled = sText2.Enabled = sText3.Enabled = sText4.Enabled = sText5.Enabled = sText6.Enabled = sText7.Enabled = sCombo1.Enabled = sCombo3.Enabled = sEnd Sub
Public Sub clear()Combo2.Text = ""Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Combo1.Text = ""Combo3.Text = ""End Sub
Private Sub LASTC_Click()
rs.MoveLast
Combo2.Text = rs2!emp_no
Text1.Text = rs2!work_idText2.Text = rs2!NameText3.Text = rs2!gradeText4.Text = rs2!TargetsText5.Text = rs2!start_dateText6.Text = rs2!review_dateText7.Text = rs2!end_dateCombo1.Text = rs2!reporting_officer_idCombo3.Text = rs2!StatusEnd Sub
Private Sub MODC_Click()
End Sub
Private Sub NEXTC_Click()
If rs2.EOF = False Thenrs2.MoveNext
End If
If rs2.EOF = True ThenMsgBox ("THIS IS THE LAST RECORD")
ElseCombo2.Text = rs2!emp_noText1.Text = rs2!work_idText2.Text = rs2!emp_nameText3.Text = rs2!gradeText4.Text = rs2!TargetText5.Text = rs2!start_dateText6.Text = rs2!review_dateText7.Text = rs2!end_dateCombo1.Text = rs2!repositing_office_idCombo3.Text = rs2!Status
End IfEnd Sub
Private Sub PREVC_Click()rs2.MovePrevious
If rs2.BOF = True Thenrs2.MoveFirstMsgBox ("YOU ARE VIEWING THE FIRST RECORD")
End If
Combo2.Text = rs2!emp_noText1.Text = rs2!work_idText2.Text = rs2!emp_nameText3.Text = rs2!gradeText4.Text = rs2!TargetText5.Text = rs2!start_dateText6.Text = rs2!review_dateText7.Text = rs2!end_dateCombo1.Text = rs2!repositing_office_idCombo3.Text = rs2!StatusEnd Sub
Public Sub inserting()rs2!emp_no = Combo2.Textrs2!work_id = Text1.Textrs2!Name = Text2.Textrs2!grade = Text3.Textrs2!Targets = Text4.Textrs2!start_date = Text5.Textrs2!review_date = Text6.Textrs2!end_date = Text7.Textrs2!reporting_officer_id = Combo1.Textrs2!Status = Combo3.TextEnd Sub
Private Sub SAVC_Click()SAVC.Enabled = TrueIf g = True Then
rs2.AddNewinsertingrs2.Updateclear
ElseIf g = False ThenMsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH
OUT"End IfEXITC.Enabled = TrueEnd Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)Dim OP As StringDim comp As Boolean
comp = Chr(KeyAscii) Like "[A-Z a-z]"If comp = False And KeyAscii <> 8 And KeyAscii <> 13 And KeyAscii <> 32 Then
KeyAscii = 0RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error")
End IfEnd Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)Dim OP As StringDim comp As Booleancomp = Chr(KeyAscii) Like "[A-Z a-z]"If comp = False And KeyAscii <> 8 And KeyAscii <> 13 And KeyAscii <> 32 Then
KeyAscii = 0RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error")
End IfEnd Sub
Private Sub Text5_Click()Text5.Text = DateEnd Sub
Private Sub Text5_Validate(Cancel As Boolean)Dim a As StringDim b As StringDim MON As Datea = Text5.Textb = Left(a, 2)d = Val(b)If d > 31 Then
MsgBox ("NOT VALID DATE")Text5.Text = ""Text5.SetFocusCancel = TrueExit Sub
End Ifc = Mid(a, 4, 2)f = Val(c)If f > 12 Then
MsgBox ("MONTH NOT VALID")Text5.Text = ""Text5.SetFocus
Cancel = TrueExit Sub
End Ifk = Right(a, 2)m = Val(k)If m > 2001 Then
MsgBox ("NOT VALID YEAR")Text5.Text = ""Text5.SetFocusCancel = TrueExit Sub
End If
If Len(Format(a, "DD/MM/YYYY")) <> 10 ThenOn Error GoTo 10
MsgBox "wrong format"Text5.Text = ""Text5.SetFocusCancel = True
Elsefg = Format(Now, "DD/MM/YYYY")MON = Format(a, "DD/MM/YYYY")
If MON > fg ThenMsgBox ("DATE SHOULD NOT BE MORE THAN SYSTEM DATE")Text5.Text = ""Text5.SetFocusCancel = True10:MsgBox ("WRONG ENTRY")Exit Sub
End IfEnd IfExit SubEnd Sub
Private Sub Text6_Click()Text6.Text = DateEnd Sub
Private Sub Text6_Validate(Cancel As Boolean)Dim a As StringDim b As StringDim MON As Date
a = Text6.Textb = Left(a, 2)d = Val(b)If d > 31 Then
MsgBox ("NOT VALID DATE")Text6.Text = ""Text6.SetFocusCancel = TrueExit Sub
End If
c = Mid(a, 4, 2)f = Val(c)If f > 12 Then
MsgBox ("MONTH NOT VALID")Text6.Text = ""Text6.SetFocusCancel = TrueExit Sub
End If
k = Right(a, 2)m = Val(k)If m > 2001 Then
MsgBox ("NOT VALID YEAR")Text6.Text = ""Text6.SetFocusCancel = TrueExit Sub
End If
If Len(Format(a, "DD/MM/YYYY")) <> 10 ThenMsgBox "wrong format"Text6.Text = ""Text6.SetFocusCancel = True
Elsefg = Format(Now, "DD/MM/YYYY")MON = Format(A, "DD/MM/YYYY")If MON > fg Then
MsgBox ("DATE SHOULD NOT BE MORE THAN SYSTEM DATE")
Text6.Text = ""Text6.SetFocusCancel = True
End If
End IfExit SubEnd Sub
Private Sub Text7_Click()Text7.Text = DateEnd Sub
Private Sub Text7_Validate(Cancel As Boolean)Dim a As StringDim b As StringDim MON As Datea = Text7.Textb = Left(a, 2)d = Val(b)If d > 31 Then
MsgBox ("NOT VALID DATE")Text7.Text = ""Text7.SetFocusCancel = TrueExit Sub
End Ifc = Mid(a, 4, 2)f = Val(c)
If f > 12 ThenMsgBox ("MONTH NOT VALID")Text7.Text = ""Text7.SetFocusCancel = TrueExit Sub
End Ifk = Right(a, 2)m = Val(k)
If m > 2001 ThenMsgBox ("NOT VALID YEAR")Text7.Text = ""Text7.SetFocusCancel = TrueExit Sub
End If
If Len(Format(a, "DD/MM/YYYY")) <> 10 ThenMsgBox "wrong format"
Text7.Text = ""Text7.SetFocusCancel = True
Elsefg = Format(Now, "DD/MM/YYYY")MON = Format(a, "DD/MM/YYYY")If MON > fg Then
MsgBox ("DATE SHOULD NOT BE MORE THAN SYSTEM DATE")
Text7.Text = ""Text7.SetFocusCancel = True
End IfEnd IfExit SubEnd Sub
FUTURE SCOPE
Like all other systems this system will remain
feasible in the long run only if it provides the
solutions to the current and future needs of the call
centers and must be up to date as per the
requirement of the call centers, it should evolve
continually so as to incorporate the necessary
changes. In addition, changes in the hardware and
software platforms may also make it necessary to
port the current application to that specific platform.
ENHANCEMENT OF THE PROJECT
Further enhancement of the s/w will occur at the
time of its design phase.
The enhancement simply depends upon the
requirements that we face at the time of s/w
implementation.
The tables can be manipulated at the time of
database formation and its normalization.
The modules can also be changed at the time of
final s/w design under the principle of
modularity i.e. based on cohesion and coupling
factors.
Even we can make changes to the s/w of the call
center to make it compatible with the selected
software technology it means visual basic and
oracle-8.
LIMITATIONS OF THE PROJECT
The project I am making is a real life project;
still there are few loopholes, which should be
taken care in the long term. The project I am
making is used in fewer companies because it is
a traditional system of maintaining the
employee’s performances manually. So as and
when time changes few more details may be
required in this project, hence we have updated
it at regular interval of time. Few limitations
that I can oversee at this point of time are as
under: -
1. This application is for standalone machine.
2. Not used within a network.
3. Typical (Or as told by the clients).
4. Using backend as Oracle (it may or may not be
available at client end).
APPENDIX
Data Control :-The data control gives you access to database without any programming.
Module :-Modules are used to store procedure. Procedure stored in a module can be called from any part of the application. This is one method by which forms and procedures in different forms can exchange information.
Text Box:-This control displays that the user can edit.
Frame:-This control is used to draw boxes on the form and to group other
elements.
Command Button :-A common button represent an action that is carried out when the used
click the button.