Sie sind auf Seite 1von 101

PROJECT REPORT

Submitted for the partial fulfillment of Bachelor of computer Application III year (VI Semester) Requirement

Guided by : Mr. Amit Rathore (MCA)

Submitted by : Mukund Joshi B.C.A. Final Year

H.K. Hitech (College of IT and Management) 199, Meheran Tower, 1st C Road Sardarpura Jodhpur (Rajasthan)

MAKHANLAL CHATURVEDI RASHTRIYA PATRKARITA VISHWAVIDYALYA BHOPAL (M.P.)

PROJECT WORK EVOLUTION


(1) (2) (3) (4) (5) (6) (7) Candidates Roll No. Name Project Title Web & Software Base Sponsoring Institution Address Study Center Code, : Name, Address Total Internal Assessment & Exam Work Evolution Marks Out of 200 ________________________ : : : : : ________________ ________________ _________________________ ________________ _________________________

_________________________

Detail of Evolution along with name & sign of Teacher __________________________________________________ Particular Marks Out of Marks Internal Awarded Examiner Name & Signature

Page

(8)

Forwarding by Head Of Study Centre _________________________ (Signature, Name and Study Centre Seal)

(9) (10) (11)

_________________________ Remarks Of Study Centre ____________________ University Project Examiner Evolution Total Marks Awarded__________ Out Of 500 Detail of Evolution along with Name & Sign Of University Marks Out Of Marks Awarded Internal Examiner Name & Signature

Examiner. Particular

(12)

Remarks Of University Examiner ______________________

Page

(COLLEGE OF IT AND MANAGEMENT)

H.K. HI-TECH

Certificate
This is to certify that Mukund Joshi has successfully submitted his project on

Library Management System


During the academic year 2004-2005 In the partial fulfillment of the award of the degree of Bachelor of Computer Application He has completed this work under my supervision and not part of this project has not been submitted for the issue of any other Degree of Diploma.

Date : 28/06/04 Place: Jodhpur (M.C. Nehra) Managing Director H.K. Hitech

Page

Acknowledgement
It is my great privilege to express my profound respect and gratitude towards my guide Mr. Amit Rathore, for providing me all the guidance and keeping his experienced had over my work. Words are inadequate to express deep sense of gratitude towards Mr. Amit Rathore, for his precious suggestions coupled with constructive criticism which resulted in ultimate efficacy. Last, but not the least, I am thankful to my parents and all my friends for consistent moral support and encouragement & motivated at every span of life.

MUKUND JOSHI
(B.C.A. FINAL YEAR)

Page

CONTENTS
INTRODUCTION PREFACE

INTRODUCTION

OBJECTIVE
SYSTEM STUDY FEASIBILITY STUDY AND COST BENEFIT ANALYSIS

ECONOMICAL TECHNICAL DURATION FRONT END STUDY BACK END STUDY


SYSTEM ANAYLSIS & FLOW CHARTING

DATA FLOW DIAGRAMS E-R MODEL DIAGRAM


SYSTEM DESIGN

DATABASE DESIGN FORM DESIGN


CODING (SOURCE CODE)
REPORT DESIGNING SYSTEM TESTING

SYSTEM IMPLEMENTATION SYSTEM SECURITY SYSTEM RECOVRY SOFTWARE EVOLATION CONCLUSION BIBLIOGRAPHY

Page

INTRODUCTION
The LIBRARY MANAGEMENT SYSTEM manages the library system, which is able to consider all rules and regulations of institute and provide easier and graphical interface to user for easy working. The software is designed for library system management. It covers all aspects of a library system like Fine penalty charge, Change of fine penalty rate, password change, daily report, student detail, books detail, search options etc. The main MDI (Main or Multiple Document Interface) has five menus, which are File, Form, Searching, Report and Help. They also further have menu options. It is very simple to select the desire button and just after a click event the desired forms are displayed. Every form has all details. The user do entry of data just by clicking events , The typing work is avoid as possible. After completion of entry data stores in data base and result is displayed in result form according program. o A single person can manage the show despite of conventional manual system the interaction between Visual Basic and back end MS-Access as per

o There is not need to maintain so many paper work. A person like Computer
Operator can handle this job because interface is totally graphical. OBJECTIVE OF LIBRARY MANAGEMENT SYSTEM To validate the users assigning a user account to each user checking his passwords at the time of login. To generates available book list, to prepare daily transaction report, to prepare monthly transaction report, to maintain issue and deposit books. To generate report all issued book and particular student, and also generate report all missing books. The existing system was manual and three Nos. clerks, one peon and one supervising officer maintained work, while present system is designed to handle same work by a person who has basic knowledge of computer. The basic system involves so many records and filing system, while current system has no such type of records. All records can be stored as soft copy. To understand a system I try to make it a robust and steady. Study the database management of a system. I studied the available IDE like Microsoft Visual Basic and Microsoft Access. To study the library system and try to develop software that manages a library with least efforts.

Page

PREFACE
The library is an important module for any educational institute. Library may contain thousands of books, and its management is a very tough job. The care should be taken for proper distribution of the resources. It should be managed in a manner so that its resources are used efficiently and conveniently. For this rules and rights should be provided to each user. Manual management of such a large system is a very tedious job and errors may occur sometimes. This may affect the integrity and consistency of the system resulting in an improper resource distribution. Here we have provided a full-fledged library management system, which will change the conventional manual management with a computerized library management system. We have tried our best to provide efficient and convenient transitory operations for librarian and users. We are very much thankful to all those who directly or indirectly helped us in completing this project.

Mukund Joshi

Page

SYSTEM DESIGN
Case Study and Raw Data To develop a project the first necessity was to get the in-depth knowledge of Visual Basic and Database. And also analyze the requirement of the ice cream par lour. Features As this project is very large, so to maintain its readability we have divided this whole project in various functional components. This feature provides accuracy, less execution time, error handling, and memory limitation. Flowcharting As we cannot directly code so we started from preparing flow charts of each component. For this we have used top down modular design and spitted the project into small modules. Selection of language After preparing flow chart the main problem was to select an appropriate programming language. We have selected Visual Basic for developing this software because its very user friendly and working in it is very easy. Visual Basic provides various utilities like ActiveX Controls and Active X component, which are very helpful in making project. In Visual Basic the user interface is termed as Form. Coding It is the actual stage where we wrote instructions in Visual Basic to implement the flow charts.

Page

SYSTEM STUDY
Feasibility Study and Cost Benefit Analysis Feasibility study is the most important step in System Analysis. It is the determination of whether the project is feasible or not. Once it has been determined that a project is feasible, the analyst can go ahead and prepare the project specification which finalizes project requirements. As this project is not designed for any organization for management of their library. First of all a security system is provided through a database so that unauthorized user cannot access the librarys utility. This management system provides a user ID to every user, which provides facility to access their account on line. The library Management system also has various forms in GUI, which provides following information: 1. Student / Customer Information 2. Book Availability Information. 3. Book Issue and Receipt Information. 4. Reports about all details. The feasibility study contains all the factors i.e. Technical, Behavioral and Economical feasibility. The following steps were taken during feasibility study. My Self-s team leader and team member with guidance of my programmer guide Mr. Amit Rathore. System flowchart was prepared and design requirement studies done. As this project was made as per assumption that the existing library management system is manual. The existing system was manual and three Nos. clerks, one peon and one supervising officer maintained work, while present system is designed to handle same work by a person who has basic knowledge of computer. The basic system involves so many records and filing system, while current system has no such type of records. All records can be stored as soft copy. Cost feasibility study also done which is feasible and following:

Page 10

Cost benefit analysis done and with consideration of following points. 1. Hardware Cost 2. Personnel Cost 3. Facility Cost 4. Operating Cost 5. Supply Cost Technical Feasibility This is concern with specifying equipment and software that will successfully satisfy the user requirement. The technical needs of the system may vary considerably, but might include The facility to produce outputs in a given time Response time under certain conditions Ability to process a certain volume of transaction at a particular speed Facility to communicate data to distant location In examining technical feasibility, configuration of the system is given more importance than the actual make of hardware. The configuration should give the complete picture about the systems requirements. The existing computer system properly supports this software. To implement this the company does not require additional resources. Hence it can be concluded that the proposed system is technically feasible. Economical Feasibility Economical Analysis is the most frequently used technique for evaluating the effectiveness of a proposed system. Economical Feasibility is most commonly known as cost benefit analysis. It is the procedure to determine the benefits and savings that are expected from a proposed system and compare them with costs. This software reduces the paper work as well as manpower and provides the better management for LIBRARY MANAGEMENT SYSTEM. It can be analyzed that the cost of proposed system is much less than the benefits that can be derived from it. So we can accept it to be economically feasible.

Page 11

Duration (Time Feasibility) Time Feasibility is a determination of whether a proposed project can be implemented fully within a stipulated period. If a project takes too much time it is likely to be rejected. The proposed system takes a little time period for implementation so it can be considered as Time Feasible Software.

Hardware Requirement for implementing this software Intel microprocessor RAM Hard Disk Drive Floppy Disk Drive VGA Monitor Standard Keyboard and Mouse Software Requirement for implementing this software Operating System Front end Back end Windows 9x/NT/2K/XP Visual Basic 6.0 MS ACESS 80486 or higher 16 MB 12 MB (Free space)

1.44 MB

Page 12

ABOUT VISUAL BASIC (FRONT END)


Visual Basic Concepts Microsoft Visual Basic is the fastest and easiest way to create applications for Microsoft Windows. Whether you are an experienced professional or brand new to Windows programming, Visual Basic provides you with a complete set of tools to simplify rapid application development. So what is Visual Basic? The "Visual" part refers to the method used to create the graphical user interface (GUI). Rather than writing numerous lines of code to describe the appearance and location of interface elements, you simply add pre-built objects into place on screen. If you've ever used a drawing program such as Paint, you already have most of the skills necessary to create an effective user interface. The "Basic" part refers to the BASIC (Beginners All-Purpose Symbolic Instruction Code) language, a language used by more programmers than any other language in the history of computing. Visual Basic has evolved from the original BASIC language and now contains several hundred statements, functions, and keywords, many of which relate directly to the Windows GUI. Beginners can create useful applications by learning just a few of the keywords, yet the power of the language allows professionals to accomplish anything that can be accomplished using any other Windows programming language. The Visual Basic programming language is not unique to Visual Basic. The Visual Basic programming system, Applications Edition included in Microsoft Excel, Microsoft Access, and many other Windows applications uses the same language. The Visual Basic Scripting Edition (VBScript) is a widely used scripting language and a subset of the Visual Basic language. The investment you make in learning Visual Basic will carry over to these other areas. Whether your goal is to create a small utility for yourself or your work group, a large enterprise-wide system, or even distributed applications spanning the globe via the Internet, Visual Basic has the tools you need.

Data access features allow you to create databases, front-end

applications, and scalable server-side components for most popular database formats, including Microsoft SQL Server and other enterprise-level databases.

Page 13

ActiveX technologies allow you to use the functionality

provided by other applications, such as Microsoft Word Processor, Microsoft Excel spreadsheet, and other Windows applications. You can even automate applications and objects created using the Professional or Enterprise editions of Visual Basic.

Internet capabilities make it easy to provide access to

documents and applications across the Internet or intranet from within your application, or to create Internet server applications. Your finished application is a true .exe file that uses a Visual Basic Virtual Machine that you can freely distribute. Visual Basic Editions Visual Basic is available in three versions, each geared to meet a specific set of development requirements. The Visual Basic Learning edition allows programmers to easily create powerful applications for Microsoft Windows and Windows NT. It includes all intrinsic controls, plus grid, tab, and data-bound controls. Documentation provided with this edition includes the Learn VB Now CD plus the Microsoft Developer Network (MSDN) Library CDs containing full online documentation. The Professional edition provides computer professionals with a full-featured set of tools for developing solutions for others. It includes all the features of the Learning edition, plus additional ActiveX controls, the Internet Information Server Application Designer, integrated Visual Database Tools and Data Environment, Active Data Objects, and the Dynamic HTML Page Designer. Documentation provided with the Professional edition includes the Visual Studio Professional Features book plus Microsoft Developer Network CDs containing full online documentation. The Enterprise edition allows professionals to create robust distributed applications in a team setting. It includes all the features of the Professional edition, plus Back Office tools such as SQL Server, Microsoft Transaction Server, Internet Information Server, Visual SourceSafe, SNA Server, and more. Printed documentation provided with the Enterprise edition includes the Visual Studio Enterprise Features book plus Microsoft Developer Network CDs containing full online documentation. Starting Visual Basic

