Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 72

1.

INTRODUCTION

Dental Clinic and Appointment System is an integrated solution designed specifically for
medium and small dental clinic to manage doctor’s appointment, store patient, dental
treatment details and generate various reports.  Dental software provides easy access of the
data in advanced and ordered fashion. The software maintains individual patient account
ledgers for each treatment.

Also includes appointment schedule. It is easy to search and retrieve the information stored, related to
patients. Previous medical records are used to manage documents of patients visited earlier.

It includes complete reporting system and helps to build the Dental Case Reports. Helps to store
images. Advanced document management system to manage the documents of patients.

Dental Software is designed and built to meet all the requirements of a dental clinic and to help the
dentist in managing their clinics in an effective manner. With just a few clicks the user can schedule
faster, record treatment plans easier, simplify billing.

Our project aims at creating an application which will automate the process in Dental Software. Using
this it is possible to keep a track of a database for clinic like information about the patient like
appointment schedule, personal records, previous medical records, treatment records, prescriptions,
case reports and images. The dental software is used for collecting, managing, saving, and retrieving
medical information for the patients, and for creating reports for the patients. Patient records are used
by the dentists in order to organize the records of the patients in their practice.

1
2. OBJECTIVES

We all know the importance of computerization. The world is moving ahead at lightning
speed and everyone is running short of time. One always wants to get the information and perform a
task he/she/they desire(s) within a short period of time and too with amount of efficiency and
accuracy. The application areas for the computerization have been selected on the basis of following
factors:

 Minimizing the manual records kept at different locations.


 There will be more data integrity.
 Facilitating desired information display, very quickly, by retrieving information from users.
 Facilitating various statistical information which helps in decision-making?
 To reduce manual efforts in activities that involved repetitive work.
Updating and deletion of such a huge amount of data will become easier.

2
3. PRELIMINARY SYSTEM ANALYSIS

System Analysis is a detailed study of the various operations performed by a system and their
relationships within and outside of the system. Preliminary system analysis plays very vital
role in creating a system which is based on the existing structure. One must know what the
problem is before it can be solved. The basis for a candidate system is recognition of need for
improving an information system or a procedure.

System analysis is the method where the whole system is studied very intensely and on the
basis this analysis a complete product is presented in front of the customer. The phases which
should be studied in the preliminary system analysis are as follows:

 Preliminary Investigation.
 Present system in use
 Flaws in Present System.
 Need of New System.
 Feasibility Study.
 Project Category.

3
 Preliminary Investigation

The first step in the system development life cycle is the identification of need. This is a
user’s request to change, improve, or enhance an existing system. The ‘Initial Investigation’
is one way of handling this. The objective is to determine whether the request is valid and
feasible before a recommendation is reached to do nothing, improve or modify the existing
system, or build a new one.

The user request identifies the need for change and authorizes the initial investigation. Once
the request is approved, the following activities are carried out: background investigation,
fact binding and analysis, and presentation of results – called project proposal.

As we were proceeding further for this project, we visited some showrooms and ask of how
they maintain their Database of their product & customer’s. Faculty explained us the various
problems of the existing system. The information which they give us was a great deal of help
and support to make our system more effective.

We gathered the necessary fields of information related to a customer’s orders, vehicle entry,
company order, parts detail, vehicle delivery etc. which is generally required by any institute.
Keeping all aspects in mind finally this system is prepared.

4
 Bresent System in use

The success of a system depends largely on how accurate a problem is defined and properly
carried out through the choice of solution. In today’s modern world, when everything is
becoming more and more computerized, one may feel that the task of keeping the records of
the customer’s Database should also be done automatically using the computer programs.

For maintaining the records of the customer ‘customer details’ are used. These ‘customer
details’ are the special registers that are been maintained with the details like customer
registration, sales details, purchase details, stock details, installment paid by customers.

These books are maintained for the current date and then the operations according to
customer requirement overall process is Manual and error-prone. Current system has many
drawbacks which are as follows:

 If any reference of particular customer of his requirements has to be seen then, it


needs piles of registers to search it. It is all manual work.
 The system also doesn’t have any backup plan. If the data is lost by any case we have
not option left for ourselves.
 It doesn’t have any report generation facility to view the records in full manner. Thus
it is not user-friendly.
 We are just trying to find out one alternate computer program in this direction of
work.

5
 Flaws in Present System

The existing system contains some problems which are to be removed. Some of the main
flaws are as follows:

1. The current system is not user friendly.

2. Due to number of registers the reports generated are a lot & makes the work
cumbersome.

3. Handling & maintenance of these records requires lot of manpower, stationery and
inventory.

4. Important data cannot be kept secret.

5. Reports are not being generated in a full view and there is redundancy of data.

6. Unable to track all records manually.

7. It doesn’t have a password facility.

6
 Need of New System

New system is been prepared keeping in mind that it deals effectively & more flexibly than
the existing system. New system & technologies may allow faster processing, more storage
and lower costs than ever before.

Today, when everything is becoming more and more computerized, one may feel that the task
of keeping the records of the customers should also be done automatically using the computer
programs. We are just trying out to make an alternative program for its best purpose. The
system will allow the users of the company to get the perfect know how. The need of new
system arises due to the following reasons:

a) The manual system is maintained for the current date and then the operations
like allocation ofcustomers order, Sales order. The overall process is Manual
and error-prone.
b) To provide easy and fast searching facility.
c) For maintaining the Accurate Report need transmitted between departments
so that proper co-ordination can be maintained between them.
d) To maintain such a large number of records, handful of Mobile, inventory,
storage and most importantly, the Labor work involved in these activities are
required.
e) The main thing, ‘Security’ is also unseen in the manual system.
f) If we want to modify the records of the customer’s in manual system it will
take very long time.
g) New system gives immediate response to the possible query.

On the other hand our system keeps a track of the entire customer Database. Its security is
maintained in such a way that it is very tough to chop the system. Thus it allows three
categories of users, on the condition that they have the correct password to get in. If not then
it will not allow entering into it. The main feature of report generation avoids lots of paper
work & repetition of data.

7
 Feasibility Study

(A) Operational Feasibility: The basic purpose of feasibility study or survey is to determine
whether thewhole process of “MOBILE MANAGEMENT SYSTEM” with what we are
doing is worth or not. The success of smooth functioning of this system depends upon Co-
operation achieved from Adding, Modifying & Alteration of details, given to only specific
user. The Database Control System is a step forward towards smooth functioning of the
Project. It is user friendly, as any person with no knowledge of computers will be able to
operate it. Some of the salient features of this project are that, the data related to students
cannot be cheated as it is not specific to some users only & can be operated at its best. In this
way the operational Feasibility is achieved.

(B) Technical Feasibility: Technical feasibility is the quality of the product which we are
producing in its defined form. Without technical know how we can’t proceed in our project.
It is the quality of the product which we are using. Technical feasibility is the prominent
aspect of Feasibility study. So, taking these objects in mind this project is developed using
Visual Basic.NET and Microsoft Access. The best thing is that, both of these are the products
of Microsoft team, therefore combination of both of them gives a better result and creates a
strong Technical Feasibility.

(C) Economical Feasibility: To carry out an Economic Feasibility study, it is necessary to


place actual money values against any purchases or activities needed to implement the
project. It is also necessary to place money values against any benefits that will accrue from a
new system created by the project. Thus any project made should be profitable than the
existing system. The present customer’s registers requires more manpower to maintain the
records. Since the records are maintained & stored in a database, the cost of marinating the
books can be totally avoided. Thus making it economically feasible.

8
 Project Category

This is a project which can be placed in the category of RDBMS.It is difficult to develop a
comprehensive taxonomy of software project types. However, according to McIntire School
of Commerce, projects are broadly classified on the basis of

(a) Software organizations functioning and


(b) Internal process logic.

 On the basis of s/w organization functioning:


This project falls under the category of ‘New application development
projects’.This type of projects studies an existing system and works on the
consequence of a specific group customer request. It assembles the components that
help to achieve the objectives of any business organization.

 On the basis of Internal Process Logic:


If this project is seen on the basis of internal process logic we will categorized it as
Relational Database Management System. It is because, the database of customer;s
is stored in the table which contains different fields related to a customers. The main
field of the table is assigned a primary key. The project has been created using
Microsoft Visual Basic.NET for Front end Development and MS-Access as Back end
for storage of data in the form of tables.

9
4. SYSTEM/MODULAR CHART

10
5. SOFTWARE&HARDWARE REQUIREMENT SPECIFICATION

A graphical user interface should be very pleasant and creative. Generally, for any project
two kinds software are required; one to design the user interface and second for the storage of
data. Visual Basic.NET is one of the programming well known for the creation of user
friendly interface. MS – Access the relational database management system has been used as
back end for the storage of data. Access facilitates easy retrieval, addition and modification.
However, the application can’t run standalone without the operating system. The entire
software requirement analysis has given the following software specifications:

SOFTWARE REQUIREMENT

 Language:Microsoft Visual Basic.NET


 Database:My-SQL
 Operating System: Windows XP Professional, windows 7, windows 8. (Resolution –
1024 by 768 pixels).

HARDWARE REQUIREMENT

 Intel Pentium –III/ IV, i3, i5, i7, Dual core Processor.

 Minimum 256 MB RAM or above.

11
Front-End:

Visual Basic [Microsoft Visual Basic] provides with a complete set of tools for rapid
application development.

Microsoft Visual Basic offers the quickest and easiest way to create powerful application for
windows operating system. The Visual Basic programming system allows you to useful
application that makes use of Graphical User Interface (GUI).

Visual Basic helps you to productive by offering appropriate tools for different aspects of
GUI development. You create GUI for your application by drawing objects in a graphical
way. You set the properties on these objects to refine their appearance and behavior. Then,
you make this interface react to the user by writing code that responds to the events that occur
in the interface Visual Basic provides:-

 Automatic syntax checking.


 Debugging tools.
 A debug window.
 The Visual Basic toolbar provides shortcut for many common design and debugging
commands.
 Visual Basic provides many tools that you can use to design graphical application.
 Projects.
 Forms and controls.
 Modules.
 Menus.

12
Back-End:

Visual Basic was chosen as the programming language for window application such as My-
SQL.My-SQLcontains the data storage options and the capability to store and process the
same value of data as a mainframe or a mini computer.MS-Access is the latest Client/Server
based RDBMS Package from Microsoft its new feature provide a very high degree of
performance making it comprehensive package for database management it is highly used in
medium-sized establishments.Using Visual Basic you can create powerful full feature
applications:-

 The data access features allows you to create database and front-end applications for
most popular database.
 OLE allows you to use the functionality provided by other application such as, MS-
WORD for windows word processor.
 You finished application is true EXE file that uses a routine Dynamic Link Library
(DLL).
 To help you review your code quickly.

13
6.DETAIL SYSTEM ANALYSIS

The system analysis is "the process of studying a procedure or business in order to identify its
goals and purposes and create systems and procedures that will achieve them in an efficient
way".
Another view sees system analysis as a problem-solving technique that breaks down a system
into its component pieces for the purpose of the studying how well those component parts
work and interact to accomplish their purpose.
The field of system analysis relates closely to requirements analysis or to operations research.
It is also "an explicit formal inquiry carried out to help a decision maker identify a better
course of action and make a better decision than she might otherwise have made."
Analysis is defined as "the procedure by which we break down an intellectual or substantial
whole into parts," System analysis researchers apply methodology to the systems involved,
forming an overall picture.
System analysis is used in every field where something is developed. Analysis can also be a
series of components that perform organic functions together, such as system
engineering. System engineering is an interdisciplinary field of engineering that focuses on
how complex engineering projects should be designed and managed.

Following is the some types of System Analysis:


 Data Flow Diagram.
 Number of Modules and Process Logic.
 Data Structures and tables.
 Entity-Relationship Diagram.

14
 Data Flow Diagram

15
 Number of Modules & Process Logic

i)Number of Modules
1. Mobile Phone Administration

It provides the user to maintain the Mobile Phone Details Like

1. Add a new Mobile Phone


2. Search for a Mobile Phone
3. Update a Mobile Phone Details
4. Delete a Mobile Phone

2. Customer Administration

It provides the user to maintain the Customer Details Like

1. Add a New Customer


2. Search for a Customer
3. Update a Customer Details
4. Delete a Customer

3. Bill Administration

It provides the user to maintain the Bill Details Like

1. Generate a Bill
2. Search for a Bill

4. Sales Reports

It provides the user to maintain the Sales Report Details Like

1. Daily Reports
2. Monthly Reports
3. Yearly Reports

16
ii)Process Logic

The data flow diagram (DFD) shows the flow of data, the processes, and the area where they
are stored. It is commonly used structured tool for displaying the logical aspects of the system
under study. The process logic deals with how the data will flow in the entire project.

In this project the process logic flows from the user identification. As the user is identified he
can proceed further. He can Add the information of the customer i.e. Cust_number, Name,
Address, etc. After entering all the required information he can save the same. He has also the
facility to search the records according to the fields.

One of the auxiliary features is that the project gives the security and asks for the
confirmation of valid user.

17
 Data Structures and Tables
i)Customer table

Table Design

Items Details Table

Appointment Table

Registration Details Table

18
 Entity Relationship Diagram

i) ER diagram of Customer Registration and Customer Details.

Customer Address
Customer Name Customer Address
City

CustomerName
City

Customer Id State
Customer Id

Customer Registration Master Customer Details


Warranty
Date of Purchase

Pincode Date of
Pincode
Product Name Purchase

Contact No Contact No
Product Name

Email
Email

19
7. SYSTEM DESIGN

The most creative and challenging phase of a project is system design. The term design
describes a final system and the process by which it is developed. It refers to the technical
specifications that will be applied in the implementing the candidate system. It also
includes the construction of program and program testing.

As this project is developed using one of the very popular Rapid Application Development
(RAD) program (i.e. Microsoft Visual Basic.NET) it required interface design (form
design) and the source coding part. In the following section the Input/Output screen and
Source Code are arranged as under:

 Form Design
 Source code.
 Input/Output screen.

20
 FORMDESIGN

Form1

21
Form2

22
Patient Registration

23
Denist View

Clinic Time
24
Registered Patient
25
Search And Delete
26
 SOURCE CODE
27
1. Login form

Imports System.Data.SqlClient
Public Class FrmLogin

Private Sub btn_Login_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Login.Click
If Me.txtname.Text.Length = 0 Then
MsgBox("Please enter username...", MsgBoxStyle.Exclamation, "WARNING")
Exit Sub
ElseIf Me.Password.Text.Length = 0 Then
MsgBox("Please enter password....", MsgBoxStyle.Exclamation, "WARNING")
Exit Sub
Else
Try
Call opencon()
Dim myda As New SqlDataAdapter
With myda
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT * FROM login WHERE username
LIKE '%%" & Me.txtname.Text & "%%' AND password LIKE '%%" & Me.Password.Text
& "%%' "
.SelectCommand.Connection = con
End With
Dim dr As New DataSet
myda.Fill(dr, "myTable")
If dr.Tables("myTable").Rows.Count > 0 Then
logger = txtname.Text
Me.txtname.Clear()
Password.Clear()
Me.Hide()

Form1.Enabled = True

Else
MsgBox("Please Verify Your Username and Password...",
MsgBoxStyle.Exclamation, "WARNING")
Me.txtname.Focus()
Me.txtname.SelectAll()
End If
Call closecon()
Catch ex As Exception
MsgBox(ex.Message)
Call closecon()
End Try
End If
End Sub

