Call Center Management System

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Call Center Management System as PDF for free.

More details

  • Words: 12,493
  • Pages: 125
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

TITLE

OF

THE

PROJECT

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

timetables.

different

project

in

different

• 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

technology.

visual

basic,

Visual

basic

and have

object

oriented

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

security With

its

features most

and

unique

reliable

data

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

distribution;

the

details

shift

of

allocated

project, and

work 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

requirement

design of

the

that shift

can

meet

allocation,

the 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

individual’s

involvement

by

investigating

(i.e.

contribution

the of

employee, its contribution to its department and that

of

evaluation

involvements

in

the

department) whole

Call

and

Center’s

their Shift

ALLOTMENT System. The information thus gathered plays

an

individuals

important needs

software system.

role

and

in

properly

expectations

defining from

the

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

administrative

get

support

in

the terms

technical of

the

and

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

Code Test

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

system

is

software

of

implemented

Employee using

management

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 submodules 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

Project Manger

Shift

Team Member

Project Distribution

Allotmen t Team Leader

System of

Time Allotment

Call center’s Supervisor Performance Grading

Shift Allocation

1ST LEVEL DFD Project Manger Project Distributio n

Time Allotment

‘n’ Controllin g

Project Work Distributio n

Team Supervisor Functional Bifurcatio n of modules Gantt Chart Formulatio n

Team Members Module Distribution & Controlling

Team Leader Team Work Distributio n

Function al Timetabl e

2ND LEVEL DFD

Project Manger

Shift Project Manger

Allocation Controlling Project wise Performance Grading

Team Members

Shift Chart Preparation

Best Team Member Selection Supervisors

Team Member Performance Grading

Team Leaders

Best Superviso r Selection

Supervisor

Module Wise Performance Grading

Notice Board Dispersio n

3rd LEVEL DFD Team Leader Best Team Leader Selection Assistant

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

Input

Processing logic

Output

Member

Registration

Employees

registratio

form

information

n Project

Project

Project

distributio

proposal

name, requirement and distribution

nam e

n

and form

detailed Team formation

details

like Project

time complexity

schedules

controlling Work

Work

Work details and their Work

distributio

distribution

schedule

n Time

form Work

supervisors for working Work weight age and Time

allotment

distribution

time

within time limit

to

required

team schedule list

to schedules,

a complete it with grace time period and other limits

tables

and Gant and pert

charts

Shift

Shift

Shift

allocation

preparation

allocating them to the

and

form

controlling

chart

display them on notice

Performance

boards etc Calculation

Employee and

or team

team form

formation

etc and Shift schedule

supervisors

performance

Performanc including

supervisor,

e grading

member

personal

to

of Selection for leader

best best and supervisor, leader,

and

member

professional

team

details

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

of

and

Login Name Emp id Password

TYPE VARCHAR2(10) VARCHAR2(8)

Employee Name Emp id Emp name Designation Team id Project id Shift id Module id

TYPE VARCHAR2(10) VARCHAR2(30) VARCHAR2(30) VARCHAR2(10) VARCHAR2(10) VARCHAR2(10) VARCHAR2(10)

Personal Name Emp id Emp name Address Contact no Age

TYPE VARCHAR2(10) VARCHAR2(30) VARCHAR2(30) VARCHAR2(10) VARCHAR2(10)

Work Name Project id Project name Work profile

TYPE VARCHAR2(10) VARCHAR2(30) VARCHAR2(100

Start date End date Project cost Supervisor id No of module

) Date Date Number VARCHAR2(10) Number

Shift Details Name TYPE Shift id VARCHAR2(10) Shift time Number Shift start Date

date Work id Shift

Number End Date

date

Points Name Emp id Module id Contribution Team sprit Leader ship Punctuality

TYPE VARCHAR2(10) VARCHAR2(30) Number Number Number Number

REPORT GENERATION • Employee details • Performance details • Shift allocation details • Work details • Shift schedule details

WELCOME FORM Private Sub Command1_Click() Load MDIForm1 MDIForm1.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.Recordset Dim WithEvents rs1 As ADODB.Recordset Dim WithEvents rs2 As ADODB.Recordset Dim g As Boolean Public Sub check() If Combo1.Text = "" Then g = False Else: g = True End If End Sub Public Sub enab(h As Boolean) Command1.Enabled = h End Sub

Private Sub Combo1_Change() Dim str As String str = Combo2.Text rs1.MoveFirst Do While rs1.EOF = False If str = rs1!shift_id Then Combo3.Text = rs1!work_id Exit Sub Else: rs1.MoveNext End If Loop End Sub Private Sub Form_Load() Set Db = New ADODB.Connection Dim fconnect As String fconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = project" Db.Open fconnect Set rs = New ADODB.Recordset rs.CursorType = adOpenStatic rs.CursorLocation = adUseClient rs.LockType = adLockPessimistic rs.Source = ("select * from shift_allocate ") Set rs.ActiveConnection = Db rs.Open Set rs1 = New ADODB.Recordset rs1.CursorType = adOpenStatic rs1.CursorLocation = adUseClient rs1.LockType = adLockPessimistic rs1.Source = ("select * from shift_details ") Set rs1.ActiveConnection = Db rs1.Open Set rs2 = New ADODB.Recordset rs2.CursorType = adOpenStatic rs2.CursorLocation = adUseClient rs2.LockType = adLockPessimistic rs2.Source = ("select * from employee_details ") Set rs2.ActiveConnection = Db rs2.Open Do While rs1.EOF = False Combo1.AddItem rs1!shift_id

rs1.MoveNext Loop Do While rs2.EOF = False Combo2.AddItem rs2!emp_no rs2.MoveNext Loop End Sub Public Sub inserting() rs!shift_id = Combo1.Text rs!emp_id = Combo2.Text rs!work_id = Combo3.Text End 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() check If g = True Then rs.AddNew inserting rs.Update clear Command1.Enabled = True ElseIf g = False Then MsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH OUT" End If MsgBox " Record have be entered sucessfully" End Sub