Page 14

Once you have completed the Setup procedure, you can start Visual Basic by using the Start button on the Windows task bar. If AutoPlay is enabled on your system, you can also start Visual Basic by inserting the Visual Basic compact disc. Visual Basic Concepts In order to understand the application development process, it is helpful to understand some of the key concepts upon which Visual Basic is built. Because Visual Basic is a Windows development language, some familiarity with the Windows environment is necessary. If you are new to Windows programming, you need to be aware of some fundamental differences between programming for Windows versus other environments. How Windows Works: Windows, Events and Messages A complete discussion of the inner workings of Windows would require an entire book. A deep understanding of all of the technical details isn't necessary. A simplified version of the workings of Windows involves three key concepts: windows, events and messages. Think of a window as simply a rectangular region with its own boundaries. You are probably already aware of several different types of windows: an Explorer window in Windows, a document window within your word processing program, or a dialog box that pops up to remind you of an appointment. While these are the most common examples, there are actually many other types of windows. A command button is a window. Icons, text boxes, option buttons and menu bars are all windows. The Microsoft Windows operating system manages all of these many windows by assigning each one a unique id number (window handle). The system continually monitors each of these windows for signs of activity or events. Events can occur through user actions such as a mouse click or a key press, through programmatic control, or even as a result of another window's actions. Each time an event occurs, it causes a message to be sent to the operating system. The system processes the message and broadcasts it to the other windows. Each window can then take the appropriate action based on its own instructions for dealing with that particular message (for example, repainting itself when it has been uncovered by another window). As you might imagine, dealing with all of the possible combinations of windows, events and messages could be mind-boggling. Fortunately, Visual Basic insulates you from having to deal with all of the low-level message handling. Many of the messages are handled automatically by Visual Basic; others are exposed as Event procedures for your

Page 15

convenience. This allows you to quickly create powerful applications without having to deal with unnecessary details.

Understanding the Event-Driven Model In traditional or "procedural" applications, the application itself controls which portions of code execute and in what sequence. Execution starts with the first line of code and follows a predefined path through the application, calling procedures as needed. In an event-driven application, the code doesn't follow a predetermined path it executes different code sections in response to events. Events can be triggered by the user's actions, by messages from the system or other applications, or even from the application itself. The sequence of these events determines the sequence in which the code executes, thus the path through the application's code differs each time the program runs. Because you can't predict the sequence of events, your code must make certain assumptions about the "state of the world" when it executes. When you make assumptions (for example, that an entry field must contain a value before running a procedure to process that value), you should structure your application in such a way as to make sure that the assumption will always be valid (for example, disabling the command button that starts the procedure until the entry field contains a value). Your code can also trigger events during execution. For example, programmatically changing the text in a text box cause the text box's Change event to occur. This would cause the code (if any) contained in the Change event to execute. If you assumed that this event would only be triggered by user interaction, you might see unexpected results. It is for this reason that it is important to understand the event-driven model and keep it in mind when designing your application. Interactive Development The traditional application development process can be broken into three distinct steps: writing, compiling, and testing code. Unlike traditional languages, Visual Basic uses an interactive approach to development, blurring the distinction between the three steps. With most languages, if you make a mistake in writing your code, the compiler catches the error when you start to compile your application. You must then find and fix the error and begin the compile cycle again, repeating the process for each error found. Visual Basic interprets your code as you enter it, catching and highlighting most syntax or

Page 16

spelling errors on the fly. It's almost like having an expert watching over your shoulder as you enter your code. In addition to catching errors on the fly, Visual Basic also partially compiles the code as it is entered. When you are ready to run and test your application, there is only a brief delay to finish compiling. If the compiler finds an error, it is highlighted in your code. You can fix the error and continue compiling without having to start over. Because of the interactive nature of Visual Basic, you'll find yourself running your application frequently as you develop it. This way you can test the effects of your code as you work rather than waiting to compile later. Starting the Visual Basic IDE When you run the Visual Basic Setup program, it allows you to place the program items in an existing program group or create a new program group and new program items for Visual Basic in Windows. You are then ready to start Visual Basic from Windows. To start Visual Basic from Windows: Click Start on the Task bar. Select Programs, Visual Studio and then Microsoft Visual Basic 6.0. Click Start on the Task bar. Select Programs. Use the Windows Explorer to find the Visual Basic executable file. Double-click the Visual Basic icon. You can also create a shortcut to Visual Basic, and double-click the shortcut. When you first start Visual Basic, you see the interface of the integrated development environment, as shown in Figure given below

Page 17

Figure: - The Visual Basic integrated development environment

System Requirements for Visual Basic Applications The following hardware and software is required for Visual Basic applications: Pentium 90MHz or higher microprocessor. VGA 640x480 or higher-resolution screen supported by Microsoft Windows. Microsoft Windows NT 4.0 or later, or Microsoft Windows 95 or later. 24 MB RAM for Windows 95/98, 32 MB for Windows NT. Microsoft Internet Explorer version 4.01 or later (version 4.01 Service Pack 1 or later for DHTML application developers, and 4.x for end-users of these applications). Disk space requirements: Standard Edition: typical installation 48 MB, full installation 80 MB. Professional Edition: typical installation 48 MB, full installation 80 MB. Enterprise Edition: typical installation 128 MB, full installation 147 MB. Additional components (if required): MSDN (for documentation): 67 MB, Internet Explorer 4.x: approximately 66 MB. CD-ROM (no MS-DOS support assumed).

Page 18

Project Limitations A single project can contain up to 32,000 "identifiers" (any non reserved keyword), which include, but are not limited to, forms, controls, modules, variables, constants, procedures, functions, and objects. Note that the actual number of identifiers is limited to available memory. Variable names in Visual Basic can be no longer than 255 characters, and the names of forms, controls, modules, and classes cannot be longer than 40 characters. Visual Basic imposes no limit on the actual number of distinct objects in a project.

Control Limitations Each non-graphical control (all the controls except shape, line, image, and label) uses a window. Each window uses system resources, limiting the total number of windows that can exist at one time. The exact limit depends on the available system resources and the type of controls used. To reduce consumption of system resources, use the shape, line, label, and image controls instead of picture box controls to create or display graphics. Total Number of Controls The maximum number of controls allowed on a single form depends on the type of controls used and available system resources. However, there is a fixed limit of 254 control names per form. A control array counts only once toward this limit because all the controls in the array share a single control name. The limit on control array indexes is 0 to 32,767 on all versions. If you layer controls on top of each other, such as using several frame controls within other frames, Visual Basic will generally accept no more than 25 levels of nested controls. Code Limitations The amount of code that can be loaded into a form, class, or standard module is limited to 65,534 lines. A single line of code can consist of up to 1023 bytes. Up to 256 blank spaces can precede the actual text on a single line, and no more than twenty-four linecontinuation characters ( _) can be included in a single logical line. Procedures, Types, and Variables There is no limit on the number of procedures per module. Each procedure can contain up to 64K of code. If a procedure or module exceeds this limit, Visual Basic generates a compile-time error. If you encounter this error, you can avoid it by breaking extremely

Page 19

large procedures into several smaller procedures, or by moving module-level declarations into another module. Visual Basic uses tables to store the names of identifiers (variables, procedures, constants, and so on) in your code. Each table is limited to 64K.

DLL Declare Table Each form and code module uses a table that contains a structure describing a DLL entry point. Each structure uses approximately 40 bytes, with a total restricted size of 64K, resulting in roughly 1,500 declarations allowed per module.

Project-Name Table The entire application uses a single table that contains all names. These include:

Constant names Variable names User-defined type definition names Module names DLL-procedure declaration names Project File Formats

Microsoft Visual Basic utilizes and creates a number of files at both design and run time. Which files will be required by your project or application depends upon its scope and functionality.
Project File Extensions Visual Basic produces a number of files when you create and compile a project. These can be categorized as follows: design-time, miscellaneous development, and runtime. Design time files are the building blocks of your project: basic modules (.bas) and form modules (.frm), for example. Various processes and functions of the Visual Basic development environment produce miscellaneous files: Package and Deployment Wizard dependency files (.dep), for example.

Page 20

Design-time and Miscellaneous Files The following table lists all the design-time and miscellaneous other files that may be produced when you develop an application: Extension .bas .cls .ctl .ctx .dca .ddf .dep .dob .dox .dsr .dsx .dws .frm .frx .log .oca .pag .pgx .res .tlb .vbg .vbl .vbp .vbr .vbw .vbz .wct Description Basic module Class module User Control file User Control binary file Active Designer cache Package and Deployment Wizard CAB information file Package and Deployment Wizard dependency file ActiveX document form file ActiveX document binary form file Active Designer file Active Designer binary file Deployment wizard script file Form file Binary form file Log file for load errors Control TypeLib cache file Property page file Binary property page file Resource file Remote Automation TypeLib file Visual Basic group project file Control licensing file Visual Basic project file Remote Automation registration file Visual Basic project workspace file Wizard launch file WebClass HTML template

Page 21

Run-Time Files When you compile your application, all the necessary design-time files are included in the run-time executable files. Run-time files are listed in the following table: Extension .dll .exe .ocx .vbd .wct Primary Key

Description In-process ActiveX component Executable file or ActiveX component ActiveX control ActiveX document state file WebClass HTML template

One or more fields (columns) whose value or values uniquely identify each record in a table. A primary key does not allow Null values and must always have a unique value. A primary key is used to relate a table to foreign keys in other tables.

NOTE: You do not have to define a primary key, but it's usually a good idea. If you don't define a primary key, Microsoft Access asks you if you would like to create one when you save the table.

For our tutorial, make the Soc Sec # field the primary key, meaning that every student has a social security number and no 2 are the same.

To do this, simply select the Soc Sec # field and select the primary key button

1. After you do this, Save the table


Switching Views

To switch views form the datasheet (spreadsheet view) and the design view, simply click the button in the top-left hand corner of the Access program. Datasheet View Displays the view, which allows you to enter raw data into your database table. Design View

Displays th view, which allows you to enter fields, data-types, and descriptions into your database table.

Entering Data

Click on the Datasheet View and simply start "chugging" away by entering the data into each field. NOTE: Before starting a new record, the Soc Sec # field must

Page 22

have something in it, because it is the Primary Key. If you did not set a Primary Key then it is OK.

Manipulating Data

Adding a new row Simply drop down to a new line and enter the information Updating a record Simply select the record and field you want to update, and change its data with what you want

Deleting a record Simply cell Selecting a value from a dropdown box with a set of values that you assign to it. This saves you from typing it in each time

Example)Choosing a city that is either Auburn, Bay City, Flint, Midland, or Saginaw

Switch to Design View Select the field you want to alter (City) At the bottom select the Lookup Tab In the Display Control box, select Combo Box Under Row Source Type, select Value List Under Row Source, enter the values how you want them displayed, separated by a column. (Auburn, Bay City, Flint, Midland, Saginaw)

NOTE: This will not alphabetize them for you, so you will have to do that yourself. It should look something like this: Select in the datasheet view and you should see the change when you go to the city field.

Relationships

After you've set up multiple tables in your Microsoft Access database, you need a way of telling Access how to bring that information back together again. The first step in this process is to define relationships between your tables. After you've

Page 23

done that, you can create queries, forms, and reports to display information from several tables at once. A relationship works by matching data in key fields - usually a field with the same name in both tables. In most cases, these matching fields are the primary key from one table, which provides a unique identifier for each record, and a foreign key in the other table. For example, teachers can be associated with the students they're responsible for by creating a relationship between the teacher's table and the student's table using the TeacherID fields.

Cut the entire row and hit the Delete Key on the keyboard

Reports
A report is an effective way to present your data in a printed format. Because you have control over the size and appearance of everything on a report, you can display the information the way you want to see it.