28
Private Sub btn_cancel_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_cancel.Click
Application.Exit()
End Sub
Private Sub FrmLogin_FormClosing(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
End
Private Sub FrmLogin_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

End Sub
End Class

29
2. Add Item

Imports System.Data.SqlClient
Public Class AddItem
Private Function EditValidate() As Boolean
If Me.lvRec.Items.Count = 0 Then
MsgBox("No record to Edit...", MsgBoxStyle.Information + MsgBoxStyle.OkOnly,
"Attention...")
Return True
Exit Function
End If
If Me.lvRec.SelectedItems.Count > 1 Then
MsgBox("Please select only one record to Edit or double click the record...",
MsgBoxStyle.Information, "Attendance...")
Return True
Exit Function
End If
If Me.lvRec.SelectedItems.Count = 0 Then
MsgBox("Please select a record to Edit or double click the record...",
MsgBoxStyle.Information, "Attendance...")
Return True
Exit Function
End If
Return 0
End Function
Public Sub Userlog()
Dim dd As String
dd = Now.Date
Try
Call opencon()
Dim myd As New SqlDataAdapter
With myd
.InsertCommand = New SqlCommand
.InsertCommand.CommandText = "INSERT INTO
loy(datte,uname,action)VALUES(@datte,@uname,@action) "
.InsertCommand.Connection = con
With .InsertCommand.Parameters
.AddWithValue("@datte", dd)
.AddWithValue("@uname", logger)
.AddWithValue("@action", action)
End With
.InsertCommand.ExecuteNonQuery()
End With
Call closecon()
Catch ex As Exception
MsgBox(ex.Message)
Call closecon()
End Try
End Sub
30
Private Sub btn_Add_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Add.Click
If Me.cboCat.Text.Length = 0 Then
MsgBox("Please enter item name....", MsgBoxStyle.Information, "Inventory..")
Exit Sub
ElseIf Me.txtDesc.Text.Length = 0 Then
MsgBox("Please enter description....", MsgBoxStyle.Information, "Inventory..")
Exit Sub
ElseIf Me.txtQty.Text.Length = 0 Then
MsgBox("Please enter quantity....", MsgBoxStyle.Information, "Inventory..")
Exit Sub
ElseIf Me.txtPrice.Text.Length = 0 Then
MsgBox("Please enter price....", MsgBoxStyle.Information, "Inventory...")
Exit Sub
ElseIf Me.txtSup.Text.Length = 0 Then
MsgBox("Please enter supplier name....", MsgBoxStyle.Information, "Inventory..")
Exit Sub
Else
Call opencon()
Dim myda As New SqlDataAdapter
With myda
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT * FROM stock WHERE category
LIKE '%%" & Me.cboCat.Text & "%%'"
.SelectCommand.Connection = con
End With
Dim dr As New DataSet
myda.Fill(dr, "myTable")
If dr.Tables("myTable").Rows.Count > 0 Then
MsgBox("Item Name already exist...Double Click it and update it if needed",
MsgBoxStyle.Exclamation, "Alert...")
Exit Sub
Else
Try
Call opencon()
Dim myd As New SqlDataAdapter
With myd
.InsertCommand = New SqlCommand
.InsertCommand.CommandText = "INSERT INTO
stock(category,descrip,qty,price,supname,datep,dater)VALUES(@category,@descrip,@qty,
@price,@supname,@datep,@dater) "
.InsertCommand.Connection = con
With .InsertCommand.Parameters
.AddWithValue("@category", Me.cboCat.Text)
.AddWithValue("@descrip", Me.txtDesc.Text)
.AddWithValue("@qty", Me.txtQty.Text)
.AddWithValue("@price", Me.txtPrice.Text)
.AddWithValue("@supname", Me.txtSup.Text)
.AddWithValue("@datep", Me.dtPur.Text)
.AddWithValue("@dater", Me.dtRev.Text)
31
End With
.InsertCommand.ExecuteNonQuery()
End With
Call filllv()
Call closecon()
action = "Added a New Item"
Call Userlog()
MsgBox("Record successfully saved...", MsgBoxStyle.Information, "Saved....")
Call clear()
Catch ex As Exception
MsgBox(ex.Message)
Call closecon()
End Try
End If
End If

End Sub
Public Sub clear()
Me.txtDesc.Clear()
txtPrice.Clear()
txtQty.Clear()
txtSup.Clear()
Me.cboCat.Clear()
End Sub

Private Sub txtQty_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtQty.KeyPress
Dim NotAllowed As String = "0123456789"
If e.KeyChar <> ControlChars.Back Then
If NotAllowed.IndexOf(e.KeyChar) = -1 Then
e.Handled = True
MsgBox("Letters not allowed...", MsgBoxStyle.Information, "Attention....")
End If
End If
End Sub

Private Sub txtPrice_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtPrice.KeyPress
Dim NotAllowed As String = "0123456789"
If e.KeyChar <> ControlChars.Back Then
If NotAllowed.IndexOf(e.KeyChar) = -1 Then
e.Handled = True
MsgBox("Characters not allowed...", MsgBoxStyle.Information, "Attention....")
End If
End If
End Sub
Public Sub fillcombo()
Try
Call opencon()
32
Dim da As New SqlDataAdapter
With da
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT DISTINCT category FROM stock"
.SelectCommand.Connection = con
End With
Dim dr As SqlDataReader = da.SelectCommand.ExecuteReader
Dim dt As New DataTable
dt.Load(dr)
For i As Integer = 0 To dt.Rows.Count - 1
cbocatt.Items.Add(dt.Rows(i)("category"))
Next
Call closecon()
Catch ex As Exception
MsgBox(ex.Message)
Call closecon()
End Try
End Sub
Private Sub txtSup_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txtSup.KeyPress
Dim NotAllowed As String = "~!`@#$%^&*()_-+={}][|\;:'/?.>,<0123456789"
If e.KeyChar <> ControlChars.Back Then
If NotAllowed.IndexOf(e.KeyChar) = -1 = False Then
e.Handled = True
MsgBox("Special characters & Numbers not allowed...",
MsgBoxStyle.Information, "Attention....")
End If
End If
End Sub

Private Sub txtPrice_Leave(ByVal sender As Object, ByVal e As System.EventArgs)


Handles txtPrice.Leave
If Me.txtPrice.Text.Length = 0 Then
MsgBox("Do not leave this field unfilled", MsgBoxStyle.Information, "Attention....")
txtPrice.Focus()
Else
txtPrice.Text = FormatNumber(txtPrice.Text)
End If
End Sub
Private Sub fill()
With lvRec
.Columns.Add("ID", 30, HorizontalAlignment.Left)
.Columns.Add("Category/Name", 110, HorizontalAlignment.Left)
.Columns.Add("Description", 110, HorizontalAlignment.Left)
.Columns.Add("Qty", 110, HorizontalAlignment.Left)
.Columns.Add("Price", 110, HorizontalAlignment.Left)
.Columns.Add("Supplier", 110, HorizontalAlignment.Left)
.Columns.Add("Date-Purchased", 110, HorizontalAlignment.Left)
.Columns.Add("Date-Recieved", 110, HorizontalAlignment.Left)
.Activation = ItemActivation.OneClick
33
.FullRowSelect = True
.GridLines = True
.HideSelection = False
.HoverSelection = False
.MultiSelect = True
.View = View.Details
.HotTracking = False
.Font = New Font(lvRec.Font.FontFamily, 11, FontStyle.Bold, GraphicsUnit.Pixel)
.BackColor = Color.White
End With

End Sub
Public Sub ConSelect()
Me.lvRec.Items.Clear()
Try
Dim myd As New SqlDataAdapter
With myd
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT * FROM stock WHERE category
LIKE '%%" & Me.cbocatt.Text & "%%'"
.SelectCommand.Connection = con
End With
Dim dr As SqlDataReader
dr = myd.SelectCommand.ExecuteReader
Do While dr.Read
Dim item As New ListViewItem
item.Text = IIf(dr.IsDBNull(0), " ", dr.Item(0)).ToString
Dim c As Integer
For c = 1 To dr.FieldCount - 1
If Not dr.IsDBNull(c) Then
item.SubItems.Add(dr.Item(c)).ToString()
Else
item.SubItems.Add(" ")
End If
Next
Me.lvRec.Items.Add(item)
Loop

Catch ex As Exception
MsgBox(ex.Message)

End Try
End Sub
Private Sub filllv()
Me.lvRec.Items.Clear()
Try
Dim myd As New SqlDataAdapter
With myd
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT * FROM stock"
34
.SelectCommand.Connection = con
End With
Dim dr As SqlDataReader
dr = myd.SelectCommand.ExecuteReader
Do While dr.Read
Dim item As New ListViewItem
item.Text = IIf(dr.IsDBNull(0), " ", dr.Item(0)).ToString
Dim c As Integer
For c = 1 To dr.FieldCount - 1
If Not dr.IsDBNull(c) Then
item.SubItems.Add(dr.Item(c)).ToString()
Else
item.SubItems.Add(" ")
End If
Next
Me.lvRec.Items.Add(item)
Loop

Catch ex As Exception
MsgBox(ex.Message)

End Try
End Sub
Private Sub AddItem_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Call opencon()
Call fill()
Call filllv()
Call closecon()
Call fillcombo()
End Sub

Private Sub btn_view_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_view.Click
If EditValidate() = True Then
Return
Exit Sub
Else
Call opencon()
Dim myd As New SqlDataAdapter
With myd
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT * FROM stock WHERE id LIKE '%
%" & Me.lvRec.SelectedItems(0).Text & "%%'"
.SelectCommand.Connection = con
End With
Dim dr As SqlDataReader
dr = myd.SelectCommand.ExecuteReader
With dr
If Not .HasRows Then
35
'Nothing
Else
.Read()
Me.cboCat.Text = IIf(.IsDBNull(1), " ", .Item("category")).ToString
Me.txtDesc.Text = IIf(.IsDBNull(2), " ", .Item("descrip")).ToString
Me.txtQty.Text = IIf(.IsDBNull(3), " ", .Item("qty")).ToString
Me.txtPrice.Text = IIf(.IsDBNull(4), " ", .Item("price")).ToString
Me.txtSup.Text = IIf(.IsDBNull(5), " ", .Item("supname")).ToString
Me.dtPur.Text = IIf(.IsDBNull(5), " ", .Item("datep")).ToString
Me.dtRev.Text = IIf(.IsDBNull(6), " ", .Item("dater")).ToString
End If
End With
Call closecon()
End If
End Sub

Private Sub lvRec_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)