Private Sub Command5_Click() Command5.Enabled = True If rs.EOF = False Then rs.Delete rs.MoveNext MsgBox ("Record have been successfully deleted") Else MsgBox ("THERE IS NO MORE RECORD PRESENT ") End If End Sub Private Sub Command6_Click() MDIForm1.Show Me.Hide End Sub Private Sub Command1_Click() Dim h As String Dim i As Long Dim j As Long Dim g As Long enab (False) rs.MoveFirst g=0 Do While Not rs.EOF g=g+1 rs.MoveNext Loop MsgBox g MSFlexGrid1.Cols = 4 MSFlexGrid1.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 = False MSFlexGrid1.SelectionMode = flexSelectionByRow MSFlexGrid1.AllowUserResizing = flexResizeBoth rs.MoveFirst For k = 1 To g MSFlexGrid1.TextMatrix(k, 0) = Val(k) MSFlexGrid1.TextMatrix(k, 1) = rs!shift_id MSFlexGrid1.TextMatrix(k, 2) = rs!work_id

MSFlexGrid1.TextMatrix(k, 3) = rs!emp_id On Error GoTo 20: rs.MoveNext Next 20: Exit Sub allocate.Refresh End Sub

SHIFT SCHEDULE FORM Dim WithEvents rs As ADODB.Recordset Dim WithEvents rs1 As ADODB.Recordset Dim g As Boolean Public Sub check() If Text1.Text = "" Then g = False Else: g = True End If End Sub Public Sub enab(h As Boolean) Command1.Enabled = h End Sub Private Sub Form_Load() Set Db = New ADODB.Connection Dim fconnect As String fconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = project" Db.Open fconnect Set rs = New ADODB.Recordset rs.CursorType = adOpenStatic rs.CursorLocation = adUseClient rs.LockType = adLockPessimistic rs.Source = ("select * from shift_details") Set rs.ActiveConnection = Db rs.Open Set rs1 = New ADODB.Recordset rs1.CursorType = adOpenStatic rs1.CursorLocation = adUseClient rs1.LockType = adLockPessimistic rs1.Source = ("select * from work_details")

Set rs1.ActiveConnection = Db rs1.Open Do While rs1.EOF = False Combo1.AddItem rs1!work_id rs1.MoveNext Loop End 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() check If g = True Then rs.AddNew inserting rs.Update clear ElseIf g = False Then

MsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH OUT" End If MsgBox " Record have be entered sucessfully" End Sub Private Sub Command5_Click() Command5.Enabled = True If rs.EOF = False Then rs.Delete rs.MoveNext MsgBox ("Record have been successfully deleted") Else MsgBox ("THERE IS NO MORE RECORD PRESENT ") End If End Sub Private Sub Command6_Click() MDIForm1.Show Me.Hide End Sub Private Sub Command1_Click() Dim h As String Dim i As Long Dim j As Long Dim g As Long enab (False) rs.MoveFirst g=0 Do While Not rs.EOF g=g+1 rs.MoveNext Loop MsgBox g MSFlexGrid1.Cols = 6 MSFlexGrid1.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 = False MSFlexGrid1.SelectionMode = flexSelectionByRow MSFlexGrid1.AllowUserResizing = flexResizeBoth rs.MoveFirst For k = 1 To g MSFlexGrid1.TextMatrix(k, 0) = Val(k) MSFlexGrid1.TextMatrix(k, 1) = rs!shift_id MSFlexGrid1.TextMatrix(k, 2) = rs!work_id MSFlexGrid1.TextMatrix(k, 3) = rs!shift_time MSFlexGrid1.TextMatrix(k, 4) = rs!shift_start_date MSFlexGrid1.TextMatrix(k, 5) = rs!shift_end_date On Error GoTo 20: rs.MoveNext Next 20: Exit Sub schedule.Refresh End Sub

EMPLOYEE OFFICE DETAIL FORM Dim WithEvents rs As ADODB.Recordset Dim WithEvents rs1 As ADODB.Recordset Dim WithEvents rs2 As ADODB.Recordset Dim WithEvents rs4 As ADODB.Recordset Dim WithEvents rs5 As ADODB.Recordset Dim g As Boolean Private Sub ADDC_Click() clear navig (True) Text1.SetFocus Text8.Enabled = False SAVC.Enabled = True End Sub

Public Sub enab(h As Boolean) ADDC.Enabled = h SAVC.Enabled = h FIRSTC.Enabled = h NEXTC.Enabled = h PREVC.Enabled = h LASTC.Enabled = h End Sub Private Sub CANC_Click() enab (True) End Sub Private Sub Command1_Click() Dim h As String Dim i As Long Dim j As Long Dim g As Long enab (False) rs.MoveFirst g=0 Do While Not rs.EOF g=g+1 rs.MoveNext Loop MsgBox g MSFlexGrid1.Cols = 9 MSFlexGrid1.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 = False MSFlexGrid1.SelectionMode = flexSelectionByRow MSFlexGrid1.AllowUserResizing = flexResizeBoth rs.MoveFirst For k = 1 To g MSFlexGrid1.TextMatrix(k, 0) = Val(k)

MSFlexGrid1.TextMatrix(k, 1) = rs!emp_no MSFlexGrid1.TextMatrix(k, 2) = rs!emp_name MSFlexGrid1.TextMatrix(k, 3) = rs!emp_grade MSFlexGrid1.TextMatrix(k, 4) = rs!department MSFlexGrid1.TextMatrix(k, 5) = rs!designation MSFlexGrid1.TextMatrix(k, 6) = rs!date_of_entry MSFlexGrid1.TextMatrix(k, 7) = rs!age MSFlexGrid1.TextMatrix(k, 8) = rs!sex On Error GoTo 20: rs.MoveNext Next 20: Exit Sub Employee.Refresh End Sub Private Sub DELC_Click() DELC.Enabled = True rs.MoveFirst Do While Not rs.EOF If bac = rs!emp_no Then rs.Delete Exit Do Else rs.MoveNext End If Loop MsgBox ("DELETED FROM EMPLOYEE") rs1.MoveFirst Do While Not rs1.EOF If bac = rs1!emp_no Then rs1.Delete Exit Do Else rs1.MoveNext End If Loop MsgBox ("RECORD DELETED FROM PERSONAL") rs2.MoveFirst Do While Not rs2.EOF If bac = rs2!emp_no Then

rs2.Delete rs2.MoveNext Else rs2.MoveNext End If Loop MsgBox ("RECORDS DELETED FROM WORK") rs4.MoveFirst Do While Not rs4.EOF If bac = rs4!emp_no Then rs4.Delete Exit Do Else rs4.MoveNext End If Loop MsgBox ("DELETED FROM REVIEW") rs5.MoveFirst Do While Not rs5.EOF If bac = rs5!emp_no Then rs5.Delete Exit Do Else rs5.MoveNext End If Loop MsgBox ("DELETED FROM RESULT") Employee.Refresh End Sub Private Sub FIRSTC_Click() rs.MoveFirst Text1.Text = rs!emp_no Combo1.Text = rs!emp_grade Text3.Text = rs!emp_name Text10.Text = rs!department Text4.Text = rs!designation Text5.Text = rs!date_of_entry