Database
A database is similar to a data file in that it is a storage place for data. Like a data file, a database does not present information directly to a user; the user runs an application that accesses data from the database and presents it to the user in an understandable format. Database systems are more powerful than data files in that data is more highly organized. In a well-designed database, there are no duplicate pieces of data that the user or application must update at the same time. Related pieces of data are grouped together in a single structure or record, and relationships can be defined between these structures and records. When working with data files, an application must be coded to work with the specific structure of each data file. In contrast, a database contains a catalog that applications use to determine how data is organized. Generic database applications can use the catalog to present users with data from different databases dynamically, without being tied to a specific data format. A database typically has two main parts: first, the files holding the physical database and second, the database management system (DBMS) software that applications use to access data. The DBMS is responsible for enforcing the database structure, including:

Maintaining relationships between data in the database. Ensuring that data is stored correctly, and that the rules defining data relationships are not violated.

Page 24

Recovering all data to a point of known consistency in case of system failures.

Page 25

Relational Database
Although there are different ways to organize data in a database, relational databases are one of the most effective. Relational database systems are an application of mathematical set theory to the problem of effectively organizing data. In a relational database, data is collected into tables (called relations in relational theory). A table represents some class of objects that are important to an organization. For example, a company may have a database with a table for employees, another table for customers, and another for stores. Each table is built of columns and rows (called attributes and tuples in relational theory). Each column represents some attribute of the object represented by the table. For example, an Employee table would typically have columns for attributes such as first name, last name, employee ID, department, pay grade, and job title. Each row represents an instance of the object represented by the table. For example, one row in the Employee table represents the employee who has employee ID 12345. When organizing data into tables, you can usually find many different ways to define tables. Relational database theory defines a process called normalization, which ensures that the set of tables you define will organize your data effectively.

Page 26

MAIN SYSTEM DIAGRAM

SPLASH SCREEN

LOGIN
Registration

MDIForm

ISSUEDEPOS IT

SWIT CH
REPORT

ABOUT
BACKUPRESTORE

EXIT

STUDENTENTRY

BOOKS ENTRY

FLOW CHART FOR TRANSACTION MENU

A Complete Structure of the Program

Analysis: In analysis, DFDs and ER diagrams will show.


DFDs: 0-Level DFDs: User 1 Proposed system User Acknowledgement User

Context -Level DFD

Page 27

1st-level DFDs: -

User

1.3 Administrator Acknowledgement Control panel Access to 1.1 Manage Login System Access User Area 1.4 User Area Acknowledgement Grant access to User area Report

User

1.2 User Registratio n

1st-Level DFD

2nd-Level DFDs: Validation incorrect UserLogin Correct 1.2.1 Registrat on Entry

1.2.2 Validate Validation 1.2.3 CorrectLogin 1.2.4 User area to User

data

2nd-Level DFD of Process User Registration

Page 28

Validation incorrect
1 Administrator 2 1.3.5.1 Login 1.3.5.2 Validate administrato r User

1.3.5.3 User manage ment 1.3.5.4

Acknowledgement Report

User Add, Delete Update

3rd-Level DFD of Process User management

Page 29

User Interface Behavior: In User Interface Behavior, State Diagram will show.
User load The system

Registration as User

User Clicks

Load User area login page

Input data For


Registration Error in Validation Validate and password

Load administrator Area login page Administrator Login Invalid user ID Entry of login and password

User area Login

Validate Save user Validation ok as member area Error in Validation entry of login and password user to User Click on details Of User

Validate Administrator

Welcome Information of Page Cognates Selection

Back to detail Show Details Validation Ok Click Control Panel on Home Clicked on home Clicked to home

Book byadministrator

Add

Delete

Update

Events Update Add User

Input new Data No No

Select Data No Conform Selected data

Input update Data Delete Validate

Update Add Delete

Conform input data Yes Save new Data Yes

Author Add Update Delete

Yes Delete selected Data Save Changes

shop s

Update

Add

Delete

Page 30

Process Logic of each module: In this, flow charts and pseudocode w


Flow charts and their pseudocode:

1.

Registration Module: (Process ID - 1.2) Start

Default page For User

Registration

Stop

Page 31

Registration Validate functionError report To User If txtUser _id <> Use rid Or txt User _password <> User _password Or Acknowledgement page to User Message please fills correct information Save data to Validate = false Else database table Validate = true Members End if * The data entry form contains User Interface (text box) To enter the information typed by User. Stop * Validation If validate = true then Save User as member in User database table Else Send error report, about validation-failed, to User End if Is validate Ok?

Page 32

STUDENT DETAIL INPUT

--------BY THE USER------Stud_Na me Father Name Address 1 Address 2 Student 1:n ER-diagram for Student master Table
Student_EnrNO

Email Cit y Phone no Caution Money

Book Id
INPUT BY THE USER Topic Id Book Name Author Id Pub Id Edition Year Book Code Mediu m Class Section Address Reck No.

Book Id Fathar Name Student Name

Book Master (TABLE)

City

Tel No. Enr No.

Student Master Enrollment No INPUT BY (TABLE)THE

Reck No. Page 33

Pub Id
INPUT BY THE USER

PubId Pub Name Pub Add Tel No

City

Class Fathar Name

Publisher Master Section (TABLE)

Address City

Student Name Tel No. Enr No.

Student Master (TABLE)

Reck No. Page 34

Enrollment No
INPUT BY THE USER ReturnDa te IssueDate Return Fine Days Book Id

Enrollme nt

IssueDeposit (TABLE)

Data structures (Tables) for all the modules

Page 35

TABLE 1

STUDENT MASTER

Field Name Data Type Width of Field Enrollment (PK) Number Long Integer Stud Name Text 25 StudFName Text 25 Studclass Number 2 Section Text 1 Caution Money Number 3 StudAdd1 Text 50 StudAdd2 Text 50 StudCity Text 25 StudTelNo Number Long Integer TABLE 2 BOOK MASTER Field Name Book Id (PK) BookCode Book Name TopicId AuthorId Edition Year Isbn Pub Id Shop Id PurDate Medium Lost Price Reck No Data Type Number Number Text Number Number Number Number Number Number Date Text Yes/No Number Number Width of Field Long Integer Long Integer 50 Long Integer Long Integer Long Integer Long Integer Long Integer Long Integer 8 20 1 Long Integer Long Integer

TABLE 3 Field Name AuthorId (PK) AuthorFName AuthorLName Authoremail AuthorAdd1 AuthorAdd2 Authorcity Data Type Number Text Text Text Text Text Text

AUTHOR MASTER Width of Field Long Integer 25 25 30 50 50 30

Page 36

AuthorTelNo

Number

Long Integer

TABLE 4

PUBLISHER MASTER

Field Name Pub_ID (PK) PubFname PubLName Pubemail PubAdd1 PubAdd2 PubCity PubTelNo

Data Type Number Text Text Text Text Text Text Number

Width of Field Long Integer 25 25 30 50 50 30 Long Integer

TABLE 5 Field Name Shop_ID ShopName ShopFaxNo Shopemail ShopAdd1 ShopAdd2 ShopCity ShopPhone

SHOP MASTER

Data Type Number Text Numger Number Text Text Text Number

Width of Field Long Integer 40 Long Integer Long Integer 50 50 30 Long Integer

Page 37

TABLE 6

TOPIC MASTER

Field Name Topic_ID Topic

Data Type Number Text

Width of Field Long Integer 30

Page 38

TABLE 7

USER MASTER

Field Name User_ID1 (PK) UserName1 Password1

Data Type Number Text Text

Width of Field Long Integer 20 10

TABLE 8

USER LOGIN

Field Name UserLogName UserLogPassword

Data Type Text Text

Width of Field 25 25

TABLE 9

ISSUEDEPOSIT

Field Name Enrollment BookId IssueDate ReturnDate Finecharge Days

Data Type Number Number Date Date Number Number

Width of Field Long Integer Long Integer 8 8 Long Integer Long Integer

DESIGN AND CODING


Page 39

Main Form Library Management System

Code of MDI Form '**************Code of MDI Form*************************** Option Explicit Private Sub menuabt_Click() With Aboutfrm .Top = 2600 .Left = 2100 .Show End With End Sub Private Sub MenuAthDelete_Click() With Authorfrm .cmdnew.Enabled = False .cmdupdate.Enabled = False .cmdsave.Enabled = False .Top = 2000 .Left = 2000

Page 40

.Show vbModal, MDIForm1 End With End Sub Private Sub MenuAthEdit_Click() With Authorfrm .cmdnew.Enabled = False .cmddel.Enabled = False .cmdsave.Enabled = False .Top = 2000 .Left = 2000 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuAthNew_Click() With Authorfrm .cmddel.Enabled = False .cmdupdate.Enabled = False .Top = 2200 .Left = 2000 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuAthOpn_Click() With Authorfrm .cmdnew.Enabled = False .cmdupdate.Enabled = False .cmdsave.Enabled = False .cmddel.Enabled = False .Top = 2200 .Left = 2000 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuBookEdit_Click() With Bookfrm .cmdnewbook.Enabled = False .cmdsavebook.Enabled = False .Top = 2400 .Left = 1800 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuBookNew_Click()

Page 41

With Bookfrm .cmdupdatebook.Enabled = False .Top = 2400 .Left = 1800 .Show vbModal, MDIForm1 End With End Sub Private Sub menubooksave_Click() With Bookfrm .cmdupdatebook.Enabled = False .Top = 2400 .Left = 1800 .Show vbModal, MDIForm1 End With End Sub Private Sub menuDuebk_Click() ReportDueBkfrm.Show vbModal, MDIForm1 End Sub Private Sub menuIsDpDpt_Click() With IssDepositfrm .Top = 2000 .Left = 2100 .Show vbModal, MDIForm1 End With End Sub Private Sub menuIsDpIss_Click() With IssDepositfrm .Top = 2000 .Left = 2100 .Show vbModal, MDIForm1 End With End Sub Private Sub menuissbk_Click() ReportIssBkfrm.Show vbModal, MDIForm1 End Sub Private Sub menumissingbk_Click() Reportmissingfrm.Show vbModal, MDIForm1 End Sub Private Sub MenuOptFine_Click() With Optionfrm .cmdsetdays.Enabled = False .Top = 2700 .Left = 2100 .Show vbModal, MDIForm1

Page 42

End With End Sub Private Sub MenuOptFreeDay_Click() With Optionfrm .cmdsetfine.Enabled = False .Top = 2700 .Left = 2100 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuPubDelete_Click() With Publisherfrm .cmdnew.Enabled = False .cmdsave.Enabled = False .cmdupdate.Enabled = False .Top = 2000 .Left = 2000 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuPubEdit_Click() With Publisherfrm .cmdnew.Enabled = False .cmdsave.Enabled = False .cmddel.Enabled = False .Top = 2000 .Left = 2000 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuPubNew_Click() With Publisherfrm .cmddel.Enabled = False .cmdupdate.Enabled = False .Top = 2000 .Left = 2000 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuPubOpn_Click() With Publisherfrm .cmdnew.Enabled = False

Page 43

.cmdsave.Enabled = False .cmdupdate.Enabled = False .cmddel.Enabled = False .Top = 2000 .Left = 2000 .Show vbModal, MDIForm1 End With End Sub Private Sub menurptallbk_Click() ReportBooksfrm.Show vbModal, MDIForm1 End Sub Private Sub menusearch_Click() Searchfrm.Show vbModal, MDIForm1 End Sub Private Sub MenuShopDelete_Click() With Shopfrm .cmdnew.Enabled = False .cmdsave.Enabled = False .cmdupdate.Enabled = False .Top = 2200 .Left = 2000 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuShopEdit_Click() With Shopfrm .cmdnew.Enabled = False .cmdsave.Enabled = False .cmddel.Enabled = False .Top = 2200 .Left = 2000 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuShopNew_Click() With Shopfrm .cmdupdate.Enabled = False .cmddel.Enabled = False .Top = 2200 .Left = 2000 .Show vbModal, MDIForm1 End With

Page 44

End Sub Private Sub MenuShopOpn_Click() With Shopfrm .cmdnew.Enabled = False .cmdsave.Enabled = False .cmdupdate.Enabled = False .cmddel.Enabled = False .Top = 2200 .Left = 2000 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuStudEdit_Click() With Studentfrm .cmdAddnew.Enabled = False .cmdsave.Enabled = False .Top = 800 .Left = 800 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuStudNew_Click() With Studentfrm .cmdupdate.Enabled = False .Top = 800 .Left = 800 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuStudOpn_Click() With Studentfrm .cmdAddnew.Enabled = False .cmdsave.Enabled = False .cmdupdate.Enabled = False .Top = 800 .Left = 800 .Show vbModal, MDIForm1 End With End Sub Private Sub menustudsave_Click()