Handles lvRec.DoubleClick
btn_view.PerformClick()
End Sub

Private Sub btn_Refresh_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Refresh.Click
Call clear()
Call opencon()
Call filllv()
Call closecon()
End Sub

Private Sub btn_close_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_close.Click
Me.Close()
End Sub

Private Sub btn_Delete_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Delete.Click
If DelValidate() = True Then
Return
Exit Sub
Else
If MsgBox("Are you sure you want delete the selected record(s)?",
MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.YesNo,
"Confirmation...") = MsgBoxResult.Yes Then

Try

Dim list As New ListViewItem


For Each list In Me.lvRec.SelectedItems
list.Remove()
36
Call opencon()
Dim myd As New SqlDataAdapter
With myd
.DeleteCommand = New SqlCommand
.DeleteCommand.CommandText = "DELETE FROM stock WHERE id
LIKE '%%" & list.Text & "%%'"
.DeleteCommand.Connection = con
.DeleteCommand.ExecuteNonQuery()
End With
Next
Call filllv()
Call closecon()
action = "Deleted an/some Item(s)"
Call Userlog()
MsgBox("Record(s) successfully deleted....", MsgBoxStyle.Information,
"Deleted records...")
Catch ex As Exception
MsgBox(ex.Message)
Call closecon()
End Try
Else
MsgBox("Deletion cancelled....", MsgBoxStyle.Information, "Cancelled...")
Call opencon()
Call filllv()
Call closecon()

End If
End If
End Sub
Private Function DelValidate() As Boolean
If Me.lvRec.Items.Count = 0 Then
MsgBox("No record to delete...", MsgBoxStyle.Exclamation, "No records...")
Return True
Exit Function
End If
If Me.lvRec.SelectedItems.Count = 0 Then
MsgBox("Please select a record to delete, or use Ctrl + Click to delete more records",
MsgBoxStyle.Exclamation, "Select record(s)")
Return True
Exit Function
End If
Return 0
End Function

Private Sub btn_Edit_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Edit.Click
If Me.cboCat.Text.Length = 0 Then
MsgBox("Please item name field is empty....", MsgBoxStyle.Information,
"Inventory..")
Exit Sub
37
ElseIf Me.txtDesc.Text.Length = 0 Then
MsgBox("Please description field is empty....", MsgBoxStyle.Information,
"Inventory..")
Exit Sub
ElseIf Me.txtQty.Text.Length = 0 Then
MsgBox("Please quantity field is empty....", MsgBoxStyle.Information,
"Inventory..")
Exit Sub
ElseIf Me.txtPrice.Text.Length = 0 Then
MsgBox("Please price field is empty....", MsgBoxStyle.Information, "Inventory...")
Exit Sub
ElseIf Me.txtSup.Text.Length = 0 Then
MsgBox("Please supplier's name field is empty....", MsgBoxStyle.Information,
"Inventory..")
Exit Sub
Else
Try
Call opencon()
Dim myd2 As New SqlDataAdapter
With myd2
.UpdateCommand = New SqlCommand
.UpdateCommand.CommandText = "UPDATE stock SET [category] =
@category,[descrip] = @descrip,[qty] = @qty,[price] = @price,[supname] = @supname,
[datep] = @datep,[dater] = @dater WHERE id LIKE '%%" &
Me.lvRec.SelectedItems(0).Text & "%%'"
.UpdateCommand.Connection = con
With .UpdateCommand.Parameters
.AddWithValue("@category", Me.cboCat.Text)
.AddWithValue("@descrip", Me.txtDesc.Text)
.AddWithValue("@qty", Me.txtQty.Text)
.AddWithValue("@price", Me.txtPrice.Text)
.AddWithValue("@supname", Me.txtSup.Text)
.AddWithValue("@datep", Me.dtPur.Text)
.AddWithValue("@dater", Me.dtRev.Text)
End With
.UpdateCommand.ExecuteNonQuery()
End With
Call filllv()
Call closecon()
Dim item As String = cboCat.Text
action = "Updated an Item" + "-" + item
Call Userlog()
MsgBox("Record successfully updated...", MsgBoxStyle.Information,
"Submitted...")

Call clear()

Catch ex As Exception
MsgBox("Ensure that you double click below the record you want to update first" +
"-" + ex.Message)
38
Call closecon()
End Try
End If

End Sub

Private Sub cbocatt_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles cbocatt.SelectedIndexChanged
Call opencon()
Call ConSelect()
Call closecon()
End Sub

Private Sub txtPrice_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txtPrice.TextChanged

End Sub

Private Sub cboCat_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles cboCat.KeyPress
Dim NotAllowed As String = "~!`@#$%^&*()_-+={}][|\;:'/?.>,<0123456789"
If e.KeyChar <> ControlChars.Back Then
If NotAllowed.IndexOf(e.KeyChar) = -1 = False Then
e.Handled = True
MsgBox("Special characters & Numbers not allowed...",
MsgBoxStyle.Information, "Attention....")
End If
End If
End Sub

Private Sub cboCat_Leave(ByVal sender As Object, ByVal e As System.EventArgs)


Handles cboCat.Leave
Me.cboCat.Text = StrConv(Me.cboCat.Text, vbProperCase)
End Sub

Private Sub cboCat_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles cboCat.TextChanged

End Sub

Private Sub txtDesc_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtDesc.KeyPress
Dim NotAllowed As String = "~!`@#$%^&*()_-+={}][|\;:'/?.>,<0123456789"
If e.KeyChar <> ControlChars.Back Then
If NotAllowed.IndexOf(e.KeyChar) = -1 = False Then
e.Handled = True
MsgBox("Special characters & Numbers not allowed...",
MsgBoxStyle.Information, "Attention....")
End If
End If
39
End Sub

Private Sub txtDesc_Leave(ByVal sender As Object, ByVal e As System.EventArgs)


Handles txtDesc.Leave
Me.txtDesc.Text = StrConv(Me.txtDesc.Text, vbProperCase)
End Sub

Private Sub txtDesc_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txtDesc.TextChanged

End Sub

Private Sub txtSup_Leave(ByVal sender As Object, ByVal e As System.EventArgs)


Handles txtSup.Leave
Me.txtSup.Text = StrConv(Me.txtSup.Text, vbProperCase)
End Sub

Private Sub txtSup_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txtSup.TextChanged

End Sub
End Class

40
3. MDIform

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles MyBase.Load

Form2.MdiParent = Me
Form2.Show()
'Call loadtype()
Me.Enabled = False
End Sub

Private Sub OptionsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles OptionsToolStripMenuItem.Click
Process.Start("notepad.exe")
End Sub

Private Sub btn_Class_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Class.Click
frmAddUser.ShowDialog()
End Sub

Private Sub btn_Student_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Student.Click
AddItem.ShowDialog()
End Sub

Private Sub btn_Emloyee_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Emloyee.Click
frmSupp.ShowDialog()
End Sub

Private Sub btn_Fee_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Fee.Click
FrmCash.ShowDialog()
End Sub

Private Sub btn_Stu_Attendace_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs)
FrmSalesItem.ShowDialog()
End Sub

Private Sub btn_Emp_Attendace_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Emp_Attendace.Click
FrmOutofStock.ShowDialog()
End Sub

41
Private Sub btn_Subject_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Subject.Click
Frmlog.ShowDialog()
End Sub

Private Sub btn_AddExpense_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs)
FrmSearch.ShowDialog()
End Sub

Private Sub btn_ExpenseDetail_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs)
FrmSupplierList.ShowDialog()
End Sub

Private Sub btn_Exam_Setup_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Exam_Setup.Click
FrmCustList.ShowDialog()
End Sub

Private Sub btn_Exam_Detail_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs)
SupCash.ShowDialog()
End Sub

Private Sub btn_Exit_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Exit.Click
Application.Exit()

End Sub

Private Sub btn_Tec_Rec_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Tec_Rec.Click
Process.Start("calc.exe")
End Sub

Private Sub btn_Stu_Att_Rec_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Stu_Att_Rec.Click
ChangePass.ShowDialog()
End Sub

Private Sub Notepad_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Notepad.Click
About.ShowDialog()
End Sub

Private Sub Calculator_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Calculator.Click
FrmHelp.ShowDialog()
End Sub
42
Private Sub btn_Tec_Att_Rec_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Tec_Att_Rec.Click
Me.Enabled = False
FrmLogin.Show()
End Sub

