call center management system

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

Upload: honestguy09

Post on 12-Nov-2014

8.103 views

Category:

Documents


0 download

DESCRIPTION

A great project about the management of a Call CenterA must download!!!

TRANSCRIPT

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.

BIBLIOGRAPHY

1. Complete Reference Visual Basic 6.0 - By Hebert Schild

2. Mastering Visual Basic 6.0 - By Evangelos Petroutsos

3. Visual Basic 6 from ground up - By Gary Cornell