Page 45

With Studentfrm .cmdupdate.Enabled = False .Top = 800 .Left = 800 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuTopicEdit_Click() With Topicfrm .cmdnew.Enabled = False .cmdsave.Enabled = False .cmddel.Enabled = False .Top = 2600 .Left = 2100 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuTopicNew_Click() With Topicfrm .cmdupdate.Enabled = False .cmddel.Enabled = False .Top = 2600 .Left = 2100 .Show vbModal, MDIForm1 End With End Sub Private Sub menutopicopen_Click() With Topicfrm .cmdnew.Enabled = False .cmdsave.Enabled = False .cmddel.Enabled = False .cmdupdate.Enabled = False .Top = 2600 .Left = 2100 .Show vbModal, MDIForm1 End With End Sub Private Sub menutopicsave_Click() With Topicfrm .cmddel.Enabled = False .cmdupdate.Enabled = False .Top = 2600

Page 46

.Left = 2100 .Show vbModal, MDIForm1 End With End Sub Private Sub MenuUserDelete_Click() Userfrm.Show vbModal, MDIForm1 End Sub Private Sub MenuUserEdit_Click() Userfrm.Show vbModal, MDIForm1 End Sub Private Sub MenuUserNew_Click() Userfrm.Show vbModal, MDIForm1 End Sub '****************End code of MDI Form********************* Code of User Module **********************Code of UserModule********************* Option Explicit Dim MaxuserId As Integer '=============for From user================== Public Sub FlexGridUserHead() With Userfrm.FlexGridUser '.Clear 'To Set Heading Rows .TextMatrix(0, 0) = "User ID": .ColWidth(0) = 1500 .TextMatrix(0, 1) = "Name": .ColWidth(1) = 3000 .TextMatrix(0, 2) = "Password": .ColWidth(2) = 0 ' to make heading row bold Call HeadBold(Userfrm.FlexGridUser, .Cols) End With End Sub '==================== Grid of UserForm ==================== Public Sub FlexGridUserFill() Dim R As Byte Dim UserRec As New ADODB.Recordset Dim ReadRec As String ReadRec = "select UserId1, UserName1, password1 from usermaster order by UserId1" UserRec.Open ReadRec, UserCon, adOpenStatic If UserRec.RecordCount > 0 Then With Userfrm.FlexGridUser

Page 47

.Rows = UserRec.RecordCount + 1 While Not UserRec.EOF R=R+1 .TextMatrix(R, 0) = UserRec!userid1 .TextMatrix(R, 1) = UserRec!UserName1 .TextMatrix(R, 2) = UserRec!password1 If UserRec.EOF = True Then UserRec.MoveLast End If UserRec.MoveNext Wend UserRec.MoveLast MaxuserId = UserRec.Fields(0).Value + 1 UserRec.Close Userfrm.txtUserID.Text = MaxuserId End With End If End Sub '*********************End of UserModule Code****************** Code of Main Mddule '*******************Code of Main Module *************************** Option Explicit Dim gh(10) As String Public UserCon As New ADODB.Connection Public Sub main() Splashfrm.Show End Sub '**************For BackUp form***************** '============== SUB ROUTINE TO MAKES ANY GRID'S HEADING BOLD=========== Public Sub HeadBold(grid As MSFlexGrid, ByVal C As Byte) Dim i As Integer With grid .Row = 0 ' select 1st row in grid For i = 0 To C - 1 .Col = i: .CellFontBold = True .FixedAlignment(i) = flexAlignCenterCenter Next i End With End Sub '******************End of Code Main Module*******************

Page 48

Splash Screen

'*****************Code of Splash Form******************** Option Explicit Private Sub Form_Click() Unload Me Loginfrm.Show End Sub Private Sub Timer1_Timer() Me.Top = 125 + Me.Top Me.Width = Me.Width + 685 Me.Height = Me.Height + 390 Me.Left = Me.Left + 80 If Me.Top > 1500 Then Timer1.Enabled = False Timer2.Enabled = True End If End Sub Private Sub Timer2_Timer() Unload Me Loginfrm.Show End Sub Private Sub Form_KeyPress(KeyAscii As Integer) Unload Me Loginfrm.Show End Sub Private Sub Form_Load() Timer1.Enabled = True End Sub '*********************End of Splash Form********************

Page 49

Login Form

'*******************Code of Login Form********************** Option Explicit Private Sub Form_Load() Call SetUserCon End Sub Private Sub cmdcancel_Click() End End Sub Private Sub cmdok_Click() If txtuserlogname.Text = "" And txtuserlogpwd.Text = "" Then MsgBox "Please fill Compelete Information", vbCritical End If Dim RecSec As New ADODB.Recordset Dim sqllog As String Dim i As Integer Dim flag As Boolean sqllog = "SELECT username1, password1 From usermaster WHERE username1 = '" & txtuserlogname & "' AND password1 = '" & txtuserlogpwd & "' " RecSec.Open sqllog, UserCon, adOpenStatic If RecSec.RecordCount > 0 Then flag = True Unload Me MDIForm1.Show Else MsgBox "Invalid Username or Password" End If End Sub Private Sub txtuserlogpsd_KeyDown(KeyCode As Integer, Shift As Integer) If txtuserlogpsd.Text = "" Then Exit Sub

Page 50

If KeyCode = vbKeyReturn Then cmdok.SetFocus End If End Sub Private Sub txtuserlognm_KeyDown(KeyCode As Integer, Shift As Integer) If txtuserlognm.Text = "" Then Exit Sub If KeyCode = vbKeyReturn Then txtuserlogpsd.SetFocus End If End Sub '*******************End of Login Form***********************

Issue Deposit Form

Code of Issue Deposit Form


'***************Code of Issue Deposit Form******************* Option Explicit Private Sub cmdclose_Click()

Page 51

Unload Me End Sub '****************Code for Save Record******************************** Private Sub cmdsave_Click() Dim sql As String If OptIssue.Value = True Then sql = "insert into IssueDeposit (Enrollment,Bookid,IssueDate,Return) " & _ "values (" & txtEnrNo & "," & txtbookId & ",'" & DTPBkIssueDate.Value & "'," & _ optno.Value & ")" UserCon.Execute sql Call flexgridfillsearch Else sql = "update IssueDeposit set ReturnDate='" & DTPBkReturnDate.Value & "',Return= " & optyes.Value & " ," & _ "Days= " & txtdays.Text & ", fine= " & _ txtfine.Text & " where enrollment = " & txtEnrNo.Text & " bookId = " & _ txtbookId.Text & " and Return = False " UserCon.Execute sql Call flexgridfillsearch End If End Sub '********************************************************* Private Sub DTPBkReturnDate_LostFocus() txtdays.Text = DTPBkReturnDate.Value - DTPBkIssueDate.Value End Sub Private Sub Form_Load() Call flexgridfillsearch End Sub '=================Code for Fill FlexGrid ================== Private Sub flexgridfillsearch() Dim rsRec As New ADODB.Recordset Dim i As Integer Dim sql As String i=0 With FlexGridIssDep .TextMatrix(i, 0) = "Enrollment No.": .ColWidth(0) = 1350 .TextMatrix(i, 1) = "Book Id": .ColWidth(2) = 1400 .TextMatrix(i, 2) = "Issue Date": .ColWidth(4) = 750 .TextMatrix(i, 3) = "Return Date": .ColWidth(5) = 1400 .TextMatrix(i, 4) = "Return": .ColWidth(6) = 1200 .TextMatrix(i, 5) = "Fine": .TextMatrix(i, 6) = "Days ": .ColWidth(7) = 1200 .ColWidth(8) = 900

Page 52

sql = "select * from issuedeposit" rsRec.Open sql, UserCon, adOpenStatic While Not rsRec.EOF .Rows = .Rows + 1 i=i+1 .TextMatrix(i, 0) = rsRec!enrollment .TextMatrix(i, 1) = rsRec!bookid .TextMatrix(i, 2) = rsRec!issuedate If IsNull(rsRec!returndate) = False Then .TextMatrix(i, 3) = rsRec!returndate Else .TextMatrix(i, 3) = "" End If .TextMatrix(i, 4) = rsRec!return .TextMatrix(i, 5) = rsRec!fine .TextMatrix(i, 6) = rsRec!Days rsRec.MoveNext Wend rsRec.Close End With End Sub '================End ================================ Private Sub OptDeposit_Click() IssueFram.Enabled = False DepositFram.Enabled = True optyes.Value = True End Sub Private Sub OptIssue_Click() DepositFram.Enabled = False IssueFram.Enabled = True optno.Value = True End Sub Private Sub txtBookIDep_LostFocus() If OptDeposit.Value = True Then Dim rsbook As New ADODB.Recordset Dim sql As String optyes.Value = True If txtBookIdDep <> "" Then sql = "select * from IssueDeposit where bookid = " & txtBookIdDep.Text & " and return = false" rsbook.Open sql, UserCon, adOpenStatic If rsbook.RecordCount > 0 Then txtEnrNo.Text = rsbook!enrollment DTPBkReturnDate.Value = rsbook!issuedate txtdays.Text = DTPBkReturnDate.Value - DTPBkIssueDate.Value

Page 53

End If End If End If End Sub Private Sub txtEnrNo_lostfocus() Debug.Print OptIssue.Value If OptIssue.Value = True Then Dim rec As New ADODB.Recordset Dim sql As String sql = "select studfname from studentmaster where enrollment = " & txtEnrNo.Text & " " rec.Open sql, UserCon, adOpenStatic If rec.RecordCount > 0 Then txtStudName.Text = rec!studfname Else MsgBox "Enrollment No. Not Found" txtStudName.Text = "" End If End If End Sub Private Sub txtbookId_lostfocus() If OptIssue.Value = True Then Dim rec As New ADODB.Recordset Dim sql As String sql = "select BookName from Bookmaster where BookId = " & txtbookId.Text & "" rec.Open sql, UserCon, adOpenStatic If rec.RecordCount > 0 Then lblbookname.Caption = lblbookname.Caption & " " & Mid(rec!bookname, 1, 20) lblbookname.Caption = UCase(lblbookname.Caption) Else MsgBox "Book No. Not Found" End If End If End Sub 'Private Sub txtBookIdDep_lostfocus() If OptDeposit.Value = True Then Dim rec As New ADODB.Recordset Dim sql As String sql = "select studfname,bookId form studentmaster where bookId = " & txtbookId.Text & " and enrollment= " & txtEnrNo.Text & " " rec.Open sql, UserCon, adOpenStatic If rec.RecordCount > 0 Then

Page 54

txtStudName.Text = rec!studfname Else MsgBox "Enrollment No. Not Found" txtStudName.Text = "" End If End If End Sub '**************Only number value enter in Enrollment no Text Box ************ Private Sub txtenrno_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '******************************************************************* '**************Only number value enter in Book Id Text Box ************ Private Sub txtbookid_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '******************************************************************* '**************Only number value enter in book id Deposit Text Box ************ Private Sub txtbookidDep_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '**************************End of IssueDeposit Form**********************************

Book Master Form

Page 55

Code of Book Master Form **********************Code of Book Form*************************** Option Explicit Public BookRecNo As Long Private Sub cmdclose_Click() Unload Me End Sub Private Sub Form_Load() Call cmdFirst_Click End Sub '***************Code for Clear Text for New Entry********** Private Sub cmdnewbook_Click() cmdsavebook.Enabled = True txtbkId.Text = "" txtbkcode.Text = "" txtbkname.Text = "" txtbktopicId.Text = "" txtbkauthID.Text = "" txtbkednyr.Text = "" txtbkisbn.Text = "" txtbkpubId.Text = "" txtbkshopId.Text = "" txtbkprice.Text = "" txtbkreckno.Text = "" End Sub

Page 56