Private Sub LinkLabel3_LinkClicked(ByVal sender As System.Object, ByVal e As


System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel3.LinkClicked
frmSupp.ShowDialog()
End Sub

Private Sub LinkLabel2_LinkClicked(ByVal sender As System.Object, ByVal e As


System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked
FrmCustList.ShowDialog()
End Sub

Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As


System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
Frmlog.ShowDialog()
End Sub

Private Sub UserEntryToolStripMenuItem_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles UserEntryToolStripMenuItem.Click
frmAddUser.ShowDialog()
End Sub

Private Sub StockEntryToolStripMenuItem_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles StockEntryToolStripMenuItem.Click
AddItem.ShowDialog()
End Sub

Private Sub SupplierEntryToolStripMenuItem_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles SupplierEntryToolStripMenuItem.Click
frmSupp.ShowDialog()
End Sub

Private Sub CashierFormToolStripMenuItem_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles CashierFormToolStripMenuItem.Click
FrmCash.ShowDialog()
End Sub

Private Sub OutOfStockToolStripMenuItem_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles OutOfStockToolStripMenuItem.Click
FrmOutofStock.ShowDialog()
End Sub

Private Sub UsersLogToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles UsersLogToolStripMenuItem.Click
Frmlog.ShowDialog()
43
End Sub

Private Sub SaveAsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles SaveAsToolStripMenuItem.Click
Me.Hide()
FrmLogin.ShowDialog()
End Sub

Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ExitToolStripMenuItem.Click
Application.Exit()
End Sub

Private Sub UndoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles UndoToolStripMenuItem.Click
FrmSearch.ShowDialog()
End Sub

Private Sub RedoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles RedoToolStripMenuItem.Click
FrmSupplierList.ShowDialog()
End Sub

Private Sub CutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles CutToolStripMenuItem.Click
FrmCustList.ShowDialog()
End Sub

Private Sub CopyToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles CopyToolStripMenuItem.Click
SupCash.ShowDialog()
End Sub

Private Sub PasteToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles PasteToolStripMenuItem.Click
ChangePass.ShowDialog()
End Sub

Private Sub CustomizeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles CustomizeToolStripMenuItem.Click
Process.Start("calc.exe")
End Sub

Private Sub ContentsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles ContentsToolStripMenuItem.Click
FrmHelp.ShowDialog()
End Sub

Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles AboutToolStripMenuItem.Click
44
About.ShowDialog()
End Sub

Private Sub NewToolStripButton_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles NewToolStripButton.Click
frmSupp.ShowDialog()
End Sub

Private Sub OpenToolStripButton_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles OpenToolStripButton.Click
FrmOutofStock.ShowDialog()
End Sub

Private Sub SaveToolStripButton_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles SaveToolStripButton.Click
FrmCustList.ShowDialog()
End Sub

Private Sub PrintToolStripButton_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles PrintToolStripButton.Click
FrmCash.ShowDialog()
End Sub

Private Sub CutToolStripButton_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles CutToolStripButton.Click
AddItem.ShowDialog()
End Sub

Private Sub HelpToolStripButton_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles HelpToolStripButton.Click
FrmHelp.ShowDialog()
End Sub

Private Sub CustomerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles CustomerToolStripMenuItem.Click
Form3.ShowDialog()
End Sub

Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ToolStripMenuItem2.Click
Form4.ShowDialog()
End Sub

Private Sub StockToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles StockToolStripMenuItem.Click
Form5.ShowDialog()

End Sub
End Class

45
4. Add User
Imports System.Data.SqlClient
Public Class FrmCustList

Private Sub FrmCustList_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
Call opencon()
fill()
filllv()
Call closecon()
End Sub
Private Sub filllv()
Me.lvRec.Items.Clear()
Try
Dim myd As New SqlDataAdapter
With myd
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT * FROM custlist"
.SelectCommand.Connection = con
End With
Dim dr As SqlDataReader
dr = myd.SelectCommand.ExecuteReader
Do While dr.Read
Dim item As New ListViewItem
item.Text = IIf(dr.IsDBNull(0), " ", dr.Item(0)).ToString
Dim c As Integer
For c = 1 To dr.FieldCount - 1
If Not dr.IsDBNull(c) Then
item.SubItems.Add(dr.Item(c)).ToString()
Else
item.SubItems.Add(" ")
End If
Next
Me.lvRec.Items.Add(item)
Loop

Catch ex As Exception
MsgBox(ex.Message)

End Try
End Sub
Private Function EditValidate() As Boolean
If Me.lvRec.Items.Count = 0 Then
MsgBox("No record to Edit...", MsgBoxStyle.Information + MsgBoxStyle.OkOnly,
"Attention...")
Return True
Exit Function
End If
If Me.lvRec.SelectedItems.Count > 1 Then

46
MsgBox("Please select only one record to Edit or double click the record...",
MsgBoxStyle.Information, "Attendance...")
Return True
Exit Function
End If
If Me.lvRec.SelectedItems.Count = 0 Then
MsgBox("Please select a record to Edit or double click the record...",
MsgBoxStyle.Information, "Attendance...")
Return True
Exit Function
End If
Return 0
End Function
Private Sub fill()
With lvRec
.Columns.Add("ID", 30, HorizontalAlignment.Left)
.Columns.Add("Customer Name", 110, HorizontalAlignment.Left)

.Columns.Add("Address", 110, HorizontalAlignment.Left)


.Columns.Add("Phone No", 110, HorizontalAlignment.Left)
.Columns.Add("Qty/Goods", 110, HorizontalAlignment.Left)
.Columns.Add("Debt", 110, HorizontalAlignment.Left)
.Columns.Add("Date", 110, HorizontalAlignment.Left)
.Columns.Add("Goods Bought", 170, HorizontalAlignment.Left)
.Activation = ItemActivation.OneClick
.FullRowSelect = True
.GridLines = True
.HideSelection = False
.HoverSelection = False
.MultiSelect = True
.View = View.Details
.HotTracking = False
.Font = New Font(lvRec.Font.FontFamily, 12, FontStyle.Bold, GraphicsUnit.Pixel)
.BackColor = Color.White
End With

End Sub

Private Sub btn_view_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_view.Click
If EditValidate() = True Then
Return
Exit Sub
Else
Call opencon()
Dim myd As New SqlDataAdapter
With myd
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT * FROM custlist WHERE id LIKE
'%%" & Me.lvRec.SelectedItems(0).Text & "%%'"
47
.SelectCommand.Connection = con
End With
Dim dr As SqlDataReader
dr = myd.SelectCommand.ExecuteReader
With dr
If Not .HasRows Then
'Nothing
Else
.Read()
Me.txtname.Text = IIf(.IsDBNull(1), " ", .Item("cusname")).ToString
Me.txtadd.Text = IIf(.IsDBNull(2), " ", .Item("address")).ToString
Me.txtpno.Text = IIf(.IsDBNull(3), " ", .Item("pnumber")).ToString
Me.txtqty.Text = IIf(.IsDBNull(4), " ", .Item("quantity")).ToString
Me.txtdebt.Text = IIf(.IsDBNull(5), " ", .Item("debt")).ToString
Me.txtdate.Text = IIf(.IsDBNull(5), " ", .Item("datte")).ToString
Me.txtgoods.Text = IIf(.IsDBNull(6), " ", .Item("products")).ToString
End If
End With
Call closecon()
End If
End Sub

Private Sub lvRec_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)


Handles lvRec.DoubleClick
btn_view.PerformClick()
End Sub
Private Function DelValidate() As Boolean
If Me.lvRec.Items.Count = 0 Then
MsgBox("No record to delete...", MsgBoxStyle.Exclamation, "No records...")
Return True
Exit Function
End If
If Me.lvRec.SelectedItems.Count = 0 Then
MsgBox("Please select a record to delete, or use Ctrl + Click to delete more records",
MsgBoxStyle.Exclamation, "Select record(s)")
Return True
Exit Function
End If
Return 0
End Function

Private Sub btn_Delete_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Delete.Click
If DelValidate() = True Then
Return
Exit Sub
Else
If MsgBox("Are you sure you want delete the selected record(s)?",
MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.YesNo,
"Confirmation...") = MsgBoxResult.Yes Then
48
Try

Dim list As New ListViewItem


For Each list In Me.lvRec.SelectedItems
list.Remove()
Call opencon()
Dim myd As New SqlDataAdapter
With myd
.DeleteCommand = New SqlCommand
.DeleteCommand.CommandText = "DELETE FROM custlist WHERE id
LIKE '%%" & list.Text & "%%'"
.DeleteCommand.Connection = con
.DeleteCommand.ExecuteNonQuery()
End With
Next
Call filllv()
Call closecon()
action = "Deleted a customer info"
Call Userlog()
MsgBox("Record(s) successfully deleted....", MsgBoxStyle.Information,
"Deleted records...")
Catch ex As Exception
MsgBox(ex.Message)
Call closecon()
End Try
Else
MsgBox("Deletion cancelled....", MsgBoxStyle.Information, "Cancelled...")
Call opencon()
Call filllv()
Call closecon()

End If
End If
End Sub
Public Sub Userlog()
Dim dd As String
dd = Now.Date
Try
Call opencon()
Dim myd As New SqlDataAdapter
With myd
.InsertCommand = New SqlCommand
.InsertCommand.CommandText = "INSERT INTO
loy(datte,uname,action)VALUES(@datte,@uname,@action) "
.InsertCommand.Connection = con
With .InsertCommand.Parameters
.AddWithValue("@datte", dd)
.AddWithValue("@uname", logger)
.AddWithValue("@action", action)
End With
49
.InsertCommand.ExecuteNonQuery()
End With
Call closecon()
Catch ex As Exception
MsgBox(ex.Message)
Call closecon()
End Try
End Sub
Private Sub btn_Edit_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Edit.Click
Try
Call opencon()
Dim myd2 As New SqlDataAdapter
With myd2
.UpdateCommand = New SqlCommand
.UpdateCommand.CommandText = "UPDATE custlist SET [cusname] =
@cusname,[address] = @address,[pnumber] = @pnumber,[quantity] = @quantity,[debt] =
@debt,[datte] = @datte,[products] = @products WHERE id LIKE '%%" &
Me.lvRec.SelectedItems(0).Text & "%%'"
.UpdateCommand.Connection = con
With .UpdateCommand.Parameters
.AddWithValue("@cusname", Me.txtname.Text)
.AddWithValue("@address", Me.txtadd.Text)
.AddWithValue("@pnumber", Me.txtpno.Text)
.AddWithValue("@quantity", Me.txtqty.Text)
.AddWithValue("@debt", Me.txtdebt.Text)
.AddWithValue("@datte", Me.txtdate.Text)
.AddWithValue("@products", Me.txtgoods.Text)
End With
.UpdateCommand.ExecuteNonQuery()
End With
Call filllv()
Call closecon()
action = "Performs customers info update"
Call Userlog()
MsgBox("Record successfully updated...", MsgBoxStyle.Information, "Submitted...")

Call clear()

Catch ex As Exception
MsgBox(ex.Message)
Call closecon()
End Try
End Sub
Public Sub clear()
Me.txtadd.Clear()
Me.txtdate.ResetText()
Me.txtdebt.Clear()
Me.txtgoods.Clear()
Me.txtname.Clear()
50
Me.txtpno.Clear()
Me.txtqty.Clear()
End Sub

Private Sub btn_Refresh_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Refresh.Click
Call clear()
End Sub

Private Sub btn_close_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_close.Click
Me.Close()
End Sub

Private Sub txtname_Leave(ByVal sender As Object, ByVal e As System.EventArgs)


Handles txtname.Leave
Me.txtname.Text = StrConv(Me.txtname.Text, vbProperCase)
End Sub

Private Sub txtname_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txtname.TextChanged

End Sub

Private Sub txtgoods_Leave(ByVal sender As Object, ByVal e As System.EventArgs)


Handles txtgoods.Leave
Me.txtgoods.Text = StrConv(Me.txtgoods.Text, vbProperCase)
End Sub

Private Sub txtgoods_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txtgoods.TextChanged

End Sub

Private Sub txtadd_Leave(ByVal sender As Object, ByVal e As System.EventArgs)


Handles txtadd.Leave
Me.txtadd.Text = StrConv(Me.txtadd.Text, vbProperCase)
End Sub

Private Sub txtadd_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txtadd.TextChanged

End Sub

Private Sub btn_Add_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs)
End Sub
End Class