Text6.Text = rs!QUALIFICATION Text7.Text = rs!date_of_BIRTH Text8.Text = rs!age Text9.Text = rs!sex End Sub Private Sub Form_Load() Set Db = New ADODB.Connection Dim fconnect As String fconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = PROJECT" Db.Open fconnect Set rs = New ADODB.Recordset rs.CursorType = adOpenStatic rs.CursorLocation = adUseClient rs.LockType = adLockPessimistic rs.Source = ("select * from employee_details") Set rs.ActiveConnection = Db rs.Open rs.MoveFirst Text1.Text = rs!emp_no Combo1.Text = rs!emp_grade Text3.Text = rs!emp_name Text10.Text = rs!department Text4.Text = rs!designation Text5.Text = rs!date_of_entry Text6.Text = rs!QUALIFICATION Text7.Text = rs!date_of_BIRTH Text8.Text = rs!age Text9.Text = rs!sex navig (False) Text1.Enabled = False SAVC.Enabled = False Set rs1 = New ADODB.Recordset rs1.CursorType = adOpenStatic rs1.CursorLocation = adUseClient rs1.LockType = adLockPessimistic rs1.Source = "select * from personal_details"

Set rs1.ActiveConnection = Db rs1.Open Set rs2 = New ADODB.Recordset rs2.CursorType = adOpenStatic rs2.CursorLocation = adUseClient rs2.LockType = adLockPessimistic rs2.Source = ("select * from work_details") Set rs2.ActiveConnection = Db rs2.Open Set rs4 = New ADODB.Recordset rs4.CursorType = adOpenStatic rs4.CursorLocation = adUseClient rs4.LockType = adLockPessimistic rs4.Source = ("select * from review_details") Set rs4.ActiveConnection = Db rs4.Open Set rs5 = New ADODB.Recordset rs5.CursorType = adOpenStatic rs5.CursorLocation = adUseClient rs5.LockType = adLockPessimistic rs5.Source = ("select * from result_details") Set rs5.ActiveConnection = Db rs5.Open End Sub Public Sub navig(s As Boolean) Text1.Enabled = s Combo1.Enabled = s Text3.Enabled = s Text4.Enabled = s Text5.Enabled = s Text6.Enabled = s Text7.Enabled = s Text8.Enabled = s Text9.Enabled = s Text10.Enabled = s End 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 = False Else: g = True End If End Sub Public Sub inserting() rs!emp_no = Text1.Text rs!emp_name = Text3.Text rs!emp_grade = Combo1.Text rs!department = Text10.Text rs!designation = Text4.Text rs!date_of_entry = Text5.Text rs!QUALIFICATION = Text6.Text rs!date_of_BIRTH = Text7.Text rs!age = Text8.Text rs!sex = Text9.Text End Sub Private Sub LASTC_Click() rs.MoveLast Text1.Text = rs!emp_no Combo1.Text = rs!emp_grade Text3.Text = rs!emp_name Text10.Text = rs!department Text4.Text = rs!designation

Text5.Text = rs!date_of_entry Text6.Text = rs!QUALIFICATION Text7.Text = rs!date_of_BIRTH Text8.Text = rs!age Text9.Text = rs!sex End Sub Private Sub MSFlexGrid1_Click() Dim numb As Integer numb = 0 numb = MSFlexGrid1.Row MsgBox numb bac1 = MSFlexGrid1.TextMatrix(numb, 1) MsgBox bac1 End Sub Private Sub NEXTC_Click() If rs.EOF = False Then rs.MoveNext End If If rs.EOF = True Then rs.MovePrevious MsgBox ("YOU ARE WATCHING THE LAST RECORD") End If Text1.Text = rs!emp_no Combo1.Text = rs!emp_grade Text3.Text = rs!emp_name Text10.Text = rs!department Text4.Text = rs!designation Text5.Text = rs!date_of_entry Text6.Text = rs!QUALIFICATION Text7.Text = rs!date_of_BIRTH Text8.Text = rs!age Text9.Text = rs!sex End Sub Private Sub PREVC_Click() rs.MovePrevious If rs.BOF = True Then rs.MoveFirst MsgBox ("YOU ARE WATCHING THE FIRST RECORD")

End If Text1.Text = rs!emp_no Combo1.Text = rs!emp_grade Text3.Text = rs!emp_name Text10.Text = rs!department Text4.Text = rs!designation Text5.Text = rs!date_of_entry Text6.Text = rs!QUALIFICATION Text7.Text = rs!date_of_BIRTH Text8.Text = rs!age Text9.Text = rs!sex End Sub Private Sub SAVC_Click() Command1.Enabled = True check If g = True Then rs.AddNew inserting rs.Update ElseIf g = False Then MsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH OUT" End If SAVC.Enabled = False End Sub Private Sub combo1_Validate(Cancel As Boolean) If Combo1.Text = "" Then MsgBox "EMPTY FIELD", vbInformation, "ERROR" Cancel = True End If End Sub Private Sub Text10_KeyPress(KeyAscii As Integer) Dim OP As String Dim 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 = 0 RES = MsgBox("ENTER ONLY CHARACTERS", vbOKOnly, "error") End If End Sub

Private Sub Text10_Validate(Cancel As Boolean) If Text10.Text = "" Then MsgBox "EMPTY FIELD", vbInformation, "ERROR" Cancel = True End If End Sub Private Sub Text3_KeyPress(KeyAscii As Integer) Dim OP As String Dim 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 = 0 RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error") End If End Sub Private Sub Text3_Validate(Cancel As Boolean) If Text3.Text = "" Then MsgBox "EMPTY FIELD", vbInformation, "ERROR" Cancel = True End If End Sub Private Sub Text4_KeyPress(KeyAscii As Integer) Dim OP As String Dim 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 = 0 RES = MsgBox("ENTER ONLY CHARACTERS", vbOKOnly, "error") End If End Sub Private Sub Text4_Validate(Cancel As Boolean) If Text4.Text = "" Then MsgBox "EMPTY FIELD", vbInformation, "ERROR" Cancel = True End If