'********************************************************* '*************Code of Save Record************************* Private Sub cmdsavebook_click() Dim sqlbksave As String Dim tmplost As Boolean If txtbkId.Text = "" Or txtbkauthID.Text = "" Or txtbkname.Text = "" Or txtbktopicId.Text = "" Or txtbkauthID.Text = "" Or txtbkednyr.Text = "" Or txtbkisbn.Text = "" Or txtbkpubId.Text = "" Or txtbkpubId.Text = "" Or txtbkshopId.Text = "" Or txtbkprice.Text = "" Or txtbkreckno.Text = "" Then MsgBox "Please Fill All Information", vbInformation, "Incomplete Information" txtbkId.SetFocus Else If optyes.Value Then tmplost = optyes.Value Else tmplost = optno.Value End If sqlbksave = "insert into bookmaster(bookid,bookcode,bookname,topicid,authorid, " & _ "editionyear,isbn,pubid,shopid,purdate,medium, " & _ "lost,price,reckno) " & _ "values( " & txtbkId.Text & "," & txtbkcode.Text & ",'" & _ txtbkname.Text & "'," & txtbktopicId.Text & "," & _ txtbkauthID.Text & "," & txtbkednyr.Text & "," & _ txtbkisbn.Text & ", " & txtbkpubId.Text & ", " & _ txtbkshopId.Text & ", '" & _ DTPbkpurdate.Value & "', '" & cmbmedm.Text & "', " & _ tmplost & ", " & txtbkprice.Text & ", '" & _ txtbkreckno.Text & "')" UserCon.Execute sqlbksave Call cmdnewbook_Click End If End Sub '********************************************************* '********************Code of Update Record**************** Private Sub cmdupdatebook_Click() Dim sql As String sql = "update bookmaster set " & _ "bookname= '" & txtbkname & "', topicId = " & txtbktopicId.Text & ", " & _ "authorId = " & txtbkauthID.Text & ", Editionyear = " & txtbkednyr.Text & ", " & _ "Isbn = " & txtbkisbn.Text & ", pubId = " & txtbkpubId.Text & ", " & _ "shopId = " & txtbkshopId.Text & ", purdate = '" & DTPbkpurdate.Value & "'," &_ "medium ='" & cmbmedm.Text & "',price = " & txtbkprice.Text & "," & _ "reckno = '" & txtbkreckno.Text & "' where bookId = " & txtbkId.Text & " "

Page 57

UserCon.Execute sql Call cmdNext_Click End Sub '********************************************************* Private Sub cmdFirst_Click() BookRecNo = 0 Call ShowBookRec(BookRecNo) End Sub '****************Code of Goto Previous********************* Private Sub cmdPrevious_Click() Dim rec As New ADODB.Recordset rec.Open "select * from bookmaster order by BookID", UserCon, adOpenStatic BookRecNo = BookRecNo - 1 If BookRecNo < 0 Then BookRecNo = 0 End If Call ShowBookRec(BookRecNo) End Sub '********************************************************* '*************Code for Goto Next Record*************************** Private Sub cmdNext_Click() Dim rec As New ADODB.Recordset rec.Open "select * from bookmaster order by BookID", UserCon, adOpenStatic BookRecNo = BookRecNo + 1 If BookRecNo >= rec.RecordCount Then BookRecNo = rec.RecordCount - 1 End If Call ShowBookRec(BookRecNo) End Sub '********************************************************* '****************Code for Goto Last Record**************** Private Sub cmdLast_Click() Dim rec As New ADODB.Recordset rec.Open "select * from bookmaster order by BookID", UserCon, adOpenStatic BookRecNo = rec.RecordCount - 1 Call ShowBookRec(BookRecNo) End Sub '*********************************************************

Page 58

'****************Comman Function for Show Record********** Public Sub ShowBookRec(ByRef RNo As Long) Dim rec As New ADODB.Recordset rec.Open "select * from bookmaster order by BookID", UserCon, adOpenStatic If RNo > -1 Then cmdsavebook.Enabled = False End If If rec.RecordCount > 0 Then If rec.EOF = True Then RNo = rec.RecordCount - 1 End If rec.Move RNo txtbkId.Text = rec!bookid txtbkcode.Text = rec!bookcode txtbkname.Text = rec!bookname txtbktopicId.Text = rec!topicid txtbkauthID.Text = rec!AuthorId txtbkednyr.Text = rec!editionyear txtbkisbn.Text = rec!Isbn txtbkpubId.Text = rec!PubId txtbkshopId.Text = rec!shopid DTPbkpurdate.Value = rec!purdate cmbmedm.Text = rec!medium If rec!lost = True Then optyes.Value = True Else optno.Value = True End If txtbkprice.Text = rec!price txtbkreckno.Text = rec!reckno End If End Sub '********************************************************* '**************Only number value enter in AuthorId Text Box ************ Private Sub txtbkauthId_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '*******************************************************************

Page 59

'**************Only number value enter in book code Text Box ************ Private Sub txtbkcode_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '******************************************************************* '**************Only number value enter in Edition Year Text Box ************ Private Sub txtbkednyr_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '******************************************************************* '*************Only number value enter in book id text box******* Private Sub txtbkId_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '*********************************************************** '**************Only number value enter in Isbn No Text Box ************ Private Sub txtbkisbn_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '*******************************************************************

'**************Only number value enter in price Text Box ************ Private Sub txtbkprice_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '******************************************************************* '**************Only number value enter in Publisher Id Text Box ************ Private Sub txtbkpubId_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then

Page 60

KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '******************************************************************* '**************Only number value enter in shop Id Text Box ************ Private Sub txtbkshopId_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '******************************************************************* '**************Only number value enter in Topic Id Text Box ************ Private Sub txtbktopicId_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '************************End Book Form****************************

Author Form

Page 61

Code of Author Form


'*********code of Author Form*************

Option Explicit Dim gh(10) As String '********For Delete Record************************** Private Sub cmddel_Click() UserCon.Execute "delete from Authormaster where AuthorId =" & txtauthId.Text & "" FlexGridAuth.RemoveItem (FlexGridAuth.Row) End Sub '**************************************************** '*******For Blank the Text Box For New entry********* Private Sub cmdnew_Click() txtauthId.Text = ""

Page 62

txtauthfname.Text = "" txtauthlname.Text = "" txtauthemail.Text = "" txtauthtelno.Text = "" txtauthadd1.Text = "" txtauthadd2.Text = "" txtauthcity.Text = "" End Sub '**************************************************** '********Code For Save Record *********************** Private Sub cmdsave_Click() Dim sqlsave As String Dim rsAuth As New ADODB.Recordset sqlsave = "select AuthorId from authormaster where authorid = " & txtauthId.Text &"" rsAuth.Open sqlsave, UserCon, adOpenStatic If rsAuth.RecordCount > 0 Then MsgBox "Duplicate Record " Exit Sub End If If txtauthId.Text = "" Or txtauthfname.Text = "" Or txtauthlname.Text = "" Or txtauthcity.Text = "" Then MsgBox "Please Fill All Info.", vbInformation, "Incomplete Info." txtauthId.SetFocus Else sqlsave = "insert into Authormaster(AuthorId, " & _ "Authorfname,Authorlname,Authoremail,AuthorTelno, " & _ "Authoradd1,Authoradd2,Authorcity) " & _ "values(" & txtauthId & ",'" & txtauthfname & "','" & txtauthlname & "','" & txtauthemail & "','" & txtauthtelno & "','" & txtauthadd1 & "','" & txtauthadd2 & "', '" & txtauthcity & "')" UserCon.Execute sqlsave Call cmdnew_Click Dim sql As String sql = "select * from authormaster order by AuthorID" Fillgrid FlexGridAuth, sql, 8 End If End Sub '*************************************************************** '**************Code for Update Record ************************** Private Sub cmdupdate_Click() Dim sql As String

Page 63

sql = "update Authormaster set " & _ "Authorfname = '" & txtauthfname & "', Authorlname = '" & txtauthlname & "', " &_ "Authoremail = '" & txtauthemail & "', AuthorTelno = '" & txtauthtelno & "', " & _ "Authoradd1 = '" & txtauthadd1 & "', Authoradd2 = '" & txtauthadd2 & "', " & _ "Authorcity = '" & txtauthcity & "' where AuthorId = " & txtauthId.Text & " " UserCon.Execute sql sql = "select * from authormaster order by AuthorID" Fillgrid FlexGridAuth, sql, 8

End Sub '**************************************************** '*************Code for fill Flexgrid ********************************* Private Sub FlexGridAuth_SelChange() With FlexGridAuth txtauthId = .TextMatrix(.Row, 0) txtauthfname = .TextMatrix(.Row, 1) txtauthlname = .TextMatrix(.Row, 2) txtauthemail = .TextMatrix(.Row, 3) txtauthadd1 = .TextMatrix(.Row, 4) txtauthadd2 = .TextMatrix(.Row, 5) txtauthcity = .TextMatrix(.Row, 6) txtauthtelno = .TextMatrix(.Row, 7) End With End Sub '**************************************************** Private Sub Form_Load() Call cmdnew_Click '***********Code for Set Heading of Flexgrid****************** With FlexGridAuth '.Clear .TextMatrix(0, 0) = "AuthorId": .ColWidth(0) = 1000 .TextMatrix(0, 1) = "First Name ": .ColWidth(1) = 1500 .TextMatrix(0, 2) = "Last Name": .ColWidth(2) = 1400 .TextMatrix(0, 3) = "Email": .ColWidth(3) = 750 .TextMatrix(0, 4) = "PhoneNo": .ColWidth(4) = 1000 .TextMatrix(0, 5) = "Address1": .ColWidth(5) = 1400 .TextMatrix(0, 6) = "Address2": .ColWidth(6) = 1200 .TextMatrix(0, 7) = "City ": .ColWidth(7) = 900 '****Call Function for set Heading Bold******* Call HeadBold(FlexGridAuth, .Cols) '********************************************* End With

Page 64

Dim sql As String sql = "select * from authormaster order by AuthorID" Fillgrid FlexGridAuth, sql, 8 End Sub '**************Code for only number value enter in AuthorId TextBox ************ Private Sub txtauthId_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '******************************************************************* '**************Code for only number value enter in Tel No Text Box ************ Private Sub txtauthtelno_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '********************End of Author form code***************************************

Page 65

Publisher Form

Code of Publisher Form '**********************Code of Publisher Form******************** Option Explicit Dim gh(10) As String Private Sub cmddel_Click() UserCon.Execute "delete from Publishermaster where pubId = " & txtpubId.Text & "" FlexGridPub.RemoveItem (FlexGridPub.Row) End Sub Private Sub cmdnew_Click() txtpubId.Text = "" txtpubfname.Text = "" txtpublname.Text = "" txtpubemail.Text = "" txtpubtelno.Text = "" txtpubadd1.Text = "" txtpubadd2.Text = "" txtpubcity.Text = "" ' txtpubId.SetFocus End Sub Private Sub cmdsave_Click() Dim sqlsave As String

Page 66

Dim rspub As New ADODB.Recordset sqlsave = "select PubId from publishermaster where pubid = " & txtpubId.Text & " " rspub.Open sqlsave, UserCon, adOpenStatic If rspub.RecordCount > 0 Then MsgBox "Duplicate Record " Exit Sub End If If txtpubId.Text = "" Or txtpubfname.Text = "" Or txtpublname.Text = "" Or txtpubcity.Text = "" Then MsgBox "Please Fill All Info.", vbInformation, "Incomplete Info." txtpubId.SetFocus Else sqlsave = "insert into publishermaster(pubId, " & _ "pubfname,publname,pubemail,pubTelno, " & _ "pubadd1,pubadd2,pubcity) " & _ "values(" & txtpubId & ",'" & txtpubfname & "','" & txtpublname & "','" & txtpubemail & "','" & txtpubtelno & "','" & txtpubadd1 & "','" & txtpubadd2 & "','" & txtpubcity & "')" UserCon.Execute sqlsave Call cmdnew_Click Dim sqls As String sqls = "select * from publishermaster order by pubId" Fillgrid FlexGridPub, sqls, 8 End If End Sub Private Sub cmdupdate_Click() Dim sqlupdate As String sqlupdate = "update Publishermaster set " & _ "pubfname= '" & txtpubfname & "', publname = '" & txtpublname & "', " & _ "pubemail = '" & txtpubemail & "', pubadd1 = '" & txtpubadd1 & "', " & _ "pubadd2 = '" & txtpubadd2 & "', pubcity = '" & txtpubcity & "'," & _ "pubtelno =" & txtpubtelno & " where pubId = " & txtpubId.Text & " " UserCon.Execute sqlupdate Dim sqlu As String sqlu = "select * from publishermaster order by pubId" Fillgrid FlexGridPub, sqlu, 8 End Sub Private Sub FlexGridPub_SelChange() With FlexGridPub