51
5. SearchForm
Imports System.Data.SqlClient
Public Class FrmSearch
Private Sub fill()
With lvRec
.Columns.Add("ID", 30, HorizontalAlignment.Left)
.Columns.Add("Category/Name", 110, HorizontalAlignment.Left)
.Columns.Add("Description", 110, HorizontalAlignment.Left)
.Columns.Add("Qty", 110, HorizontalAlignment.Left)
.Columns.Add("Price", 110, HorizontalAlignment.Left)
.Columns.Add("Supplier", 110, HorizontalAlignment.Left)
.Columns.Add("Date-Purchased", 110, HorizontalAlignment.Left)
.Columns.Add("Date-Recieved", 110, HorizontalAlignment.Left)
.Activation = ItemActivation.OneClick
.FullRowSelect = True
.GridLines = True
.HideSelection = False
.HoverSelection = False
.MultiSelect = True
.View = View.Details
.HotTracking = False
.Font = New Font(lvRec.Font.FontFamily, 11, FontStyle.Bold, GraphicsUnit.Pixel)
.BackColor = Color.White
End With

End Sub
Private Sub FrmSearch_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Call fill()
Call fillcombo()
End Sub
Public Sub fillcombo()
Try
Call opencon()
Dim da As New SqlDataAdapter
With da
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT DISTINCT category FROM stock"
.SelectCommand.Connection = con
End With
Dim dr As SqlDataReader = da.SelectCommand.ExecuteReader
Dim dt As New DataTable
dt.Load(dr)
For i As Integer = 0 To dt.Rows.Count - 1
cbocatt.Items.Add(dt.Rows(i)("category"))
Next
Call closecon()
Catch ex As Exception
MsgBox(ex.Message)

52
Call closecon()
End Try
End Sub
Public Sub ConSelect()
Me.lvRec.Items.Clear()
Try
Dim myd As New SqlDataAdapter
With myd
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT * FROM stock WHERE category
LIKE '%%" & Me.cbocatt.Text & "%%'"
.SelectCommand.Connection = con
End With
Dim dr As SqlDataReader
dr = myd.SelectCommand.ExecuteReader
Do While dr.Read
Dim item As New ListViewItem
item.Text = IIf(dr.IsDBNull(0), " ", dr.Item(0)).ToString
Dim c As Integer
For c = 1 To dr.FieldCount - 1
If Not dr.IsDBNull(c) Then
item.SubItems.Add(dr.Item(c)).ToString()
Else
item.SubItems.Add(" ")
End If
Next
Me.lvRec.Items.Add(item)
Loop

Catch ex As Exception
MsgBox(ex.Message)

End Try
End Sub

Private Sub btn_view_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_view.Click
Call opencon()
Call ConSelect()
Call closecon()
End Sub

Private Sub btn_Refresh_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Refresh.Click
Me.lvRec.Items.Clear()
End Sub

Private Sub btn_close_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_close.Click
Me.Close()
53
End Sub

Private Sub cbocatt_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles cbocatt.SelectedIndexChanged

End Sub
End Class

54
6. Supplier Form
Imports System.Data.SqlClient
Public Class frmSupp
Public Sub fillcombo()
Try
Call opencon()
Dim da As New SqlDataAdapter
With da
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT DISTINCT category FROM
supplier"
.SelectCommand.Connection = con
End With
Dim dr As SqlDataReader = da.SelectCommand.ExecuteReader
Dim dt As New DataTable
dt.Load(dr)
For i As Integer = 0 To dt.Rows.Count - 1
cbocatt.Items.Add(dt.Rows(i)("category"))
Next
Call closecon()
Catch ex As Exception
MsgBox(ex.Message)
Call closecon()
End Try
End Sub
Private Sub btn_Add_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Add.Click
If Me.txtname.Text.Length = 0 Then
MsgBox("Please enter username....", MsgBoxStyle.Information, "Inventory..")
Exit Sub

ElseIf Me.txtcat.Text.Length = 0 Then


MsgBox("Please enter category of product....", MsgBoxStyle.Information,
"Inventory..")
Exit Sub
ElseIf Me.txtaddress.Text.Length = 0 Then
MsgBox("Please enter address....", MsgBoxStyle.Information, "Inventory...")
Exit Sub
ElseIf Me.mtxtpno.Text.Length = 0 Then
MsgBox("Please enter phone number....", MsgBoxStyle.Information, "Inventory..")
Exit Sub

Else

Try
Call opencon()
Dim myd As New SqlDataAdapter
With myd
.InsertCommand = New SqlCommand

55
.InsertCommand.CommandText = "INSERT INTO
supplier(supname,category,address,pnumber)VALUES(@supname,@category,@address,@p
number) "
.InsertCommand.Connection = con
With .InsertCommand.Parameters
.AddWithValue("@supname", Me.txtname.Text)
.AddWithValue("@category", Me.txtcat.Text)
.AddWithValue("@address", Me.txtaddress.Text)
.AddWithValue("@pnumber", Me.mtxtpno.Text)
End With
.InsertCommand.ExecuteNonQuery()
End With
action = "Registered a new supplier"
Call Userlog()
MsgBox("Record successfully saved...", MsgBoxStyle.Information, "Saved....")
Call filllv()
Call clear()
Call closecon()
Catch ex As Exception
MsgBox(ex.Message)
Call closecon()
End Try
End If