End Sub Private Sub Text5_LostFocus() Dim a As String Dim b As String Dim MON As Date a = Text5.Text b = Left(a, 2) d = Val(b) If d > 31 Then MsgBox ("NOT VALID DATE") Text5.Text = "" Text5.SetFocus Exit Sub End If c = Mid(a, 4, 2) f = Val(c) If f > 12 Then MsgBox ("MONTH NOT VALID") Text5.Text = "" Text5.SetFocus Exit Sub End If k = Right(a, 2) m = Val(k) If m > 2001 Then MsgBox ("NOT VALID YEAR") Text5.Text = "" Text5.SetFocus Exit Sub End If If Len(Format(a, "DD/MM/YYYY")) <> 10 Then MsgBox "wrong format" Text5.Text = "" Text5.SetFocus Else fg = Format(Now, "DD/MM/YYYY") If MON > fg Then MsgBox ("DATE SHOULD NOT BE MORE THAN SYSTEM DATE") Text5.Text = "" Text5.SetFocus End If

End If Exit Sub End Sub Private Sub Text5_Validate(Cancel As Boolean) If Text5.Text = "" Then MsgBox "EMPTY FIELD", vbInformation, "ERROR" Cancel = True End If End Sub Private Sub Text6_Validate(Cancel As Boolean) If Text6.Text = "" Then MsgBox "EMPTY FIELD", vbInformation, "ERROR" Cancel = True End If End Sub Private Sub Text7_LostFocus() Dim a As String Dim b As String Dim MON As Date a = Text7.Text b = Left(a, 2) d = Val(b) If d > 31 Then MsgBox ("NOT VALID DATE") Text7.Text = "" Text7.SetFocus Exit Sub End If c = Mid(a, 4, 2) f = Val(c) If f > 12 Then MsgBox ("MONTH NOT VALID") Text7.Text = "" Text7.SetFocus Exit Sub End If

k = Right(a, 2) m = Val(k) If m > 2001 Then MsgBox ("NOT VALID YEAR") Text7.Text = "" Text7.SetFocus Exit Sub End If If MON = Len(Format(a, "DD/MM/YYYY")) > 10 Then MsgBox "wrong format" Text7.Text = "" Text7.SetFocus Else fg = Format(Now, "DD/MM/YYYY") u = Year(Format(a, "DD/MM/YYYY")) MsgBox u v = Year(fg) MsgBox v X=v-u Text8.Text = X If MON > fg Then MsgBox ("DATE SHOULD NOT BE MORE THAN SYSTEM DATE") Text7.Text = "" Text7.SetFocus End If End If Exit Sub u = Year(MON) v = Year(fg) X=v-u Text8.Text = X End Sub Private Sub Text7_Validate(Cancel As Boolean) If Text7.Text = "" Then MsgBox "EMPTY FIELD", vbInformation, "ERROR" Cancel = True End If End Sub

Private Sub Text9_KeyPress(KeyAscii As Integer) If KeyAscii <> 70 And KeyAscii <> 77 Then KeyAscii = 0 MsgBox ("ENTER [F] FOR FEMALE OR [M] FOR MALE") End If End Sub Private Sub Text9_LostFocus() Dim j As String Dim out As Date rs.MoveLast X = rs!emp_no h = Left(X, 1) Y = Right(X, 1) t = Val(Y) Y=Y+1 j = Text5.Text out = 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 & Y End Sub Private Sub Text9_Validate(Cancel As Boolean) If Text9.Text = "" Then MsgBox "EMPTY FIELD", vbInformation, "ERROR" Cancel = True End If End Sub

REVIEW GRID FORM Dim WithEvents rs As ADODB.Recordset Dim WithEvents rs2 As ADODB.Recordset Dim WithEvents rs6 As ADODB.Recordset Private Sub Form_Load() Dim h As String Set Db = New ADODB.Connection Dim fconnect As String fconnect = "DRIVER = msdasql.1;" & " UID = scott;" & " PWD = tiger;" & " data source = project" Db.Open fconnect Set rs6 = New ADODB.Recordset rs6.CursorType = adOpenStatic rs6.CursorLocation = adUseClient rs6.LockType = adLockOptimistic f = "select * from work_details " rs6.Source = f Set rs6.ActiveConnection = Db rs6.Open rs6.MoveFirst g=0 Do While Not rs6.EOF g=g+1 rs6.MoveNext Loop 'MsgBox g i=1 MSFlexGrid1.Cols = 5 MSFlexGrid1.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 = False MSFlexGrid1.SelectionMode = flexSelectionByRow 'MSFlexGrid1.DragMode = 1 MSFlexGrid1.AllowUserResizing = flexResizeBoth

rs6.MoveFirst For k = 1 To g MSFlexGrid1.TextMatrix(k, 0) = Val(k) MSFlexGrid1.TextMatrix(k, 1) = rs6!work_id MSFlexGrid1.TextMatrix(k, 2) = rs6!Name MSFlexGrid1.TextMatrix(k, 3) = rs6!grade ' MSFlexGrid1.TextMatrix(k, 4) = rs6!reporting_officer_id On Error GoTo 20: rs6.MoveNext Next 20: Exit Sub End Sub Private Sub MSFlexGrid1_Click() Dim a As Integer a = MSFlexGrid1.Row MsgBox a b = MSFlexGrid1.TextMatrix(a, 1) MsgBox b End Sub

MDI FROM Dim WithEvents rs13 As ADODB.Recordset Private Sub admin_Click() Load Password Password.Show End Sub Private Sub MDIForm_Load() reporting.Visible = True On Error GoTo 20 Set Db = New ADODB.Connection Dim fconnect As String fconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = PROJECT"

Db.open fconnect Set rs13 = New ADODB.Recordset rs13.CursorType = adOpenStatic rs13.CursorLocation = adUseClient rs13.LockType = adLockPessimistic f = "select * from work_details" rs13.Source = f Set rs13.ActiveConnection = Db rs13.open rs13.MoveFirst g=0 Do While Not rs13.EOF G=g+1 rs13.MoveNext Loop 'MsgBox g If g >= 1 Then Load (GRIDF) GRIDF.Show Else: GoTo 20 20: Exit Sub End If End Sub Private Sub official_Click() Load Employee Employee.Show End Sub Private Sub p_Click() points.Show End Sub Private Sub personal1_Click() Load Personal Personal.Show End Sub Private Sub points_Click() points.Show