Page 67

txtpubId = .TextMatrix(.Row, 0) txtpubfname = .TextMatrix(.Row, 1) txtpublname = .TextMatrix(.Row, 2) txtpubemail = .TextMatrix(.Row, 3) txtpubadd1 = .TextMatrix(.Row, 4) txtpubadd2 = .TextMatrix(.Row, 5) txtpubcity = .TextMatrix(.Row, 6) txtpubtelno = .TextMatrix(.Row, 7) End With End Sub Private Sub Form_Load() 'Call SetUserCon Call cmdnew_Click With FlexGridPub ' .Clear .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0,

0) = "PubisherId": .ColWidth(0) = 1200 1) = "First Name ": .ColWidth(1) = 1500 2) = "Last Name": .ColWidth(2) = 1400 3) = "Email": .ColWidth(3) = 750 5) = "Address1": .ColWidth(5) = 1400 6) = "Address2": .ColWidth(6) = 1200 7) = "City ": .ColWidth(7) = 900 4) = "PhoneNo": .ColWidth(4) = 1000

Call HeadBold(FlexGridPub, .Cols) End With Dim sql As String sql = "select * from Publishermaster" Fillgrid FlexGridPub, sql, 8 End Sub '**************Only number value enter in Publisher Id Text Box ************ Private Sub txtpubId_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '*******************************************************************

'**************Only number value enter in pub tel no Text Box ************ Private Sub txtpubtelno_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then

Page 68

KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '***************End of Publisher Form**********************************************

ShopKeeper Datail Form

Code of Shopkeeper Form '*******************Code of shop Form *********************** Option Explicit Dim gh(10) As String '*****************For Delete Record*********************** Private Sub cmddel_Click() UserCon.Execute "delete from shopmaster where shopId = " & txtshopId.Text & " " FlexGridshop.RemoveItem (FlexGridshop.Row) End Sub '********************************************************* '****************Code for clear text box for new entry***** Private Sub cmdnew_Click() txtshopId.Text = "" txtshopname.Text = "" txtshopfax.Text = ""

Page 69

txtshopemail.Text = "" txtshopadd1.Text = "" txtshopadd2.Text = "" txtshopcity.Text = "" txtshoptelno.Text = "" End Sub '********************************************************* '****************For Save Record************************** Private Sub cmdsave_Click() Dim sqlsave As String Dim rsShop As New ADODB.Recordset sqlsave = "select shopId from shopmaster where shopid = " & txtshopId.Text & " " rsShop.Open sqlsave, UserCon, adOpenStatic If rsShop.RecordCount > 0 Then MsgBox "Duplicate Record " Exit Sub End If If txtshopId.Text = "" Or txtshopname.Text = "" Or txtshoptelno.Text = "" Or txtshopcity.Text = "" Then MsgBox "Please Fill All Info.", vbInformation, "Incomplete Info." txtshopId.SetFocus Else sqlsave = "insert into shopmaster(shopId, " & _ "shopname,shopfaxno,shopemail, " & _ "shopadd1,shopadd2,shopcity,shopphone) " & _ "values(" & txtshopId & ",'" & txtshopname & "','" & _ txtshopfax & "','" & txtshopemail & "','" & _ txtshopadd1 & "','" & txtshopadd2 & "','" & _ txtshopcity & "','" & txtshoptelno & "')" UserCon.Execute sqlsave Call cmdnew_Click Dim sqls As String sqls = "select * from shopmaster order by shopId" Fillgrid FlexGridshop, sqls, 8 End If End Sub '********************************************************* '******************Code for Update Record***************** Private Sub cmdupdate_Click() Dim sqlupdate As String sqlupdate = "update shopmaster set " & _ "shopname= '" & txtshopname & "', shopphone = '" & txtshoptelno & "', " & _ "shopfaxno = '" & txtshopfax.Text & "',shopemail = '" & txtshopemail.Text & "', "&_

Page 70

"shopadd1 = '" & txtshopadd1 & "', shopadd2 = '" & txtshopadd2.Text & "'," & _ "shopcity ='" & txtshopcity & "' where shopId = " & txtshopId UserCon.Execute sqlupdate Dim sqlu As String sqlu = "select * from shopmaster order by shopId" Fillgrid FlexGridshop, sqlu, 8 End Sub '********************************************************* '***********Code for Select any Record in Flexgrid and Fill Flexgrid******** Private Sub FlexGridshop_SelChange() With FlexGridshop txtshopId = .TextMatrix(.Row, 0) txtshopname = .TextMatrix(.Row, 1) txtshopfax = .TextMatrix(.Row, 2) txtshopemail = .TextMatrix(.Row, 3) txtshopadd1 = .TextMatrix(.Row, 4) txtshopadd2 = .TextMatrix(.Row, 5) txtshopcity = .TextMatrix(.Row, 6) txtshoptelno = .TextMatrix(.Row, 7) End With End Sub '********************************************************* Private Sub Form_Load() 'Call SetUserCon Call cmdnew_Click '******************Set Heading of Flexgird***************** With FlexGridshop ' .Clear .TextMatrix(0, 0) = "Shop Id": .ColWidth(0) = 1000 .TextMatrix(0, 1) = "Shop Name ": .ColWidth(1) = 1500 .TextMatrix(0, 2) = "Shop FaxNo": .ColWidth(2) = 1400 .TextMatrix(0, 3) = "Email": .ColWidth(3) = 750 .TextMatrix(0, 4) = "Address1": .ColWidth(4) = 1400 .TextMatrix(0, 5) = "Address2": .ColWidth(5) = 1200 .TextMatrix(0, 6) = "City ": .ColWidth(6) = 900 .TextMatrix(0, 7) = "PhoneNo": .ColWidth(7) = 1000 Call HeadBold(FlexGridshop, .Cols) End With Dim sql As String sql = "select * from Shopmaster" Fillgrid FlexGridshop, sql, 8

Page 71

End Sub '********************************************************* '**************Only number value enter in shop fax no Text Box ************ Private Sub txtshopfax_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '******************************************************************* '**************Only number value enter in shop Id Text Box ************ Private Sub txtshopId_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '******************************************************************* '**************Only number value enter in shop tel no Text Box ************ Private Sub txtshoptelno_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '****************End of Shop Form ********************************************

Page 72

User Detail Form

Code of User Form '***************Code of User Form********************* Option Explicit Dim MaxuserId As Long ''=.=.==.=.=.==.=.=.=.=.==.=.=.=.=.==.=.=.=.=.=.=.=. Private Sub Form_Load() ' Call SetUserCon Call FlexGridUserHead Call FlexGridUserFill ' txtUserID.Text = MaxuserId End Sub ''=.=.==.=.=.==.=.=.=.=.==.=.=.=.=.==.=.=.=.=.=.=.=. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyEscape Then Unload Me End If End Sub Private Sub cmdNewUser_Click() 'To Clear the Text Boxes txtUserID = MaxuserId txtUserName = "" txtPassword = ""

Page 73

cmdModifyUser.Enabled = False cmdDeleteUser.Enabled = False txtUserName.SetFocus End Sub Private Sub cmdSaveUser_Click() Dim i As Integer Dim SaveUserRec As String If txtUserID.Text = "" Or txtUserName.Text = "" Or txtPassword.Text = "" Then MsgBox "Enter Complete Information ", vbInformation, "Empty Field" Else With FlexGridUser For i = 1 To .Rows - 1 If txtUserID.Text = .TextMatrix(i, 0) Then MsgBox "Duplcate Record" Call cmdNewUser_Click Exit Sub End If Next SaveUserRec = "insert into usermaster(UserId1, UserName1,password1) " & _ "values(" & txtUserID.Text & ",'" & txtUserName.Text & "', '" & _ txtPassword.Text & "')" UserCon.Execute SaveUserRec .Rows = .Rows + 1 .TextMatrix(.Rows - 1, 0) = txtUserID.Text .TextMatrix(.Rows - 1, 1) = txtUserName.Text .TextMatrix(.Rows - 1, 2) = txtPassword.Text MaxuserId = .TextMatrix(FlexGridUser.Rows - 1, 0) + 1 End With Call cmdNewUser_Click End If End Sub Private Sub cmdModifyUser_Click() Dim ModiUserRec As String ModiUserRec = "update usermaster set UserName1 = '" & txtUserName.Text & "' , " & _ "password1 = '" & txtPassword.Text & "' where UserId1 = " & txtUserID.Text & "" UserCon.Execute ModiUserRec With FlexGridUser .TextMatrix(.Row, 1) = txtUserName.Text .TextMatrix(.Row, 2) = txtPassword.Text End With Call cmdNewUser_Click

Page 74

txtUserName.Locked = False txtUserID.Locked = False End Sub Private Sub cmdDeleteUser_Click() Dim ReadUserRec As New ADODB.Recordset Dim DelUserRec As String DelUserRec = "delete from usermaster where " & _ "userid1 = " & FlexGridUser.TextMatrix(FlexGridUser.Row, 0) & "" With FlexGridUser If .Row > 1 Then ReadUserRec.Open DelUserRec, UserCon, adOpenDynamic UserCon.Execute DelUserRec .RemoveItem .Row End If End With Call cmdNewUser_Click End Sub Private Sub FlexGridUser_Selchange() With FlexGridUser If .Row = 1 Then txtUserName.Locked = True txtUserName.Locked = True txtUserID.Text = .TextMatrix(.Row, 0) txtUserName.Text = .TextMatrix(.Row, 1) txtPassword.Text = .TextMatrix(.Row, 2) cmdModifyUser.Enabled = True cmdDeleteUser.Enabled = False End If If FlexGridUser.Row > 1 Then cmdModifyUser.Enabled = True cmdDeleteUser.Enabled = True txtUserID = .TextMatrix(FlexGridUser.Row, 0) txtUserName = .TextMatrix(FlexGridUser.Row, 1) txtPassword = .TextMatrix(FlexGridUser.Row, 2) End If End With End Sub '**********************End of User Form***********************

Page 75

Topic Form

Code of Topic Form '*****************Code of Topic Form************************ Option Explicit Private Sub cmddel_Click() UserCon.Execute "delete from Topicmaster where TopicId =" & txtTopicId.Text & "" FlexGridTopic.RemoveItem (FlexGridTopic.Row) End Sub Private Sub cmdnew_Click() txtTopicId.Text = "" txtTopic.Text = "" End Sub Private Sub cmdsave_Click() Dim sqlsave As String Dim rsTopic As New ADODB.Recordset sqlsave = "select TopicId from Topicmaster where Topicid = " & txtTopicId.Text & "" rsTopic.Open sqlsave, UserCon, adOpenStatic If rsTopic.RecordCount > 0 Then MsgBox "Duplicate Record " Exit Sub End If

Page 76

If txtTopicId.Text = "" Or txtTopic.Text = "" Then MsgBox "Please Fill All Info.", vbInformation, "Incomplete Info." txtTopicId.SetFocus Else sqlsave = "insert into topicmaster(topicId, " & _ "topic) " & _ "values(" & txtTopicId & ",'" & txtTopic & "')" UserCon.Execute sqlsave Call cmdnew_Click Dim sql As String sql = "select * from Topicmaster order by TopicId" Fillgrid FlexGridTopic, sql, 2 End If End Sub Private Sub cmdupdate_Click() Dim sqlupdate As String sqlupdate = "update topicmaster set " & _ "topic= '" & txtTopic & "' where topicId = " & txtTopicId UserCon.Execute sqlupdate Dim sqlu As String sqlu = "select * from Topicmaster order by TopicId" Fillgrid FlexGridTopic, sqlu, 2 End Sub Private Sub FlexGridTopic_SelChange() With FlexGridTopic txtTopicId = .TextMatrix(.Row, 0) txtTopic = .TextMatrix(.Row, 1) End With End Sub Private Sub Form_Load() 'Call SetUserCon Call cmdnew_Click With FlexGridTopic .Clear .TextMatrix(0, 0) = "TopicId": .TextMatrix(0, 1) = "Topic ":

