Sunteți pe pagina 1din 117

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. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Introduction Objective of the Project Project Category System Design Hardware & Software Requirement System Analysis Feasibility Study Implementation Testing & Debugging Context Diagram Data Flow Diagram Screenshot Coding Future Scope Limitation of the Project 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 companys 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 : Back end : Visual basic 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 wont 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, theres 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, youll 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 lets 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 employees in the call center. First of all the details of new employee are entered. Then each of the employees 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 criterias 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 criterias 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 centers 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, administrations duties, performance requirements, employees work details, call center projects, shift timings, shift details and overall working of the call center are mentioned after analyzing and studying the call centers 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 inputoutput 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. Its 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 CENTERS WORKING UNIT

Information is gathered by investigating the individuals involvement (i.e. contribution of employee, its contribution to its department and that of evaluation department) and their involvements in the whole Call Centers 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 centers 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
centers 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? Works 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 customers 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 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 centers 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 centers 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 CENTERS 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 CENTERS 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 centers 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

Team Member

Project Distribution

Team Leader

Shift Allotment System of Call centers

Time Allotment

Shift Allocation Supervisor Performance Grading

1ST LEVEL DFD


Project Manger

Project
Distribution

Time Allotment

n Controlling

Project Work
Distribution

Team Supervisor Functional Bifurcation of modules


Gantt Chart Formulation

Team Members
Module Distribution & Controlling

Team Leader Team Work Distributio n

Functiona l Timetable

2ND LEVEL DFD

Project Manger

Shift Allocation Controlling

Shift Chart Preparation

Team Leaders

Supervisors

Notice Board Dispersion

3rd LEVEL DFD


Project Manger

Team Members

Project wise Performance Grading

Best Team Member Selection

Best Supervisor Selection Module Wise Performance Grading

Team Member Performance Grading

Supervisor

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


filling the official

This form is linked to the employee form. After

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 Points 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
Member registration Project distribution and controlling Work distribution

Input
Registration form

Processing logic
Employees detailed information details like and

Output
Team formation

Project proposal Project form Work distribution form distribution within limit a

name, Project time distribution schedules

requirement complexity

Work details and their schedule Work schedule list to team supervisors for working Work weight age and time Time required to complete it with time time grace period and other limits Gant schedules, tables and and pert

Time allotment Work

charts etc them to the team supervisors to display them on notice boards etc

Shift allocation Shift preparation Shift formation and allocating Shift schedule and controlling form or chart

Employee and Performance team Performance grading form personal professional details

Calculation of performance for Selection of best supervisor, leader and supervisor, leader, member and team and member

including best

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 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) TYPE VARCHAR2(10) VARCHAR2(30) VARCHAR2(100) Date Date Number VARCHAR2(10) Number

Work
Name Project id Project name Work profile Start date End date Project cost Supervisor id No of module

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

Points
Name Emp id Module id TYPE VARCHAR2(10) VARCHAR2(30)

Contribution Team sprit Leader ship Punctuality

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

S-ar putea să vă placă și