End Sub Private Sub reporting_Click() report.Show End Sub Private Sub SA_Click() allocate.Show End Sub Private Sub SS_Click() schedule.Show End Sub Private Sub WK_Click() Work.Show End Sub

PASSWORD FORM Dim WithEvents rs As ADODB.Recordset Dim d As Integer Private Sub Command2_Click() End End Sub Private Sub Form_Load() Set Db = New ADODB.Connection Dim fconnect As String fconnect = "DRIVER =MSDASQL.1 ;" & " UID = scott;" & " PWD = tiger;" & " data source = PROJECT" Db.open fconnect Set rs = New ADODB.Recordset rs.CursorType = adOpenStatic rs.CursorLocation = adUseClient

rs.LockType = adLockOptimistic rs.Source = ("select * from admin") Set rs.ActiveConnection = Db rs.open End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) Dim OP As String Dim 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 = 0 RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error") End If End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) Dim OP As String Dim 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 = 0 RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error") End If End Sub Private Sub Text1_Validate(Cancel As Boolean) If Text1.Text = "" Then MsgBox "EMPTY FIELD", vbInformation, "ERROR" Cancel = True End If End Sub Private Sub Text2_Validate(Cancel As Boolean) If Text2.Text = "" Then MsgBox "EMPTY FIELD", vbInformation, "ERROR" Cancel = True

End If End Sub Private Sub Command1_Click() rs.MoveFirst Do Until rs.EOF If (Text1.Text = rs!userid) And (Text2.Text = rs!Password) Then review.Show Me.Hide Exit Sub End If rs.MoveNext Loop If i = 3 Then MsgBox "invalid user login!", vbOKOnly, "logon" MsgBox "login failed", vbOKOnly, "logon" End End If MsgBox "invalid user login try again!", vbOKOnly, "logon" Text2.Text = "" Text2.SetFocus i=i+1 End Sub

PERSONAL DETAIL FORM Dim WithEvents rs1 As ADODB.Recordset Dim WithEvents rs As ADODB.Recordset Dim i As Integer Dim g As Boolean Private Sub Command1_Click() Work.Show End Sub Private Sub Command2_Click() Unload Personal End Sub

Private Sub FIRSTC_Click() rs.MoveFirst Text1.Text = rs!emp_no Text2.Text = rs!Address Text3.Text = rs!city Text4.Text = rs!country Text5.Text = rs!zip_code Text6.Text = rs!phone Text7.Text = rs!e_mail End Sub Private Sub Form_Load() Set Db = New ADODB.Connection Dim fconnect As String fconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = project" Db.open fconnect Set rs = New ADODB.Recordset Set rs1 = New ADODB.Recordset rs.CursorType = adOpenStatic rs.CursorLocation = adUseClient rs.LockType = adLockPessimistic rs1.Source = ("select * from employee_details") rs.Source = ("select * from personal_details") Set rs.ActiveConnection = Db Set rs1.ActiveConnection = Db rs.open rs1.open Do While rs1.EOF = False Combo1.AddItem rs1!emp_no rs1.MoveNext Loop SAVC.Enabled = True End 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 = False Else: g = True End If End Sub Public Sub inserting() rs!emp_no = Combo1.Text rs!Address = Text2.Text rs!city = Text3.Text rs!country = Text4.Text rs!zip_code = Text5.Text rs!phone = Text6.Text rs!e_mail = Text7.Text End Sub Private Sub LASC_Click() rs1.MoveLast Text1.Text = rs1!emp_no Text2.Text = rs1!Address Text3.Text = rs1!city Text4.Text = rs1!country Text5.Text = rs1!zip_code Text6.Text = rs1!phone Text7.Text = rs1!e_mail End Sub Private Sub NEXC_Click() If rs1.EOF = False Then rs1.MoveNext End If If rs1.EOF = True Then MsgBox ("THIS IS THE LAST RECORD") Else Text1.Text = rs1!emp_no Text2.Text = rs1!Address Text3.Text = rs1!city

Text4.Text = rs1!country Text5.Text = rs1!zip_code Text6.Text = rs1!phone Text7.Text = rs1!e_mail End If End Sub Private Sub PREVC_Click() rs1.MovePrevious If rs1.BOF = True Then rs1.MoveFirst MsgBox ("YOU ARE VIEWING THE FIRST RECORD") End If Text1.Text = rs1!emp_no Text2.Text = rs1!Address Text3.Text = rs1!city Text4.Text = rs1!country Text5.Text = rs1!zip_code Text6.Text = rs1!phone Text7.Text = rs1!e_mail End Sub Private Sub SAVC_Click() Command1.Enabled = True check If g = True Then rs.AddNew inserting rs.Update ElseIf g = False Then MsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH OUT" End If clear End Sub Public Sub navig(s As Boolean) Text1.Enabled = s Text2.Enabled = s Text3.Enabled = s Text4.Enabled = s Text5.Enabled = s

Text6.Enabled = s Text7.Enabled = s End 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 String Dim 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 = 0 RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error") End If End Sub Private Sub Text3_KeyPress(KeyAscii As Integer) Dim OP As String Dim 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 = 0 RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error") End If End Sub Private Sub Text4_KeyPress(KeyAscii As Integer) Dim OP As String Dim 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 = 0

RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error") End If End Sub Private Sub Text6_KeyPress(KeyAscii As Integer) If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 MsgBox ("ENTER ONLY NUMBERS") End If End Sub Private Sub Text7_LostFocus() SAVC.Enabled = True End Sub

POINT FORM Dim WithEvents rs9 As ADODB.Recordset Dim WithEvents rs10 As ADODB.Recordset Private Sub Command2_Click() End End Sub Private Sub Form_Load() Set Db = New ADODB.Connection Dim fconnect As String fconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = PROJECT" Db.open fconnect Set rs9 = New ADODB.Recordset rs9.CursorType = adOpenStatic rs9.CursorLocation = adUseClient rs9.LockType = adLockOptimistic rs9.Source = ("select * from result_details") Set rs9.ActiveConnection = Db rs9.open