.ColWidth(0) = 1000 .ColWidth(1) = 1500

Call HeadBold(FlexGridTopic, .Cols)

Page 77

End With Dim sql As String sql = "select * from Topicmaster order by TopicId" Fillgrid FlexGridTopic, sql, 2 End Sub '**************Only number value enter in topic id Text Box ************ Private Sub txtTopicId_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '******************End of Topic Form *********************************************

Page 78

Student Form

Code of Student Master '***********Code of Student form************ Option Explicit Dim gh(10) As String Private Sub cmdAddnew_Click() txtstuderno.Text = "" txtstudname.Text = "" txtstudfname.Text = "" txtstudcm.Text = "" txtstudadd1.Text = "" txtstudadd2.Text = "" txtstudcity.Text = "" txtstudtelno.Text = "" End Sub Private Sub cmdcancel_Click() Unload Me End Sub Private Sub cmdsave_Click() Dim sqlsave As String Dim rsStud As New ADODB.Recordset

Page 79

sqlsave = "select Enrollment from studentmaster where Enrollment = " & txtstuderno.Text & " " rsStud.Open sqlsave, UserCon, adOpenStatic If rsStud.RecordCount > 0 Then MsgBox "Duplicate Record " Exit Sub End If If txtstuderno.Text = "" Or txtstudname.Text = "" Or txtstudfname.Text = "" Or txtstudcity.Text = "" Then MsgBox "Please Fill All Info.", vbInformation, "Incomplete Info." txtstuderno.SetFocus Else sqlsave = "insert into studentmaster(enrollment, " & _ "studname,studfname,studclass,studsection,cautionmoney, " & _ "studadd1,studadd2,studcity,studtelno) " & _ "values(" & txtstuderno & ",'" & txtstudname & "','" & txtstudfname & "','" & cmbclass & "','" & cmbsection & "'," & txtstudcm & ",'" & txtstudadd1 & "','" & txtstudadd2 & "','" & txtstudcity & "','" & txtstudtelno & "')" UserCon.Execute sqlsave Call cmdAddnew_Click Dim sqls As String sqls = "select * from studentmaster order by Enrollment" Fillgrid FlexGridStud, sqls, 10 End If End Sub Private Sub cmdupadate_Click() Dim sqlupdate As String sqlupdate = "update studentmaster set " & _ "studname= '" & txtstudname & "', studfname = '" & txtstudfname & "', " & _ "studclass = '" & cmbclass.Text & "',studsection = '" & cmbsection.Text & "', " &_ "cautionmoney = " & txtstudcm & ", studadd1= '" & txtstudadd1 & "', " & _ "studadd2 = '" & txtstudadd2 & "', studcity = '" & txtstudcity & "'," & _ "studtelno ='" & txtstudtelno & "' where enrollment = " & txtstuderno UserCon.Execute sqlupdate Dim sqlu As String sqlu = "select * from studentmaster order by Enrollment" Fillgrid FlexGridStud, sqlu, 10 End Sub Private Sub FlexGridStud_SelChange() With FlexGridStud

Page 80

txtstuderno.Text = .TextMatrix(.Row, 0) txtstudname.Text = .TextMatrix(.Row, 1) txtstudfname.Text = .TextMatrix(.Row, 2) cmbclass.Text = .TextMatrix(.Row, 3) cmbsection.Text = .TextMatrix(.Row, 4) txtstudcm.Text = .TextMatrix(.Row, 5) txtstudadd1.Text = .TextMatrix(.Row, 6) txtstudadd2.Text = .TextMatrix(.Row, 7) txtstudcity.Text = .TextMatrix(.Row, 8) txtstudtelno.Text = .TextMatrix(.Row, 9) End With End Sub Private Sub Form_Load() ' Call SetUserCon Call cmdAddnew_Click With FlexGridStud ' .Clear .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0,

0) = "Enrollment No.": .ColWidth(0) = 1500 1) = "Student Name ": .ColWidth(1) = 1500 2) = "Father Name": .ColWidth(2) = 1400 3) = "Class": .ColWidth(3) = 600 4) = "Sec.": .ColWidth(4) = 750 5) = "Caut.Money": .ColWidth(5) = 1400 6) = "Address1": .ColWidth(6) = 1200 7) = "Address2": .ColWidth(7) = 1200 8) = "City ": .ColWidth(8) = 900 9) = "Ph. No.": .ColWidth(9) = 1170

Call HeadBold(FlexGridStud, .Cols) End With Dim sql As String sql = "select * from studentmaster" Fillgrid FlexGridStud, sql, 10 End Sub '**************Only number value enter in Enrollment no Text Box ************ Private Sub txtStudErno_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '******************************************************************* '**************Only number value enter in caution money Text Box ************ Private Sub txtstudcm_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter"

Page 81

End If End Sub '**************Only number value enter in tel no Text Box ************ Private Sub txtstudtelno_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '*********************End code of student Form****************************

Searching Form

Code of Searching Form '******************Code of Searching Form****************** Option Explicit Private Sub cmdSearch_Click() Dim rsRec As New ADODB.Recordset Dim sql As String Dim FindRec As Boolean Dim CHeader As ColumnHeader '===========Searching for Book Name,Author Name,Publisher Name,Edition,Reck No.======= If optBkName.Value = True Then sql = " select Bookname, authorid, pubid, ReckNo,editionyear from bookmaster where bookname = '" & txtBookName.Text & "' " LVsearch.ColumnHeaders.Clear Set CHeader = LVsearch.ColumnHeaders.Add(1, , "Book Name", 1800)

Page 82

Set CHeader = LVsearch.ColumnHeaders.Add(2, , "Author", 1500) Set CHeader = LVsearch.ColumnHeaders.Add(3, , "Publisher", 1500) Set CHeader = LVsearch.ColumnHeaders.Add(4, , "Reck No", 1000) Set CHeader = LVsearch.ColumnHeaders.Add(5, , "Edition", 1500) '===========Searching for Book Name if enter perticular Author=================== ElseIf optAuthorName.Value = True Then sql = " SELECT bookmaster.bookname FROM bookmaster WHERE bookmaster.authorid = (select authormaster.authorid from authormaster where authormaster.authorfname = '" & TxtAuthorName.Text & "' )" LVsearch.ColumnHeaders.Clear Set CHeader = LVsearch.ColumnHeaders.Add(1, , "Book Name", 2000) '===========Seaching for Book Name if enter perticular Topic(Subject)Name===== ElseIf Opttopic.Value = True Then sql = "select Bookmaster.bookname from bookmaster where bookmaster.topicId = (select topicmaster.topicid from topicmaster where topicmaster.topic = '" & txtTopic.Text & "' )" LVsearch.ColumnHeaders.Clear Set CHeader = LVsearch.ColumnHeaders.Add(1, , "Book Name", 2200) '============================================================= '===========Seaching for Book Name if enter perticular Publisher Name===== ElseIf optPubName.Value = True Then sql = "select Bookmaster.bookname from bookmaster where bookmaster.pubId = (select publishermaster.pubid from publishermaster where publishermaster.pubfname = '" & txtPublisher.Text & "' )" LVsearch.ColumnHeaders.Clear Set CHeader = LVsearch.ColumnHeaders.Add(1, , "Book Name", 2200) '============================================================= '===========Seaching for Student Name and Book Name if enter any Date=== ElseIf optIssDate.Value = True Then sql = "SELECT studentmaster.studname, bookmaster.bookname From issuedeposit, studentmaster, bookmaster WHERE issuedeposit.enrollment=studentmaster.enrollment And issuedeposit.bookid=bookmaster.bookid And issuedeposit.issuedate=#" & DTPBkIssueDate.Value & "#" LVsearch.ColumnHeaders.Clear Set CHeader = LVsearch.ColumnHeaders.Add(1, , "Student Name", 2500) Set CHeader = LVsearch.ColumnHeaders.Add(2, , "Book Name", 2200) '============================================================= '===========Seaching Book Name and Issue Date if enter the Name of Student ElseIf optStudName.Value = True Then sql = "select bookmaster.bookname,issuedeposit.issuedate,issuedeposit.enrollment from bookmaster,issuedeposit where issuedeposit.bookid = bookmaster.bookid and return = false;" LVsearch.ColumnHeaders.Clear Set CHeader = LVsearch.ColumnHeaders.Add(1, , "Book Name", 2500) Set CHeader = LVsearch.ColumnHeaders.Add(2, , "Issue Date", 1500) Set CHeader = LVsearch.ColumnHeaders.Add(3, , "Enroll No", 2200) '=============================================================

Page 83

'==========Searching Detail of Student if enter Enrollment no of Student===== ElseIf optEnrollment.Value = True Then sql = "select Studname, Studfname, studclass, studsection,cautionmoney,studadd1,studadd2,studcity,studtelno from studentmaster where enrollment = " & txtStudErno.Text & " " LVsearch.ColumnHeaders.Clear Set CHeader = LVsearch.ColumnHeaders.Add(1, , "StudName", 1800) Set CHeader = LVsearch.ColumnHeaders.Add(2, , "StudfName", 2000) Set CHeader = LVsearch.ColumnHeaders.Add(3, , "Class", 500) Set CHeader = LVsearch.ColumnHeaders.Add(4, , "Section", 500) Set CHeader = LVsearch.ColumnHeaders.Add(5, , "Cau.Money", 1200) Set CHeader = LVsearch.ColumnHeaders.Add(6, , "Address1", 2000) Set CHeader = LVsearch.ColumnHeaders.Add(7, , "Address2", 2000) Set CHeader = LVsearch.ColumnHeaders.Add(8, , "StudCity", 1500) Set CHeader = LVsearch.ColumnHeaders.Add(9, , "Phone No.", 2000) End If '============================================================= rsRec.Open sql, UserCon, adOpenStatic If rsRec.RecordCount > 0 Then FindRec = True Else FindRec = False If FindRec = True Then rsRec.Close FillLvSearch sql Else MsgBox "Record Not Found" rsRec.Close End If End Sub '===========Fuction for fill ListView Seaching Result==================== Public Sub FillLvSearch(ByVal sql As String) Dim RecSearch As New ADODB.Recordset Dim i As Long, j As Long Dim LItem As ListItem RecSearch.Open sql, UserCon, adOpenStatic LVsearch.ListItems.Clear For i = 0 To RecSearch.RecordCount - 1 Set LItem = LVsearch.ListItems.Add LItem.Text = RecSearch.Fields(0) If RecSearch.Fields.Count > 1 Then For j = 1 To RecSearch.Fields.Count - 1 LItem.SubItems(j) = RecSearch.Fields(j) Next End If Next RecSearch.Close End Sub

Page 84

'========================End of Function========================= Private Sub Command1_Click() End End Sub Private Sub Form_Load() ' Call SetUserCon End Sub '**************Only number value enter in Enrollment no Text Box ************ Private Sub txtStudErno_KeyPress(KeyAscii As Integer) If KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0 MsgBox "Only Number Value Enter" End If End Sub '*******************End of Searching Form**********************

Page 85

REPORTS
Report Books Form

Code of Report Books Form '*****************Report All & Topic wise Book Form******** Option Explicit Private Sub cmbtopic_LostFocus() lblHeading.Caption = cmbtopic.Text & " WISE LIST... " End Sub Private Sub cmdsearch_Click() Dim sql As String Dim i As Long Dim rsRec As New ADODB.Recordset FlexGridBooksRpt.Clear With FlexGridBooksRpt .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, .TextMatrix(0, 0) = "Book Name": .ColWidth(0) = 2000 1) = "Book Id": .ColWidth(1) = 800 2) = "Author Name": .ColWidth(2) = 2200 3) = "Edition Year": .ColWidth(3) = 1800 4) = "Medium": .ColWidth(4) = 1000

Page 86

.TextMatrix(0, 5) = "Topic Name": End With

.ColWidth(5) = 2500

If Opttopic.Value = True Then sql = "SELECT bookmaster.bookname, bookmaster.editionyear, bookmaster.medium, Authormaster.authorfname, topicmaster.topic" & _ " From bookmaster, Authormaster, topicmaster where bookmaster.authorid = Authormaster.authorid And bookmaster.topicid = topicmaster.topicid" Else sql = "SELECT bookmaster.bookname, bookmaster.editionyear, bookmaster.medium, Authormaster.authorfname, topicmaster.topic" & _ " From bookmaster, Authormaster, topicmaster where bookmaster.authorid = Authormaster.authorid And bookmaster.topicid = topicmaster.topicid" End If UserCon.Execute sql rsRec.Open sql, UserCon, adOpenStatic If rsRec.RecordCount = 0 Then Exit Sub