user = Me.txtname.Text
action = "Registered " + user + "as a supplier"
logger = FrmLogin.txtname.Text
Call Userlog()
End Sub
Private Sub fill()
With lvRec
.Columns.Add("ID", 30, HorizontalAlignment.Left)
.Columns.Add("Supplier Name", 110, HorizontalAlignment.Left)
.Columns.Add("Category", 110, HorizontalAlignment.Left)
.Columns.Add("Address", 150, HorizontalAlignment.Left)
.Columns.Add("Phone No", 150, HorizontalAlignment.Left)
.Activation = ItemActivation.OneClick
.FullRowSelect = True
.GridLines = True
.HideSelection = False
.HoverSelection = False
.MultiSelect = True
.View = View.Details
.HotTracking = False
.Font = New Font(lvRec.Font.FontFamily, 11, FontStyle.Bold, GraphicsUnit.Pixel)
.BackColor = Color.White
End With

End Sub
56
Public Sub ConSelect()
Me.lvRec.Items.Clear()
Try
Dim myd As New SqlDataAdapter
With myd
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT * FROM supplier WHERE category
LIKE '%%" & Me.cbocatt.Text & "%%'"
.SelectCommand.Connection = con
End With
Dim dr As SqlDataReader
dr = myd.SelectCommand.ExecuteReader
Do While dr.Read
Dim item As New ListViewItem
item.Text = IIf(dr.IsDBNull(0), " ", dr.Item(0)).ToString
Dim c As Integer
For c = 1 To dr.FieldCount - 1
If Not dr.IsDBNull(c) Then
item.SubItems.Add(dr.Item(c)).ToString()
Else
item.SubItems.Add(" ")
End If
Next
Me.lvRec.Items.Add(item)
Loop

Catch ex As Exception
MsgBox(ex.Message)

End Try
End Sub
Private Sub filllv()
Me.lvRec.Items.Clear()
Try
Dim myd As New SqlDataAdapter
With myd
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT * FROM supplier"
.SelectCommand.Connection = con
End With
Dim dr As SqlDataReader
dr = myd.SelectCommand.ExecuteReader
Do While dr.Read
Dim item As New ListViewItem
item.Text = IIf(dr.IsDBNull(0), " ", dr.Item(0)).ToString
Dim c As Integer
For c = 1 To dr.FieldCount - 1
If Not dr.IsDBNull(c) Then
item.SubItems.Add(dr.Item(c)).ToString()
Else
57
item.SubItems.Add(" ")
End If
Next
Me.lvRec.Items.Add(item)
Loop

Catch ex As Exception
MsgBox(ex.Message)

End Try
End Sub
Private Function DelValidate() As Boolean
If Me.lvRec.Items.Count = 0 Then
MsgBox("No record to delete...", MsgBoxStyle.Exclamation, "No records...")
Return True
Exit Function
End If
If Me.lvRec.SelectedItems.Count = 0 Then
MsgBox("Please select a record to delete, or use Ctrl + Click to delete more records",
MsgBoxStyle.Exclamation, "Select record(s)")
Return True
Exit Function
End If
Return 0
End Function
Public Sub clear()
Me.txtname.Clear()
txtAddress.Clear()
txtcat.Clear()
mtxtpno.Clear()

End Sub
Public Sub Userlog()
Dim dd As String
dd = Now.Date
Try
Call opencon()
Dim myd As New SqlDataAdapter
With myd
.InsertCommand = New SqlCommand
.InsertCommand.CommandText = "INSERT INTO
loy(datte,uname,action)VALUES(@datte,@uname,@action) "
.InsertCommand.Connection = con
With .InsertCommand.Parameters
.AddWithValue("@datte", dd)
.AddWithValue("@uname", logger)
.AddWithValue("@action", action)
End With
.InsertCommand.ExecuteNonQuery()
End With
58
Call closecon()
Catch ex As Exception
MsgBox(ex.Message)
Call closecon()
End Try
End Sub

Private Sub frmSupp_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
Call opencon()
Call fill()
Call filllv()
Call closecon()
Call fillcombo()
End Sub

Private Sub btn_Edit_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Edit.Click
If Me.txtname.Text.Length = 0 Then
MsgBox("Please username field is empty....", MsgBoxStyle.Information,
"Inventory..")
Exit Sub

ElseIf Me.txtcat.Text.Length = 0 Then


MsgBox("Please category of product field is empty....", MsgBoxStyle.Information,
"Inventory..")
Exit Sub
ElseIf Me.txtaddress.Text.Length = 0 Then
MsgBox("Please address field is empty....", MsgBoxStyle.Information, "Inventory...")
Exit Sub
ElseIf Me.mtxtpno.Text.Length = 0 Then
MsgBox("Please phone number is empty....", MsgBoxStyle.Information,
"Inventory..")
Exit Sub

Else
Try
Call opencon()
Dim myd2 As New SqlDataAdapter
With myd2
.UpdateCommand = New SqlCommand
.UpdateCommand.CommandText = "UPDATE supplier SET [supname] =
@supname,[category] = @category,[address] = @address,[pnumber] = @pnumber WHERE
id LIKE '%%" & Me.lvRec.SelectedItems(0).Text & "%%'"
.UpdateCommand.Connection = con
With .UpdateCommand.Parameters
.AddWithValue("@supname", Me.txtname.Text)
.AddWithValue("@category", Me.txtcat.Text)
.AddWithValue("@address", Me.txtaddress.Text)
.AddWithValue("@pnumber", Me.mtxtpno.Text)
59
End With
.UpdateCommand.ExecuteNonQuery()
End With
Call filllv()
Call closecon()
action = "Performs supplier info update"
Call Userlog()
MsgBox("Record successfully updated...", MsgBoxStyle.Information,
"Submitted...")

Call clear()

Catch ex As Exception
MsgBox(ex.Message)
Call closecon()
End Try
End If
End Sub

Private Sub cbocatt_SelectedIndexChanged(ByVal sender As Object, ByVal e As


System.EventArgs) Handles cbocatt.SelectedIndexChanged
Call opencon()
Call ConSelect()
Call closecon()
End Sub

Private Sub btn_Delete_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Delete.Click
If DelValidate() = True Then
Return
Exit Sub
Else
If MsgBox("Are you sure you want delete the selected record(s)?",
MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.YesNo,
"Confirmation...") = MsgBoxResult.Yes Then

Try

Dim list As New ListViewItem


For Each list In Me.lvRec.SelectedItems
list.Remove()
Call opencon()
Dim myd As New SqlDataAdapter
With myd
.DeleteCommand = New SqlCommand
.DeleteCommand.CommandText = "DELETE FROM supplier WHERE id
LIKE '%%" & list.Text & "%%'"
.DeleteCommand.Connection = con
.DeleteCommand.ExecuteNonQuery()
60
End With
Next
Call filllv()
Call closecon()
action = "Deleted a supplier info"
Call Userlog()
MsgBox("Record(s) successfully deleted....", MsgBoxStyle.Information,
"Deleted records...")
Catch ex As Exception
MsgBox(ex.Message)
Call closecon()
End Try
Else
MsgBox("Deletion cancelled....", MsgBoxStyle.Information, "Cancelled...")
Call opencon()
Call filllv()
Call closecon()

End If
End If
End Sub
Private Function EditValidate() As Boolean
If Me.lvRec.Items.Count = 0 Then
MsgBox("No record to Edit...", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly,
"Inventory...")
Return True
Exit Function
End If
If Me.lvRec.SelectedItems.Count > 1 Then
MsgBox("Please select only one record to Edit or double click the record...",
MsgBoxStyle.Critical, "Inventory...")
Return True
Exit Function
End If
If Me.lvRec.SelectedItems.Count = 0 Then
MsgBox("Please select a record to Edit or double click the record...",
MsgBoxStyle.Critical, "Inventory...")
Return True
Exit Function
End If
Return 0
End Function

Private Sub btn_view_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_view.Click
If EditValidate() = True Then
Return
Exit Sub
Else
Call opencon()
61
Dim myd As New SqlDataAdapter
With myd
.SelectCommand = New SqlCommand
.SelectCommand.CommandText = "SELECT * FROM supplier WHERE id LIKE
'%%" & Me.lvRec.SelectedItems(0).Text & "%%'"
.SelectCommand.Connection = con
End With
Dim dr As SqlDataReader
dr = myd.SelectCommand.ExecuteReader
With dr
If Not .HasRows Then
'Nothing
Else
.Read()
Me.txtname.Text = IIf(.IsDBNull(1), " ", .Item("supname")).ToString
Me.txtcat.Text = IIf(.IsDBNull(2), " ", .Item("category")).ToString
Me.txtaddress.Text = IIf(.IsDBNull(3), " ", .Item("address")).ToString
Me.mtxtpno.Text = IIf(.IsDBNull(4), " ", .Item("pnumber")).ToString