rs9.MoveFirst g=0 Do While Not rs9.EOF g=g+1 rs9.MoveNext Loop MsgBox g i=1 MSFlexGrid1.Cols = 13 MSFlexGrid1.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 = False MSFlexGrid1.SelectionMode = flexSelectionByRow MSFlexGrid1.AllowUserResizing = flexResizeBoth rs9.MoveFirst For k = 1 To g MSFlexGrid1.TextMatrix(k, 0) = Val(k) MSFlexGrid1.TextMatrix(k, 1) = rs9!emp_no MSFlexGrid1.TextMatrix(k, 2) = rs9!JOB_KNOWLEDGE MSFlexGrid1.TextMatrix(k, 3) = rs9!ORGANISING_ABILITY MSFlexGrid1.TextMatrix(k, 4) = rs9!COST_EFFECTIVENESS MSFlexGrid1.TextMatrix(k, 5) = rs9!TEAM_EFFECTIVENESS MSFlexGrid1.TextMatrix(k, 6) = rs9!INITIATIVE MSFlexGrid1.TextMatrix(k, 7) = rs9!JUDGEMENT MSFlexGrid1.TextMatrix(k, 8) = rs9!ADAPTABILITY MSFlexGrid1.TextMatrix(k, 9) = rs9! DEVELOPMENT_OF_SUBORDINATES MSFlexGrid1.TextMatrix(k, 10) = rs9!COMMUNICATION_SKILL MSFlexGrid1.TextMatrix(k, 11) = rs9!PEER_RELATIONSHIP

MSFlexGrid1.TextMatrix(k, 12) = rs9!Average On Error GoTo 20: rs9.MoveNext Next 20: Exit Sub End Sub

REPORT FORM Private Sub Command1_Click() DataReport1.Show End Sub Private Sub Command2_Click() DataReport2.Show End Sub Private Sub Command3_Click() DataReport3.Show End Sub Private Sub Command4_Click() DataReport4.Show End Sub Private Sub Command5_Click() DataReport4.Show End Sub Private Sub Command6_Click() End End Sub Private Sub Command7_Click() DataReport6.Show

End Sub Private Sub Command8_Click() DataReport7.Show End Sub

RESULT FORM Dim WithEvents rs As ADODB.Recordset Dim WithEvents rs5 As ADODB.Recordset Dim g As Boolean Private Sub Combo1_Change() Dim str As String str = Combo1.Text rs.MoveFirst Do While rs.EOF = False Combo1.Text = rs!emp_no If str = rs!emp_no Then Text2.Text = rs!work_id Text3.Text = rs!Target Text7.Text = rs!review_date Exit Sub Else: rs.MoveNext End If Loop End Sub Private Sub Command1_Click() Unload Result review.Show End Sub Private Sub Form_Load() Set Db = New ADODB.Connection Dim fconnect As String

fconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = PROJECT" Db.open fconnect Set rs5 = New ADODB.Recordset rs5.CursorType = adOpenStatic rs5.CursorLocation = adUseClient rs5.LockType = adLockPessimistic rs5.Source = ("select * from result_details") Set rs5.ActiveConnection = Db rs5.open Set rs = New ADODB.Recordset rs.CursorType = adOpenStatic rs.CursorLocation = adUseClient rs.LockType = adLockPessimistic rs.Source = ("select * from employee_details") Set rs.ActiveConnection = Db rs.open Combo1.Text = rs!emp_no SAVC.Enabled = True Command1.Enabled = False End 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 = False Else: g = True End If End Sub Public Sub inserting() rs5!emp_no = Combo1.Text rs5!Average = Text3.Text rs5!JOB_KNOWLEDGE = Text5.Text rs5!ORGANISING_ABILITY = Text6.Text rs5!COST_EFFECTIVENESS = Text7.Text rs5!TEAM_EFFECTIVENESS = Text8.Text

rs5!INITIATIVE = Text9.Text rs5!JUDGEMENT = Text10.Text rs5!ADAPTABILITY = Text11.Text rs5!DEVELOPMENT_OF_SUBORDINATES = Text14.Text rs5!COMMUNICATION_SKILL = Text12.Text rs5!PEER_RELATIONSHIP = Text13.Text End Sub Private Sub SAVC_Click() Command1.Enabled = True check If g = True Then rs5.AddNew inserting rs5.Update ElseIf g = False Then MsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH OUT" End If SAVC.Enabled = False End Sub Private Sub Text10_KeyPress(KeyAscii As Integer) If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 MsgBox ("ENTER ONLY NUMBERS") End If End Sub Private Sub Text10_Validate(Cancel As Boolean) If Text10.Text = "" Then MsgBox "EMPTY FIELD", vbExclamation, "ERROR" Cancel = True End If End Sub Private Sub Text11_KeyPress(KeyAscii As Integer) If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 MsgBox ("ENTER ONLY NUMBERS") End If End Sub

Private Sub Text11_Validate(Cancel As Boolean) If Text11.Text = "" Then MsgBox "EMPTY FIELD", vbExclamation, "ERROR" Cancel = True End If End Sub Private Sub Text12_KeyPress(KeyAscii As Integer) If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 MsgBox ("ENTER ONLY NUMBERS") End If End Sub Private Sub Text12_Validate(Cancel As Boolean) If Text12.Text = "" Then MsgBox "EMPTY FIELD", vbExclamation, "ERROR" Cancel = True End If End Sub Private Sub Text13_KeyPress(KeyAscii As Integer) If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 MsgBox ("ENTER ONLY NUMBERS") End If End Sub Private Sub Text13_Validate(Cancel As Boolean) If Text13.Text = "" Then MsgBox "EMPTY FIELD", vbExclamation, "ERROR" Cancel = True End If End Sub Private Sub Text14_KeyPress(KeyAscii As Integer) If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 MsgBox ("ENTER ONLY NUMBERS")