FlexGridBooksRpt.Rows = rsRec.RecordCount + 2 While Not rsRec.EOF() i=i+1 FlexGridBooksRpt.TextMatrix(i, 0) = rsRec!bookname FlexGridBooksRpt.TextMatrix(i, 1) = rsRec!editionyear FlexGridBooksRpt.TextMatrix(i, 2) = rsRec!medium FlexGridBooksRpt.TextMatrix(i, 3) = rsRec!Authorfname FlexGridBooksRpt.TextMatrix(i, 4) = rsRec!Topic rsRec.MoveNext Wend rsRec.Close End Sub Private Sub optAllbooks_Click() lblHeading.Caption = "ALL AVAILABLE BOOKS LIST" End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Form_Load()

Page 87

'Call SetUserCon With FlexGridBooksRpt '.Rows = 2 .TextMatrix(0, 0) = "Book Name": .ColWidth(0) = 2000 .TextMatrix(0, 1) = "Book Id": .ColWidth(1) = 800 .TextMatrix(0, 2) = "Author Name": .ColWidth(2) = 2200 .TextMatrix(0, 3) = "Edition Year": .ColWidth(3) = 1800 .TextMatrix(0, 4) = "Medium": .ColWidth(4) = 1000 .TextMatrix(0, 5) = "Topic Name": .ColWidth(5) = 2500 End With cmbtopic.ListIndex = 0 End Sub '*************************End code of Report All & topic wise Book Form*******

Report Due Book Form

Code Report Book Form '***************Code of Report Due Book but not return Form***************** Option Explicit Private Sub cmdsearch_Click() Dim sql As String Dim i As Long Dim rsRec As New ADODB.Recordset

Page 88

FlexGridDuelist.Clear With FlexGridDuelist .TextMatrix(0, 0) = "Book Name": .ColWidth(0) = 2000 .TextMatrix(0, 1) = "Stuedent Name": .ColWidth(1) = 800 .TextMatrix(0, 2) = "Issue Date": .ColWidth(2) = 2200 End With If txtstudname.Text <> "" Then MsgBox "Please enter the student Name" Else sql = "SELECT bookmaster.bookname, studentmaster.studname, Issuedeposit.IssueDate" & _ "From bookmaster, studentmaster, issuedeposit WHERE issuedeposit.bookid = bookmaster.bookid and issuedeposit.enrollment = studentmaster.enrollment and return = false" End If UserCon.Execute sql rsRec.Open sql, UserCon, adOpenStatic If rsRec.RecordCount = 0 Then Exit Sub FlexGridDuelist.Rows = rsRec.RecordCount + 2 While Not rsRec.EOF() i=i+1 FlexGridDuelist.TextMatrix(i, 0) = rsRec!bookname FlexGridDuelist.TextMatrix(i, 1) = rsRec!studname FlexGridDuelist.TextMatrix(i, 2) = rsRec!Issuedate rsRec.MoveNext Wend rsRec.Close End Sub Private Sub txtname_LostFocus() lblHeading.Caption = "DUE BOOKS OF STUDENT NAME :" & txtname.Text End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Form_Load() With FlexGridDuelist .TextMatrix(0, 0) = "Book Name": .ColWidth(0) = 2700 .TextMatrix(0, 1) = "Student Name": .ColWidth(1) = 2300 .TextMatrix(0, 2) = "Issue Date": .ColWidth(2) = 1200 End With End Sub '***********************End code of Report Due Book but not return Form******

Page 89

Report of Issue Book Form

Code of Report Issue Book Form '*****************code of Report missing Books Form ********************* Option Explicit Private Sub cmdsearch_Click() Dim sql As String Dim i As Long Dim rsRec As New ADODB.Recordset FlexGridIssRpt.Clear With FlexGridIssRpt .TextMatrix(0, 0) = "Book Name": .ColWidth(0) = 2000 .TextMatrix(0, 1) = "Studennt Name": .ColWidth(1) = 800 .TextMatrix(0, 2) = "Issuedate": .ColWidth(2) = 2200 End With If optAllIssbk.Value = True Then sql = "SELECT bookmaster.bookname, studentmaster.studname, Issuedeposit.IssueDate" From bookmaster, studentmaster, issuedeposit Where issuedeposit.bookid = bookmaster.bookid And issuedeposit.enrollment = studentmaster.enrollment End If UserCon.Execute sql

Page 90

rsRec.Open sql, UserCon, adOpenStatic If rsRec.RecordCount = 0 Then Exit Sub FlexGridBooksRpt.Rows = rsRec.RecordCount + 2 While Not rsRec.EOF() i=i+1 FlexGridIssRpt.TextMatrix(i, 0) = rsRec!bookname FlexGridIssRpt.TextMatrix(i, 1) = rsRec!studname FlexGridIssRpt.TextMatrix(i, 2) = rsRec!Issuedate rsRec.MoveNext Wend rsRec.Close End Sub Private Sub optAllIssbk_Click() lblHeading.Caption = "ALL ISSUED BOOKS LIST" End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Form_Load() With FlexGridIssRpt .TextMatrix(0, 0) = "Book Name": .ColWidth(0) = 3200 .TextMatrix(0, 1) = "Student Name": .ColWidth(1) = 3200 .TextMatrix(0, 2) = "Issue Date": .ColWidth(2) = 2200 End With End Sub '**********************End of code Report Issue Book Form************

Page 91

Report of Missing Books Form

Code Report missing Form '**********Report missing book list************************ Option Explicit Private Sub cmdClose_Click() Unload Me End Sub Private Sub cmdshow_Click() Dim sql As String Dim i As Long Dim rsRec As New ADODB.Recordset FlexGridmissingbk.Clear With FlexGridmissingbk .TextMatrix(0, 0) = "Book Name": .TextMatrix(0, 1) = "Topic Name": End With sql = "SELECT bookmaster.bookname, topicmaster.topic " & _ "From bookmaster, topicmaster Where bookmaster.topicid = topicmaster.topicid And lost = True" UserCon.Execute sql rsRec.Open sql, UserCon, adOpenStatic If rsRec.RecordCount = 0 Then Exit Sub .ColWidth(0) = 2000 .ColWidth(1) = 200

Page 92

FlexGridmissingbk.Rows = rsRec.RecordCount + 2 While Not rsRec.EOF() i=i+1 FlexGridmissingbk.TextMatrix(i, 0) = rsRec!bookname FlexGridmissingbk.TextMatrix(i, 1) = rsRec!Topic rsRec.MoveNext Wend rsRec.Close End Sub Private Sub Form_Load() With FlexGridmissingbk .TextMatrix(0, 0) = "Book Name": .TextMatrix(0, 1) = "Topic Name": End With End Sub '*******************End code of Report Missing Form********************************** .ColWidth(0) = 3000 .ColWidth(2) = 1500

Page 93

About Form

Code of About form *********************Code of About Form********************** Option Explicit Private Sub cmdOkAbout_Click() Unload Me End Sub Private Sub cmdOkAbout_KeyPress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End If End Sub Private Sub Form_Deactivate() Unload Me End Sub Private Sub Form_Load() Move (Screen.Width - Width) \ 2, ((Screen.Height - Height) \ 2) - 800 'centre the form on the screenEnd Sub End Sub Private Sub Form_Paint() cmdOkAbout.SetFocus End Sub '***************************End of About Form*****************

Page 94

Testing
Testing is the most important step in SDLC . In testing , the system behavior is observed. We can observe all the features of the software. We can also check that whether all the modules are working properly or not, the outputs are reliable or not. In this software I use modular testing; in this approach I test every module separately by inputting the test data. After successful running each module I combine them and make single software . After that I again test the whole project by inputting test data. Testing Principles There are some testing principles, which have been used for this project. a) b) c) d) All tests should be traceable to consumer requirements. Tests should be planned long before testing begin. Testing should begin in a small and progress towards testing in a large. To be most effective, testing should be conducted by an independent third party. Overall System Testing It can be categorized asApplication Function Testing :- The functionality of each application is tested in standalone fashion in an attempt to uncover errors in its application. Database Testing :- The accuracy and integrity of data stored by the system is tested. Transaction pointed by system is examined to ensure that data are properly stored, updated and retrieved. Transaction Testing :A series of tests are created to ensure that each class of

transaction is processed according to the requirement.

Page 95

Module Testing
As mentioned earlier whole system is designed in different modules. So it is very much easier to test each module before overall system testing. The testing of individual modules was completed during the development itself.

Module
A module is a part of program for applications declaration and procedures that are started together as a unit. In all modules different check carried out. Whether the entry menu is opened is opened properly or not. No Blank record is saved. No duplicate Record is saved. Proper help messages are displayed for the data input. Are the changes made in the form reflected in all the table while updating it. Function keys are properly or not.

Though some samples data were made at the time of testing individual modules, but this may not be sufficient for further testing of the system as a whole. So new data were created for all possible real life situations.

Page 96

System Security
As we know well that protection of a system is mostly needed in multi-user environment, where a file is shared among several users. Protection mechanism must provide controlled access by restricting the types the file, which can be made. Access is permitted or denied depending upon several factors, one of which is the type of access requested. This is a multi-user project that can be runs on the network. So the system security is very essential thing for prevent unauthorized access. This software has many important security options such as Nobody can run the program without login ( Username and password) There are two categories of login a) Administrator b) User Only the administrator has full control to access all information. Same user cant login simultaneously. There are many Data Validations features in the software.

Page 97

IMPLEMENTATION
Implementation of this system replaces a manual system with a new computerize system. This systems implementation is very easy and every body can install this

software in their own system if he or she has a little familiar with computer system. Every person which has a very little knowledge of a computer system can use this system effective and maintain the records proposed in the system easily and effectively. This system can be installed at users site by only one click of mouse.

Page 98

RECOVERY
RECOVERY The system is able to take backup of the data stored inside the system in an extrernal stoage media such as floppy disk, zip media etc. In case of any failure a user can restore their data with the help of restore facility provide with backup and restore the lost data. This system uses an effective backup mechanism in which a user can see the backup details according to the date and time and he can find out the exact day or time of failure of the system. And recover his most recent data.

Software Evolution
Ernest Tello, a well-known writer in the field of artificial intelligence, compared the evolution of software, technology to the distinct Phase or Layersof growth. The layers were built one over the other in four decades as shown below: Machine Language Assembly Language Procedure Oriented Programming Object Oriented Programming With each Layer an improvement over the previous one. Alan Key, one of the promoters of the object-oriented paradigm and designer of smallTalk, has said,As complexity increases, architecture dominates the basic material.To build todays complex software it is just not enough to put together sequence of programming statements sets of proceduresa and modules, we need to incorporate sound construction techniques & program structures that are easy to implement & modify. OOP is an approach to program organization & development that attempts to Eliminate some of the pit falls of conventional programming methods by incorporating The best of structured programming features with several powerful new concepts.

Page 99

Conclusion
Future Enhancement This system can be further enhaced later on whenever users need is changed or technology is updated or to satisfy the new need of the user. It can be easily enhanced with the new technological changes and on demand of user need. Project Limitation This system is able to work only to maintain records of some period of time like 1 to to year . If we want to use it futher we have to make some changes in the system and then we can use it effectively. Limitation It needs the min. resources specified in the system requirements para. Summary In brief this system is a computerized version of a office system where large no. of transactions are made day to day and we have to do lot of paper work with only few limitation and in very low cost by consuming too much less computer system this system provides the good functionality to keep record of an office. Developing a software project is the result of physical, intellectual and emotional streams working together in such a way that the resultant work remains a source of inspiration forever.

Page 100

Bibliography

1. 2 3 4 5 6

Mastering Visual Basic 6.0 (Evangelos Petroutsos) Fundamentals of Database System (Ramez Elmasri, Shamkant B.Navathe) System Analysis and Design (E.M.Awad) Software Engineering (R.S.Pressman) Help M.S. Office , MSDN Library DataBase Design with MS- ACCESS 2000

Page 101

Das könnte Ihnen auch gefallen