End If
End With
Call closecon()
End If
End Sub

Private Sub lvRec_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)


Handles lvRec.DoubleClick
btn_view.PerformClick()
End Sub

Private Sub btn_Refresh_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_Refresh.Click
Call clear()
Call opencon()
Call filllv()
Call closecon()
End Sub

Private Sub btn_close_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_close.Click
Me.Close()
End Sub

Private Sub txtcat_Leave(ByVal sender As Object, ByVal e As System.EventArgs)


Handles txtcat.Leave
Me.txtcat.Text = StrConv(Me.txtcat.Text, vbProperCase)
End Sub

Private Sub txtcat_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txtcat.TextChanged
62
End Sub

Private Sub txtname_Leave(ByVal sender As Object, ByVal e As System.EventArgs)


Handles txtname.Leave
Me.txtname.Text = StrConv(Me.txtname.Text, vbProperCase)
End Sub

Private Sub txtname_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txtname.TextChanged

End Sub

Private Sub txtaddress_Leave(ByVal sender As Object, ByVal e As System.EventArgs)


Handles txtaddress.Leave
Me.txtaddress.Text = StrConv(Me.txtaddress.Text, vbProperCase)
End Sub

Private Sub txtaddress_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txtaddress.TextChanged

End Sub
End Class

63
8. TESTING&VALIDATION CHECK

Testing

Testingis a process of executing the program with the intent of finding errors and it
establishes confidence that the program does what it is supposed to do. Testing can be
performed in two ways:-

Unit Testing:

It is testing of individual module. Before initiating unit testing,it must be ensured that the
code is peer previewed.

Integration Testing:

Integration testing is performed after all the software units are combined together. The
objective here is to test the software interfaces.before entering integration testing,it may be
ensured that code review and unit testing have been performed on the individual software
modules.

64
Validation

Validity of the data to be entered is an important thing in the project execution. To make the
program run successfully all the data that is entered need to be valid so that the user doesn’t
get error messages very often. Care need to be taken so that the processes also run without
any errors. The user should know that which data is to be entered in the text boxes and ought
not to be entered. Care should be taken, so that text is not entered in the places where
numbers ought to be entered.

As this project has made the use of My-SQL data is stored in the form of tables where there is
a unique key in each field that distinguishes it from another. The user should know such field
so that the data is not repeated and the errors are minimized. Another validation check is that
proper data needs to be inputted so that the user can get proper output.

All textboxes in the editing form is closed so that the user can’t directly harm the data. Edit
command is given in the program that makes sure that textboxes open only when the user
want to make any changes in the project.

For example, in this project the field validation is applied so that if the user enters charactes
in place of number or vice versa, the user will get a promt to enter the correct value,as shown
in the screen shot below.

65
9. SECURITY MEASURES TAKEN

Security of the project needs to be the topmost agenda in the minds of the programmer so that
the system is saved from the unidentified sources. Keeping this in mind we have made an
arrangement for the security of the system.

We have provided with the facility of user password, but still any mischievous thing can
happen. The cipher which is kept only for known user can be decrypted. Therefore we have
surveyed through many companies and asked them how they tackle this challenge. Enquiring
in all the possibilities we have done our security system tight. Security is the prime goal set in
the minds of the programmers as the software’s are made but if it is not handle with security
measures it can be decrypted easily. Most of the time is spend for programming, debugging,
and testing; equal time should be spend in the security of the system. As in big companies
security system is very rigid no one ever dares to enter it; seeing that it is a crime under
Information Technology Law 2000.

We have just kept it for certain specified persons in the company to keep the security
business. This provision is been made so that no other user can access the system data.

66
10. IMPLEMENTATION, EVALUATION AND MAINTENANCE

(i) Implementation

Implementation phase is mainly concerned with user training, site preparations & file
conversions. It also involves final testing of the system. During Implementation the
components build during development are put into operational use.

Implementation phase is one of the most important stages while in while developing a
project. It is at this stage when the system takes the physical stage. The programmer has to
instruct the user about the operation of the project. In other words he should give training to
the user of the program so that the user is in touch of this new project which will help them to
be more effective in their work. If the user is a rookie or the system which he/she is using
should be upgraded or replaced with the new ones.

Another tedious task is that developing operating procedures for the staff who are going to
work on the system. Finally the system should be implemented so as to fulfill needs & began
its operation on time & within budget.

Brief Reference of the points that should be addressed during implementation:


 Writing, testing, Debugging & Documenting program.
 Converting data from the old to new system.
 Giving training to user about how to operate the system.
 Developing operating procedures for the computer center staff.
 Establishing a maintenance procedure to repair & Enhance the system.
 Completing system Documentation.
 Reviewing the administrative plan, personnel requirement plan, and hardware plan.

67
(ii) Evaluation and Maintenance

After the Implementation stage, another important stage in project development is evaluation
& maintenance. After keeping the project in the working condition for some time, all the
errors that are shown in the computer program should be removed. The programmer needs to
correct them so that the same errors should not be repeated. We should also get the feedback
from the users which are using it and ask them whether it is user-friendly or not. After
evaluating the program & satisfying the needs of the user the program is maintained fully to
give the same functionality for what it was intended to be. This stage should be implemented
so as to regular checkups of errors with error handling techniques. This stage is the updating
& correcting of the program to account for changing conditions or field experience. Proper
testing & documentation significantly reduce the frequency and extent of the required
maintenance.

Brief Reference to points that should be address During Evaluation/Maintenance:


 Correcting Errors.
 Newly discovered bugs.
 Resolving necessary changes.
 Specification changes.
 Enhances or modify the system maintenance.
 New equipment

Maintenance is the enigma of system development. Maintenance is not as rewarding as


exciting as developing systems. It is perceived as requiring neither skills nor experience. It is
an expensive process. One of the ways to reduce maintenance costs is through Maintenance
Management & Software Modification Audits. In fact, maintenance management should be
due to importance as it affects the system to a large extent and any negligence may lead to
disastrous results.

68
11. FUTURE SCOPE OF THE PROJECT

We have prepare new system after identify issue in existing manual DENTIST CLINIC
SYSTEMsystem. Scope of this DENTIST CLINIC SYSTEM is very broad in terms of other
manually taking exams. However we can improve our system in next version like.
 Linking of other online site
 Include graphical and media file as question and answers
 Use of JQuery for more smooth interface

Our future plan is to give a new form to our project which is a desktop application .Making
more reliable, realistic with many extra features such as:

 Make our DENTIST CLINIC SYSTEM project more informative, attractive and
interactive to the user.

 Analyzing and designing software based on scientific survey rather than ordinary
survey.

 Converting our desktop based project into website based with feature enriched which
can support many more features that is not provided by an ordinary website.

 During project enhancement we will never forget to make software from user’s point
of view rather than programming point of view.

 Providing user more entertainment such that they will not feel bore and can spend
more time with enthusiastically and willingly.

 Try to make a web based application

69
12. SUGGESTION& CONCLUSION

SUGGESTION

Suggestions about this project are as follows:

1) The user can connect the project to the database for displaying reports.
2) Modification, delete, updating data can be made if the user wants to do so.
3) The project has a multiple modules & additional modules can be added as per user’s
requirements.
4) It’s a Time consuming Process.
5) It can maintain the problems of Records.
6) It can create a problem for marking of not normal value.
7) It has Less Accuracy.
8) This System can be developed further with an objective to eliminate the running cost
by overcoming the Mobile expenses.
9) Since the system has very sensitive information within it stored in the database it can
be more secured by maximum security.

70
CONCLUSION

The proposed system is created for the Manager of Mobile Management System to help them
for manage their transactions of customers. The facilities provided by this software will help
them in performing their task effectively, smoothly and efficiently. This also provides them
user level control over the environment, which help them in the administration of their groups
efficiently and effectively.

1. This system provides information about the solutions to user problems and need,
Fulfilling, efficiently maintain the record of any customer.

2. The system provides the facilities categorized according to the user. It accepts
multiple tasks such as search records or edits any customer’s updated details.

3. This project also has the facility to generate the reports which plays a vital role in
viewing all customers’ records in full view, thus helps to get the utility of this project
in a systematic manner.

71
13. BIBLIOGRAPHY& REFERENCES

BOOKS AUTHORS

 Visual Basic.NET  Soma Dasgupta


 My-SQL  Celeste Robinson
 Software engineering  Roger Pressman

WEB-SITES  www.Google.com
 www.wikipedia.com

72

You might also like