End If End 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 / 10 End Sub Private Sub Text14_Validate(Cancel As Boolean) If Text14.Text = "" Then MsgBox "EMPTY FIELD", vbExclamation, "ERROR" Cancel = True End If End Sub Private Sub Text5_KeyPress(KeyAscii As Integer) If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 MsgBox ("ENTER ONLY NUMBERS") End If End 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 = 0 MsgBox ("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 If End Sub Private Sub Text7_KeyPress(KeyAscii As Integer) If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 MsgBox ("ENTER ONLY NUMBERS") End If End Sub Private Sub Text7_Validate(Cancel As Boolean) If Text7.Text = "" Then MsgBox "EMPTY FIELD", vbExclamation, "ERROR" Cancel = True End If End Sub Private Sub Text8_KeyPress(KeyAscii As Integer) If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 MsgBox ("ENTER ONLY NUMBERS") End If End Sub Private Sub Text8_Validate(Cancel As Boolean) If Text8.Text = "" Then MsgBox "EMPTY FIELD", vbExclamation, "ERROR" Cancel = True End If End 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 If End Sub Private Sub Text9_Validate(Cancel As Boolean)

If Text9.Text = "" Then MsgBox "EMPTY FIELD", vbExclamation, "ERROR" Cancel = True End If End Sub

REVIEW DETAILS FORM Dim WithEvents rs As ADODB.Recordset Dim WithEvents rs1 As ADODB.Recordset Dim g As Boolean Private Sub ADDC_Click() clear navig (True) Text4.SetFocus SAVE.Enabled = True End Sub Private Sub ADVC_Click() Result.Show End Sub Private Sub Combo2_Click() Dim str As String str = Combo2.Text rs.MoveFirst Do While rs.EOF = False If str = rs!emp_no Then Text2.Text = rs!work_id Text3.Text = rs!Targets Text7.Text = rs!review_date Exit Sub Else: rs.MoveNext End If Loop End Sub

Private Sub Form_Load() Set Db = New ADODB.Connection Dim fconnect As String fconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = PROJECT" Db.open fconnect Set rs = New ADODB.Recordset Set rs1 = New ADODB.Recordset rs.Source = ("select * from work_details") rs1.Source = ("select * from review_details") Set rs.ActiveConnection = Db Set rs1.ActiveConnection = Db rs.open rs1.open Do While rs.EOF = False Combo2.AddItem rs!emp_no rs.MoveNext Loop navig (False) g = True SAVE.Enabled = True End Sub Public Sub navig(s As Boolean) Combo2.Enabled = s Text2.Enabled = s Text3.Enabled = s Text4.Enabled = s Text5.Enabled = s Text6.Enabled = s Text7.Enabled = s Text8.Enabled = s

End 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 = False Else: g = True End If End Sub Private Sub SAVE_Click() search.Enabled = True check If g = True Then rs1.AddNew inserting rs1.Update ElseIf g = False Then MsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH OUT" End If SAVE.Enabled = False End Sub Public Sub inserting()

rs1!emp_no = Combo2.Text rs1!work_id = Text2.Text rs1!per_done = Text5.Text rs1!Task_given = Text3.Text rs1!remarks = Text6.Text rs1!review_date = Text7.Text rs1!points = Text8.Text rs1!success = Text4.Text End Sub Private Sub SEARCH_Click() Dim h As String Dim i As Long Dim j As Long Dim g As Long enab (False) rs1.MoveFirst g=0 Do While Not rs1.EOF g=g+1 rs1.MoveNext Loop MsgBox g i=1 MSFlexGrid1.Cols = 9 MSFlexGrid1.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 = False MSFlexGrid1.SelectionMode = flexSelectionByRow MSFlexGrid1.AllowUserResizing = flexResizeBoth

rs1.MoveFirst For k = 1 To g MSFlexGrid1.TextMatrix(k, 0) = Val(k) MSFlexGrid1.TextMatrix(k, 1) = rs1!emp_no MSFlexGrid1.TextMatrix(k, 2) = rs1!work_id MSFlexGrid1.TextMatrix(k, 3) = rs1!Task_given MSFlexGrid1.TextMatrix(k, 4) = rs1!per_done MSFlexGrid1.TextMatrix(k, 5) = rs1!remarks MSFlexGrid1.TextMatrix(k, 6) = rs1!review_date MSFlexGrid1.TextMatrix(k, 7) = rs1!points MSFlexGrid1.TextMatrix(k, 8) = rs1!success On Error GoTo 20: rs1.MoveNext addc.Enabled = True Next 20: Exit Sub review.Refresh End Sub Public Sub enab(h As Boolean) addc.Enabled = h SAVE.Enabled = h End Sub

START FORM Private Sub Command1_Click() Load MDIForm1 MDIForm1.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

WORK FORM Dim WithEvents rs As ADODB.Recordset Dim WithEvents rs1 As ADODB.Recordset Dim WithEvents rs2 As ADODB.Recordset Dim WithEvents rs3 As ADODB.Recordset Dim g As Boolean Private Sub ADDC_Click() clear Text1.Enabled = True Text2.Enabled = True Text2.Enabled = True Text3.Enabled = True Combo2.Enabled = True Text4.Enabled = True Text5.Enabled = True Text6.Enabled = True Text7.Enabled = True Combo1.Enabled = True Combo3.Enabled = True EXITC.Enabled = True SAVC.Enabled = True ADDC.Enabled = True End Sub Private Sub Combo1_KeyPress(KeyAscii As Integer) MsgBox "read only", vbCritical, "ERROR" End Sub

Private Sub Combo2_Click() Dim str As String str = Combo2.Text rs.MoveFirst Do While rs.EOF = False If str = rs!emp_no Then Text2.Text = rs!emp_name Text3.Text = rs!emp_grade Exit Sub Else: rs.MoveNext End If Loop End Sub Private Sub EXITC_Click() Unload Work Load GRIDF GRIDF.Show End Sub Private Sub fistrc_Click() rs2.MoveFirst Combo2.Text = rs2!emp_no Text1.Text = rs2!work_id Text2.Text = rs2!Name Text3.Text = rs2!grade Text4.Text = rs2!Targets Text5.Text = rs2!start_date Text6.Text = rs2!review_date Text7.Text = rs2!end_date Combo1.Text = rs2!reporting_officer_id Combo3.Text = rs2!Status End Sub Private Sub Form_Load() Set Db = New ADODB.Connection Dim fconnect As String fconnect = "DRIVER = MSDASQL.1;" & " UID = scott;" & " PWD = tiger;" & " data source = project" Db.open fconnect Set rs = New ADODB.Recordset

Set rs1 = New ADODB.Recordset Set rs2 = New ADODB.Recordset Set rs3 = New ADODB.Recordset rs.CursorType = adOpenStatic rs.CursorLocation = adUseClient rs.LockType = adLockPessimistic rs1.CursorType = adOpenStatic rs1.CursorLocation = adUseClient rs1.LockType = adLockPessimistic rs2.CursorType = adOpenStatic rs2.CursorLocation = adUseClient rs2.LockType = adLockPessimistic rs3.CursorType = adOpenStatic rs3.CursorLocation = adUseClient rs3.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 = Db Set rs1.ActiveConnection = Db Set rs2.ActiveConnection = Db Set rs3.ActiveConnection = Db rs.open rs1.open rs2.open rs3.open Do While rs.EOF = False Combo2.AddItem rs!emp_no rs.MoveNext Loop Do While rs3.EOF = False Combo1.AddItem rs3!Name rs3.MoveNext Loop navig (False) g = True

SAVC.Enabled = False End Sub Public Sub navig(s As Boolean) Combo2.Enabled = s Text1.Enabled = s Text2.Enabled = s Text3.Enabled = s Text4.Enabled = s Text5.Enabled = s Text6.Enabled = s Text7.Enabled = s Combo1.Enabled = s Combo3.Enabled = s End 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_id Text2.Text = rs2!Name Text3.Text = rs2!grade Text4.Text = rs2!Targets Text5.Text = rs2!start_date Text6.Text = rs2!review_date Text7.Text = rs2!end_date Combo1.Text = rs2!reporting_officer_id Combo3.Text = rs2!Status

End Sub Private Sub MODC_Click() End Sub Private Sub NEXTC_Click() If rs2.EOF = False Then rs2.MoveNext End If If rs2.EOF = True Then MsgBox ("THIS IS THE LAST RECORD") Else Combo2.Text = rs2!emp_no Text1.Text = rs2!work_id Text2.Text = rs2!emp_name Text3.Text = rs2!grade Text4.Text = rs2!Target Text5.Text = rs2!start_date Text6.Text = rs2!review_date Text7.Text = rs2!end_date Combo1.Text = rs2!repositing_office_id Combo3.Text = rs2!Status End If End Sub Private Sub PREVC_Click() rs2.MovePrevious If rs2.BOF = True Then rs2.MoveFirst MsgBox ("YOU ARE VIEWING THE FIRST RECORD") End If Combo2.Text = rs2!emp_no Text1.Text = rs2!work_id Text2.Text = rs2!emp_name Text3.Text = rs2!grade Text4.Text = rs2!Target Text5.Text = rs2!start_date Text6.Text = rs2!review_date Text7.Text = rs2!end_date

Combo1.Text = rs2!repositing_office_id Combo3.Text = rs2!Status End Sub Public Sub inserting() rs2!emp_no = Combo2.Text rs2!work_id = Text1.Text rs2!Name = Text2.Text rs2!grade = Text3.Text rs2!Targets = Text4.Text rs2!start_date = Text5.Text rs2!review_date = Text6.Text rs2!end_date = Text7.Text rs2!reporting_officer_id = Combo1.Text rs2!Status = Combo3.Text End Sub Private Sub SAVC_Click() SAVC.Enabled = True If g = True Then rs2.AddNew inserting rs2.Update clear ElseIf g = False Then MsgBox "CANNOT INSERT EMPTY RECORD", vbOKOnly, "WATCH OUT" End If EXITC.Enabled = True End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) Dim OP As String Dim 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 = 0 RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error") End If End Sub

Private Sub Text4_KeyPress(KeyAscii As Integer) Dim OP As String Dim 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 = 0 RES = MsgBox("ENTER ONLY UPPERCASE AND LOWERCASE CHARACTERS", vbOKOnly, "error") End If End Sub Private Sub Text5_Click() Text5.Text = Date End Sub Private Sub Text5_Validate(Cancel As Boolean) Dim a As String Dim b As String Dim MON As Date a = Text5.Text b = Left(a, 2) d = Val(b) If d > 31 Then MsgBox ("NOT VALID DATE") Text5.Text = "" Text5.SetFocus Cancel = True Exit Sub End If c = Mid(a, 4, 2) f = Val(c) If f > 12 Then MsgBox ("MONTH NOT VALID") Text5.Text = "" Text5.SetFocus Cancel = True Exit Sub End If k = Right(a, 2) m = Val(k) If m > 2001 Then MsgBox ("NOT VALID YEAR") Text5.Text = "" Text5.SetFocus

Cancel = True Exit Sub End If If Len(Format(a, "DD/MM/YYYY")) <> 10 Then On Error GoTo 10 MsgBox "wrong format" Text5.Text = "" Text5.SetFocus Cancel = True Else fg = Format(Now, "DD/MM/YYYY") MON = Format(a, "DD/MM/YYYY") If MON > fg Then MsgBox ("DATE SHOULD NOT BE MORE THAN SYSTEM DATE") Text5.Text = "" Text5.SetFocus Cancel = True 10: MsgBox ("WRONG ENTRY") Exit Sub End If End If Exit Sub End Sub Private Sub Text6_Click() Text6.Text = Date End Sub Private Sub Text6_Validate(Cancel As Boolean) Dim a As String Dim b As String Dim MON As Date a = Text6.Text b = Left(a, 2) d = Val(b) If d > 31 Then MsgBox ("NOT VALID DATE") Text6.Text = "" Text6.SetFocus Cancel = True Exit Sub

End If c = Mid(a, 4, 2) f = Val(c) If f > 12 Then MsgBox ("MONTH NOT VALID") Text6.Text = "" Text6.SetFocus Cancel = True Exit Sub End If k = Right(a, 2) m = Val(k) If m > 2001 Then MsgBox ("NOT VALID YEAR") Text6.Text = "" Text6.SetFocus Cancel = True Exit Sub End If If Len(Format(a, "DD/MM/YYYY")) <> 10 Then MsgBox "wrong format" Text6.Text = "" Text6.SetFocus Cancel = True Else fg = 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.SetFocus Cancel = True End If End If Exit Sub End Sub Private Sub Text7_Click() Text7.Text = Date End Sub

Private Sub Text7_Validate(Cancel As Boolean) Dim a As String Dim b As String Dim MON As Date a = Text7.Text b = Left(a, 2) d = Val(b) If d > 31 Then MsgBox ("NOT VALID DATE") Text7.Text = "" Text7.SetFocus Cancel = True Exit Sub End If c = Mid(a, 4, 2) f = Val(c) If f > 12 Then MsgBox ("MONTH NOT VALID") Text7.Text = "" Text7.SetFocus Cancel = True Exit Sub End If k = Right(a, 2) m = Val(k) If m > 2001 Then MsgBox ("NOT VALID YEAR") Text7.Text = "" Text7.SetFocus Cancel = True Exit Sub End If If Len(Format(a, "DD/MM/YYYY")) <> 10 Then MsgBox "wrong format" Text7.Text = "" Text7.SetFocus Cancel = True Else fg = 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.SetFocus Cancel = True End If End If Exit Sub End 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

Related Documents

Call Center
June 2020 14
Call Center
June 2020 11
Call Center
May 2020 19
Call Center
April 2020 15