Professional Documents
Culture Documents
ON
SUBMITTED TO
Department of Computer Science
SUBMITTED TO
SUBMITTED BY
SONU KUMAR
AVNEESH KUMAR
ROBIN GOSWAMI
SUBMITTED AT
We would like to take this opportunity to express our gratitude towards all the
people who have in various ways, helped in the successful completion of our project.
We must convey our gratitude to Mr. PRAMOD SHARMA for giving our constant
source of inspiration and help in preparing the project, personally correcting we work and
providing encouragement throughout the project.
We also thank all our faculty members for steering we through the tough as well as
easy phases of the project in a result oriented manner with concern attention.
DATE:
SONU KUMAR
AVNEESH KUMAR
ROBIN GOSWAMI
DECLARATION
We are the students of BCA 6th sem. of Shri Ram College, Muzaffarnagar
(Affiliated to C.C.S. University, Meerut). Hereby declare that the project report on
banking system is our original work.
We also declare that we have done our work self accurately even then if over
mistake or error had kept in, we request to our faculties to points out these error and
guide our to remove these error for our future. We are also thankful for our faculties.
CERTIFICATE
This is to certify that Mr. SONU KUMAR, S/O Sh. RAM GOPAL Mr.
AVNEESH KUMAR, S/OSh. MAHIPAL SINGH, Mr. ROBIN GOSWAMI, S/O
Sh. RATAN GOSWAMI., students of B.C.A. VIth semester in Shri Ram College,
Muzaffarnagar has completed the project titled BANKING SYSTEM This project is
a part of course curriculum.
I found this project satisfactory and I wish him/her a bright future for his/her
career.
Our college is affiliated to C.C.S. University.
(H.O.D.)
(Supervisor)
Acknowledgement
Contents
Introduction
System Objectives
Problem Definition
Project Analysis
Feasibility study
Project Design
System Analysis
System Design
System Development
Tables Description
Coding
System Implementation
System Maintenance
6
System Documentation
Glossary
Bibliography
INTRODUCTION
COMPUTERIZED BANKING SYSTEM is a tool that it provides efficient
services to its Customers. The various types of operations and dealings take places
in the Bank. But we had undertaken the work of Computerization of New A/C,
Drafts and Staff Management which covers the activities related to Bank, & All
Types of activities corresponds to the Customer, These Operations was manually
operated by the clerks and Manager and the operations were really time consuming
task to perform. The present system will help them a lot.
System design is a solution, How to approach to the creation of a new system. This important
phase is composed of several steps. It provides the understanding and procedural feasibility study.
Design gose through a logical and physical stage of development. Logical design reviews the present
physical system, prepares input output specification, makes edit, security and control specification,
detail implementation plans, prepares a logical design walkthrough. The physical design maps out the
details of the physical system, plans the system implementation and specifies any new hardware and
software.
System design is a highly created process that can be greatly facilitated by the following:
Input Design
The most common cause of errors in data processing is inaccurate input data errors entered by
the data entry operator. It can be controlled by the input design. Input design is the process of converting
8
user oriented inputs to the computer based formats. The goal of the input design is to make data entry as
easy, logical and free from as many errors as possible.
Output Design
Computers are the most important sources of information to the users are fed into the
computers to acquire the necessary outputs. The computers can provide the we enough output in the
form of information regarding various items to the users. The major form of output is a hard copy from
the printer. Printouts are designed around the output requirements of the user(s).
Interface Design
Forms are designed to control the redundancy, increased operator accuracy maximum
readability, easy data entry and elimination of unnecessary data to provide easier checking and
correction of data. Keeping in view the users requirements, the input/output forms have been designed
and developed for easy data entry and query handling. Based on the various types of inputs to be fed into
the computer in using this system, several inputs forms have been designed to make data entry easier
and accurate.
Database Design
The collection of data is usually referred to as the database. The database contains information
about the particular enterprise. Database systems are designed to manage larger bodies of information.
The management of data involves both the definition of the structures for the storage of the information
and the provision for the mechanism to manipulate the information. In addition the database system
9
must provide the safety of the information stored in the database, despite system crashes or attempts at
unauthorized access.
The definition of our problem lies in manual system and a fully automated system.
Manual system:
The system is very time consuming and lazy. This system is more prone to errors and sometimes
the approach to various problems is unstructured.
Technical system:
With the advent of latest technology if we do not update our system then our business result in
losses gradually with time. The technical systems contains the tools of latest trend i.e. computers
printers, fax, Internet etc. The systems with this technology are very fast, accurate, user-friendly and
reliable..
10
FEASIBILITY STUDY:Feasibility study before development or customization of software we think following of the
major points, which includes following: a)
Economical
b)
Technical
c)
Duration
Economical:This study about the software basically give the suggestion like if we develop software for our
organization than how much it will forfeitable, workable as well as economical. If we developing a
software which very economical but not profitable there it is also wrong decision. So for we economical
study about the system table following of the point.
Corrective of software.
Technical:11
Duration:It is also a major point when we develop software. We also consider about time, how much time
software place to complete because for a big organization time factor is money for full successful of the
software also Tax some times so we have consider from starting to last that means beginning to
software.
12
13
ORGANISATION CHART
Computerized
banking
Manage
Accounts
MANAGER
STAFF
Modify Staf
CUSTOMER
14
In developing cost estimates for a system, we need to consider servable cost elements. Among
them hardware, personnel, facility, operating, & supply costs.
Hardware Cost:Hardware cost relate to the actual purchase or lease of the computer & peripherals Ex. Printer,
disk, floppy drive, the best way to control for this cost is to treat it as an operating cost.
Personnel Cost:This includes staff salaries & benefits (health insurance, vocation time, sick pay etc.) as well as
pay for those involved in developing system. Costs incurred during the development of a system are one
time costs & are labeled developmental costs. Once the system is installed the costs of operating
&maintaining the system become recurring costs.
Facility Costs:Facility costs are expenses incurred in the preparation of the physical site where the application
or the computer will be i operation. This includes wiring, flooring, acoustics, lighting & air conditioning.
These costs are treated as one time costs.
Operating Cost:Operating costs include all costs associated with the day to day operating system. The amount
depends on the number of sifts the nature of the application & the caliber of the operating staff. There
are various ways of covering operating costs to overhead. Another approach is to change each authorized
15
user for the amount of processing they request from the system. The amount charged is based on the
computer time, staff time & the volume of output produced.
Supply Cost:These costs are variable costs that increase with increased use of paper, ribbon, disks & the like
they should be estimated & include in the overall cost of the system.
Equipment Cost:Equipment costs include rental & annual deprecation of any equipment such as typewriter,
copies, computer terminals & microcomputers used in connection with the system. Other costs
associated with the equipment, such as insurance & maintenance should also be included.
16
SYSTEM:A system can be defined as A set of arrangement of elements that are organized to
accomplish some method, procedure or control by processing information.
System Analysis stages down the broad frame work of strategy stage into its minute details.
This is the stage where intensive user interaction assumes a lot of importance.
SYSTEM DEVELOPMENT:Development Phase, translates a set of requirements into an operational system that we call
Software. At early stages of hardware development a hardware engineer does not reach for a
soldering iron, similarly the Software engineer Should not reach the compiler. Design is accomplished
first.
The first phase of development concentrates on design. The design phase for software
with a description of architecture and data design. That is a modular structure is developed first,
interfaces are defined and data structure is established. Design criteria are used for the assessment of
quality. This preliminary design step is reviewed for completeness and tractability to software
requirements.
Procedural aspects of each modular component of the software design are considered next, and
is following by the CODING the generation of program using an appropriate programming language
or CASE tool occurs after the design is complete. Software engineering methodology views coding as
a consequence of good design. Code is then reviewed for style and clarity, but should otherwise be
directly traceable to a detailed design description.
17
DETAILED ENTITY RELATIONSHIP DIAGRAM:Identification of all the Entities of importance for which data need to be stored and defined their
relationship with each other was a major task at this level. All the identified entities were mapped on a
E-R-diagram. It is of utmost importance to cover all the necessary entities and defined their relationship
with each other correctly because any errors at this stage would result in the reworking in the further
stages.
Unique Identification, UID:A unique identification is required to be identified and associated with each other at this stage.
Function Hierarchy:Function hierarchy is used for grouping related functions under a parent function. The hierarchy
is balanced so that all elementary functions come in the same level of hierarchy. A good hierarchy drawn
at this stage helped in menu generation at a later stage.
The Basic Objective:The basic objective of the system design was the system being developed should be able to fit
into the existing system, that is it become a part of the system and it should not lead to any changes
which can adversely affect the existing system. The airways having many activities which effect one
another so the approach of airways reservation is generated for the simplification of data handling.
18
Completely menu drive interface with the provision of initiating even the batch jobs by
On Line help
Strong documentation
19
Designing is the most important part of the software development. It requires a careful planning
and logical thinking on the system designer. Designing a software means to plan how the various parts
of the software are going to achieve the desired goal. It should done with the utmost care because if this
phase contains any errors then that will be going to affect the performance of the system, as a result it
may take more processing time, more coding, extra work load etc.
As the software is to be designed in MS-ACCESS RDBMS, the concept of the database
is must for quality designing. It will be designing of the database, designing of forms, designing of
reports.
Separate tables have been created for each entity of the system. In order to make the response
time negligible, all the tables have been created in the Memory File System. Moreover indexes have
been created on the tables in the number of records have been made random.
20
The design stages takes the final specification of the system from the analysis stages and finds
the best way of fulfilling them, given the technical environment and previous decision on required level
of automation
ARCHITECTURAL DESIGN:The high level design maps the business system described in the program requirement
specification to logical data structure, it involves:
Identification of the entities that constitutes the system:All the entities related to the module were identified, checked and consolidated
Identifying the Relationships:The relationships between the entities, within and outside the system were identified.
Attribute definition:The pertaining of the entities was identified and their field characteristics were specified.
Normalization:The entities were normalization, after first and the second normalization was achieved for all the
entities.
Interface:Interface with the other systems were done and attributes related to external entities identified.
21
DETAILED DESIGN:The low level design maps the logical model of the system to a physical database design.
Table Mapping:The Table was created for the system using the design view, which is the part of the
MS_ACCESS. This has provision to create the entities and attributes into the Tables. The name of the
entity is taken as the table name.
Default Database Design:In Access we can create the tables very easily. The tables divide into two parts. These names are
as follow: -
ROWS
COLUMNS
Generation of table
2.
3.
4.
Primary Keys
5.
Unique Keys
6.
Foreign Keys
Relationship:Ms-Access allows many types of relationship between the tables. These relationship names are
as follow:
Program specifications:22
The program specifications were written for the master, transactions, reports and queries. The
logic for each field, block and form were written so that anyone who does not know the system will be
able to code the logic. Field validations and user-friendly error messages were written as part of the
program specification.
23
Visual Basic gives the different types of accessing the Database (RDO, ADO and DAO)
Visual Basic is complete programming language that supports programming constructs for
looping, decision making and efficient processing. These constructs include
For.next
Do.loop
Selectcase
Withend with
If.then.else
24
25
Table name:
Types of Account
Field name
Data type
Description
Account type
Text
Types of Account
Description
Text
Details of account
Minimum Balance
currency
Balance of the
account
Rate
number
Rate of interest
Table name:
Field name
Data type
description
Checkbook
number
text
Customer of checkbook
number
Account number
text
Details of account
Date issued
Date/time
Issued of checkbook
Start number
text
Open of a/c
Table name:
Details of customer
26
Field name
Data type
Description
Account number
text
First name
text
Last name
Text
Office address
text
Address of office
Home address
text
Address of Home
Date of birth
Date/time
D.O.B.of customer
Account type
text
Gender
text
Male\female
text
Office phone
text
Home phone
text
Balance
currency
Access code
Text
Date opened
Date/time
Digital sign
text
Customer picture
Text
Text
Expiry date
Date/time
27
Types of currency
Table name:
Field
Data type
description
Query ID
text
Customer of query
name
ID
Account
text
Query
text
Status
Text
Details of account
number
Status of a/c
Date
received
Date/time
Table name:
Field
name
Description
type
Check
number
Text
Account
number
Text
Instruction
Text
Table name:
Customer of check
number
Details of account
Instructions for
customer
Details of Transactions
28
Field name
Data type
description
Transaction ID
Text
Transaction ID of
customer
Transaction date
Date/time
Date of transaction
Transaction type
Text
Transaction mode
text
Text
To a/c number
Text
Check number
Text
Amount
Currency
Status
Text
Table name:
Open of a/c
Amount of currency
Details of users
Field
Data
description
Login ID
text
Login ID of users
Employee
text
password
text
name
type
ID
Password of User
ID
Role
Text
29
Role of users
BANKING SYSTEM
ENTER PASSWORD
MENU
emp
Password
EMPLOYEE
ACCOUNT
DRAFTS
Quit
A
Verify LOGIN
ENTER Password
If valid password
BANKIN
G
31
Administrator
BANKING
SYSTEM
STAFF
DRAFTS
ACCOUNT
S
32
Delete Staf
Administrat
or
Logi
n
Modify Staf
Staf
Login File
33
Add
New
Delete Account
Administrat
or
Modify A/C
Account
Logi
n
Login File
Add New A/C
34
Customer File
Administrat
or
Drafts
Logi
n
s
Printed Slip Of
Draft to
35
36
Main menu
37
Customers
38
Deposits
39
Withdrawal
40
Transactions
41
To genrarate reports
42
Account settings
43
Bank settings
44
45
SPLASH FORM
Option Explicit
Private Sub timerSplash_Timer()
End Sub
Private Sub Form_Load()
Frame1.Move (Screen.Width - Frame1.Width) / 2, (Screen.Height - Frame1.Height) / 2
End Sub
Private Sub Label2_Click()
End Sub
Private Sub timer_Timer()
Unload Me
frmLogin.Show
End Sub
46
LOGIN FORM
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal
lpszSoundName As String, ByVal uFlags As Long) As Long
Private Sub CmdExit_Click()
If MsgBox("Are you sure you want to exit ?", 4 + 32, title) = vbNo
GoTo EXITPROCEDURE
Else
End
End If
EXITPROCEDURE:
Exit Sub
End Sub
Private Sub cmdLogin_Click()
On Error GoTo errhandler
If txtPassword.Text = "" Or txtUserName.Text = "" Then
MsgBox "Please enter User Name and password ", vbExclamation, title
txtPassword.SetFocus
GoTo EXITPROCEDURE
End If
txtPassword.Text = LCase(txtPassword.Text)
recUsers.MoveFirst
Do While Not recUsers.EOF
If Trim(recUsers!LoginID) = Trim(txtUserName.Text) And _
Trim(recUsers!Password) = Trim(txtPassword.Text) Then
sndPlaySound App.Path & "\Reminder\reminder.wav", &H1
47
frmMain.status.Panels("Role").Text = Trim(recUsers!Role)
frmMain.status.Panels("Name").Text = Trim(txtUserName.Text)
UserID = recUsers!EmployeeID
UserName = recUsers!LoginID
UserPassword = recUsers!Password
UserRole = recUsers!Role
Call Enable_Menu
If UserRole = "Employee" Or UserRole = "Teller" Then
frmMain.mnuReports.Enabled = False
frmMain.mnuUser.Enabled = False
frmMain.mnuDate.Enabled = False
frmMain.mnuCheckBook.Enabled = False
End If
Unload Me
GoTo EXITPROCEDURE
End If
recUsers.MoveNext
Loop
If recUsers.EOF Then
MsgBox "Invalid password, kindly retry", vbExclamation, title
txtPassword.SelStart = 0
txtPassword.SelLength = Len(txtPassword.Text)
txtPassword.SetFocus
GoTo EXITPROCEDURE
End If
EXITPROCEDURE:
Exit Sub
48
errhandler:
MsgBox Err.Description, vbCritical, title
GoTo EXITPROCEDURE
End Sub
Private Sub Form_Load()
On Error GoTo errhandler
UserID = ""
UserName = ""
UserPassword = ""
UserRole = ""
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3
Call ConnectMe
cmdLogin.Enabled = False
Call Disable_Menu
frmMain.status.Panels("Role").Text = ""
frmMain.status.Panels("Name").Text = ""
EXITPROCEDURE:
Exit Sub
errhandler:
MsgBox Err.Description, vbCritical, title
GoTo EXITPROCEDURE
End Sub
Private Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub txtPassword_GotFocus()
On Error GoTo errhandler
recUsers.MoveFirst
49
frmMain.mnuFile.Enabled = True
frmMain.mnuAdmin.Enabled = True
frmMain.mnuTrans.Enabled = True
frmMain.mnuReports.Enabled = True
frmMain.mnuHelp.Enabled = True
frmMain.mnuUser.Enabled = True
frmMain.mnuCheckBook.Enabled = True
frmMain.mnuDate.Enabled = True
End Sub
51
MAIN FORM
Option Explicit
Dim currentLength As Byte
Const msg As String = "Online Banking"
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal
lpszSoundName As String, ByVal uFlags As Long) As Long
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If MsgBox("Are you sure you want to exit ?", 4 + 32, title) = vbNo Then
GoTo EXITPROCEDURE
Else
End
End If
EXITPROCEDURE:
Exit Sub
End Sub
Private Sub mnuAllCustomers_Click()
frmCustomers.Show
End Sub
Private Sub mnuAllUsers_Click()
Load frmUsers
frmUsers.Show
End Sub
Private Sub mnuCalculator_Click()
On Error GoTo errhandle
Shell "calc"
Exit Sub
52
errhandler:
MsgBox "Calculator is not available for now...", vbExclamation, title
End Sub
Private Sub mnuCalendar_Click()
On Error GoTo errhandler
Load frmCalendar
frmCalendar.Show
Exit Sub
errhandler:
MsgBox "The calendar is not available for now...", vbExclamation, title
End Sub
Private Sub mnuCheckBook_Click()
frmCheckBook.Show
End Sub
Private Sub mnuCustomerQuery_Click()
frmCustomerQuery.Show
End Sub
Private Sub mnuCustomerQueryReport_Click(
blQuery = True
blDeposit = False
blTransfer = False
blWithdrawal = False
blStop = False
frmReport.lbl.Caption = "Customer Query"
frmReport.Show
End Sub
Private Sub mnuDate_Click()
53
End Sub
Private Sub mnuLock_Click()
Load frmLock
frmLock.Show
End Sub
Private Sub mnuLogin_Click()
Load frmLogin
frmLogin.Show
End Sub
Private Sub mnuLogoff_Click()
If MsgBox("Are you sure you want to log off ?", 4 + 32, title) = vbNo Then
GoTo EXITPROCEDURE
Else
frmLogin.Show
End If
EXITPROCEDURE:
Exit Sub
End Sub
Private Sub mnuNotepad_Click()
On Error GoTo errhandler
Shell "notepad.exe", vbNormalFocus
Exit Sub
errhandler:
MsgBox "Notepad not available for now", vbExclamation, title
End Sub
Private Sub mnuStopPayment_Click()
frmStopPayment.Show
55
End Sub
Private Sub mnuStopPaymentReport_Click()
blQuery = False
blDeposit = False
blTransfer = False
blWithdrawal = False
blStop = True
frmReport.Frame3.Visible = False
frmReport.lbl.Caption = "Stop Payment Report"
frmReport.Show
End Sub
Private Sub mnuTransfer_Click()
frmTransfer.ShowS
End Sub
Private Sub mnuTransferReport_Click()
blQuery = False
blDeposit = False
blTransfer = True
blWithdrawal = False
blStop = False
frmReport.lbl.Caption = "TRansfer Report"
frmReport.Show
End Sub
Private Sub mnuWithDraw_Click()
frmWithdrawal.Show
End Sub
Private Sub mnuWithdrawalReport_Click()
56
blQuery = False
blDeposit = False
blTransfer = False
blWithdrawal = True
blStop = False
frmReport.lbl.Caption = "Withdrawal Report"
frmReport.Show
End Sub
Private Sub Timer2_Timer()
Caption = Left(msg, currentLength)
currentLength = (currentLength + 1) Mod (Len(msg) + 1)
End Sub
57
USER DETAIL
Dim Control As Object
Private Sub CmdExit_Click()
If MsgBox("Are you sure you want to close this window ?", vbQuestion + 4, title) = vbNo
Then
GoTo EXITPROCEDURE
Else
Unload Me
frmUsers.Show
End If
EXITPROCEDURE:
Exit Sub
End Sub
Private Sub cmdOk_Click()
On Error GoTo abdel
If txtLoginName.Text = "" Then
MsgBox "Please enter user name ", vbExclamation, title
txtLoginName.SetFocus
GoTo EXITPROCEDURE
End If
If txtPass.Text = "" Then
MsgBox "Please enter password ", vbExclamation, title
txtPass.SetFocus
GoTo EXITPROCEDURE
End If
58
Loop
MsgBox "User's details updated successfully!" & vbCrLf & "You need to login again.",
vbExclamation, title
Unload Me
frmLogin.Show
End If
If blAddUser = True Then
If txtLoginName = UserName Then
MsgBox "User Name already exist, Kindly change the name!", vbExclamation, title
txtLoginName.SelStart = 0
txtLoginName.SelLength = Len(txtLoginName.Text)
txtLoginName.SetFocus
GoTo EXITPROCEDURE
End If
recUsers.AddNew
recUsers!LoginID = Trim(txtLoginName.Text)
recUsers!EmployeeID = newUserID
recUsers!Password = Trim(txtPass.Text)
recUsers!Role = comboRole.Text
recUsers.Update
MsgBox "New user added successfully!" & vbCrLf & "You need to login again.",
vbExclamation, title
Unload Me
frmLogin.Show
End If
EXITPROCEDURE:
Exit Sub
60
abdel:
MsgBox "Sorry, transactions unsuccessful", vbExclamation, title
GoTo EXITPROCEDURE
End Sub
Private Sub comboRole_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
Private Sub Form_Load()
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3
Call ConnectMe
End Sub
Private Sub Form_Unload(Cancel As Integer)
blAddUser = False
blUpdateUser = False
End Sub
61
CUSTOMER DETAIL
Public strPath As String
Private Sub cmdBrowse_Click()
With Dialog
.ShowOpen
Pic.Picture = LoadPicture(.FileName)
strPath = .FileTitle
End With
End Sub
Private Sub cmdClose_Click()
Unload Me
frmCustomers.Show
End Sub
Private Sub cmdOk_Click()
If txtFirstName.Text = "" Then
MsgBox "Please enter the First Name.", vbExclamation, title
txtFirstName.SetFocus
GoTo EXITPROCEDURE
End If
If txtLastName.Text = "" Then
MsgBox "Please enter the Last Name.", vbExclamation, title
txtLastName.SetFocus
GoTo EXITPROCEDURE
End If
If dtpDateOfBirth.Value = Date Then
MsgBox "Date of Birth can not be today, Kindly change it", vbExclamation, title
62
dtpDateOfBirth.SetFocus
GoTo EXITPROCEDURE
End If
If dtpDateOfBirth.Value = Date Then
MsgBox "Date of Birth can not be in future", vbExclamation, title
dtpDateOfBirth.SetFocus
GoTo EXITPROCEDURE
End If
If cboGender.Text = "" Then
MsgBox "Please select the Gender.", vbExclamation, title
cboGender.SetFocus
GoTo EXITPROCEDURE
End If
If txtAccountNo.Text = "" Then
MsgBox "Please enter the Account Number.", vbExclamation, title
txtAccountNo.SetFocus
GoTo EXITPROCEDURE
End If
If cboAccountType.Text = "" Then
MsgBox "Please select the Account Type.", vbExclamation, title
cboAccountType.SetFocus
GoTo EXITPROCEDURE
End If
If txtBalance.Text = "" Then
MsgBox "Please enter the Balance.", vbExclamation, title
txtBalance.SetFocus
GoTo EXITPROCEDURE
63
End IF
If blAddCustomer = True Then
recCustomers.AddNew
recCustomers!FirstName = txtFirstName.Text & ""
recCustomers!LastName = txtLastName.Text & ""
recCustomers!OfficeAddress = txtOfficeAddress.Text & ""
recCustomers!HomeAddress = txtHomeAddress.Text & ""
recCustomers!DateOfBirth = dtpDateOfBirth.Value
If cboGender.Text = "Male" Then
recCustomers!Gender = "M"
Else
recCustomers!Gender = "F"
End If
recCustomers!Email = txtEmail.Text & ""
recCustomers!OfficePhone = txtOfficePhone.Text & ""
recCustomers!HomePhone = txtHomePhone.Text & ""
recCustomers!AccountNumber = txtAccountNo.Text & ""
recCustomers!AccountType = cboAccountType.Text & ""
recCustomers!ATMCardNumber = txtATM.Text & ""
recCustomers!ExpiryDate = dtpExpiryDate.Value & ""
recCustomers!Balance = txtBalance.Text & ""
recCustomers!AccessCode = txtAccessCode.Text & ""
recCustomers!DateOpened = dtpDateOpened
recCustomers!CustomerPicture = strPath
recCustomers.Update
Unload Me
frmCustomers.Show
64
End If
recCustomers.UpdateBatch adAffectCurrent
End If
recCustomers.MoveNext
Loop
Unload Me
frmCustomers.Show
End If
EXITPROCEDURE:
Exit Sub
End Sub
Private Sub Form_Load()
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3
Call ConnectMe
End Sub
Private Sub Form_Unload(Cancel As Integer)
blAddCustomer = False
blUpdateCustomer = False
End Sub
Private Sub Frame4_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub txtBalance_KeyPress(KeyAscii As Integer)
Call onlyNumbers(KeyAscii)
End Sub
Private Sub txtFirstName_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKey0 To vbKey9
KeyAscii = 0
66
End Select
End Sub
67
CALENDAR
Private Sub cmdClose_Click()
If MsgBox("Are you sure you want to close this window ?", vbQuestion + 4, title) = vbNo
Then
Exit Sub
Else
Unload Me
End If
End Sub
Private Sub Form_Load()
On Error Resume Next
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3
cal.Value = Date
lbl = Date
End Sub
68
DATA REPORT
Private Sub cboAccountNumber_Click()
On Error GoTo errhandler
Call DisplayCustomerDetails(cboAccountNumber.Text)
txtBalance.Text = Balance
txtFirstName.Text = FirstName
txtLastName.Text = LastName
txtGender.Text = Gender
txtAccountType.Text = AccountType
cmdOk.Enabled = True
Pic.Picture = LoadPicture(App.Path & "\pictures\" & CustomerPicture
EXITPROCEDURE:
Exit Sub
errhandler:
Pic.Picture = LoadPicture(App.Path & "\Pictures\" & "NA.GIF")
GoTo EXITPROCEDURE
End Sub
Private Sub cmdClose_Click()
If MsgBox("Are you sure you want to cancel ?", 4 + 32, title) = vbNo Then
GoTo EXITPROCEDURE
Else
Unload Me
End If
EXITPROCEDURE:
69
Exit Sub
End Sub
Private Sub cmdOk_Click()
If dtpFromDate.Value > dtpToDate.Value Then
MsgBox "The Second Date Should Not Be More Than The First One", vbExclamation, title
dtpFromDate.SetFocus
GoTo EXITPROCEDURE
End If
If blQuery = True And blDeposit = False And blTransfer = False And blWithdrawal = False
And blStop = False Then
Set QueryReport.DataSource = con.Execute("Select * from CustomerQuery where
accountnumber = '" & cboAccountNumber.Text & "' and DateReceived between #" &
dtpFromDate.Value & "# and #" & dtpToDate.Value & "#")
QueryReport.Show
Set QueryReport = Nothing
End If
If blQuery = False And blDeposit = True And blTransfer = False And blWithdrawal = False
And blStop = False Then
Set DepositReport.DataSource = con.Execute("Select * from Trans where
Toaccountnumber = '" & cboAccountNumber.Text & "' and transactionType = 'Deposit' and
transactionDate between #" & dtpFromDate.Value & "# and #" & dtpToDate.Value & "#")
DepositReport.Show
Set DepositReport = Nothing
End If
If blQuery = False And blDeposit = False And blTransfer = True And blWithdrawal = False
And blStop = False Then
Set TransferReport.DataSource = con.Execute("Select * from Trans where
FromAccountnumber = '" & cboAccountNumber.Text & "' and transactionType = 'Transfer' and
transactionDate between #" & dtpFromDate.Value & "# and #" & dtpToDate.Value & "#")
TransferReport.Show
Set TransferReport = Nothing
70
End If
If blQuery = False And blDeposit = False And blTransfer = False And blWithdrawal = True
And blStop = False Then
Set WithdrawalReport.DataSource = con.Execute("Select * from Trans where
Fromaccountnumber = '" & cboAccountNumber.Text & "' and transactionType = 'Withdrawal' and
transactionDate between #" & dtpFromDate.Value & "# and #" & dtpToDate.Value & "#")
WithdrawalReport.Show
Set WithdrawalReport = Nothing
End If
If blQuery = False And blDeposit = False And blTransfer = False And blWithdrawal = False
And blStop = True Then
Set StopPaymentReport.DataSource = con.Execute("Select * from StopPayment where
accountnumber = '" & cboAccountNumber.Text & "'")
StopPaymentReport.Show
Set StopPaymentReport = Nothing
End If
EXITPROCEDURE:
Exit Sub
End Sub
Private Sub Form_Load()
On Error GoTo errhandler
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3
Call ConnectMe
dtpFromDate.Value = Date
dtpToDate.Value = Date
cmdOk.Enabled = False
Call fill_Combo(cboAccountNumber)
EXITPROCEDURE:
71
Exit Sub
errhandler:
MsgBox "An Error occurred while loading the form", vbCritical, title
GoTo EXITPROCEDURE
End Sub
Private Sub Form_Unload(Cancel As Integer)
blQuery = False
blDeposit = False
blTransfer = False
blWithdrawal = False
blStop = False
End Sub
72
ADMINISTRATOR
PASSWORD
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal
lpszSoundName As String, ByVal uFlags As Long) As Long
Private Sub CmdExit_Click()
If MsgBox("Are you sure you want to exit ?", 4 + 32, title) = vbNo Then
GoTo EXITPROCEDURE
Else
End
End If
EXITPROCEDURE:
Exit Sub
End Sub
Private Sub cmdLogin_Click()
On Error GoTo errhandler
If txtPassword.Text = "" Or txtUserName.Text = "" Then
MsgBox "Please enter User Name and password ", vbExclamation, title
txtPassword.SetFocus
GoTo EXITPROCEDURE
End If
txtPassword.Text = LCase(txtPassword.Text)
73
recUsers.MoveFirst
Do While Not recUsers.EOF
If Trim(recUsers!LoginID) = Trim(txtUserName.Text) And _
Trim(recUsers!Password) = Trim(txtPassword.Text) Then
sndPlaySound App.Path & "\Reminder\reminder.wav", &H1
frmMain.status.Panels("Role").Text = Trim(recUsers!Role)
frmMain.status.Panels("Name").Text = Trim(txtUserName.Text)
UserID = recUsers!EmployeeID
UserName = recUsers!LoginID
UserPassword = recUsers!Password
UserRole = recUsers!Role
Call Enable_Menu
If UserRole = "Employee" Or UserRole = "Teller" Then
frmMain.mnuReports.Enabled = False
frmMain.mnuUser.Enabled = False
frmMain.mnuDate.Enabled = False
frmMain.mnuCheckBook.Enabled = False
End If
Unload Me
GoTo EXITPROCEDURE
End If
recUsers.MoveNext
LooP
If recUsers.EOF Then
MsgBox "Invalid password, kindly retry", vbExclamation, title
txtPassword.SelStart = 0
txtPassword.SelLength = Len(txtPassword.Text)
74
txtPassword.SetFocus
GoTo EXITPROCEDURE
End If
EXITPROCEDURE:
Exit Sub
errhandler:
MsgBox Err.Description, vbCritical, title
GoTo EXITPROCEDURE
End Sub
Private Sub Form_Load()
On Error GoTo errhandler
UserID = ""
UserName = ""
UserPassword = ""
UserRole = ""
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3
Call ConnectMe
cmdLogin.Enabled = False
Call Disable_Menu
frmMain.status.Panels("Role").Text = ""
frmMain.status.Panels("Name").Text = ""
EXITPROCEDURE:
Exit Sub
errhandler:
MsgBox Err.Description, vbCritical, title
GoTo EXITPROCEDURE
End Sub
75
frmMain.mnuAdmin.Enabled = False
frmMain.mnuTrans.Enabled = False
frmMain.mnuReports.Enabled = False
frmMain.mnuHelp.Enabled = False
End Sub
Private Sub Enable_Menu()
frmMain.mnuFile.Enabled = True
frmMain.mnuAdmin.Enabled = True
frmMain.mnuTrans.Enabled = True
frmMain.mnuReports.Enabled = True
frmMain.mnuHelp.Enabled = True
frmMain.mnuUser.Enabled = True
frmMain.mnuCheckBook.Enabled = True
frmMain.mnuDate.Enabled = True
End SuB
77
CHECKBOOK DETAIL
Private Sub cboAccountNumber_Click()
On Error GoTo errhandler
Call DisplayCustomerDetails(cboAccountNumber.Text)
txtBalance.Text = Balance
txtFirstName.Text = FirstName
txtLastName.Text = LastName
txtGender.Text = Gender
txtAccountType.Text = AccountType
txtCheckBook.Text = autogen
txtStartNo.Text = autogenStartNo
cmdOk.Enabled = True
Pic.Picture = LoadPicture(App.Path & "\pictures\" & CustomerPicture)
EXITPROCEDURE:
Exit Sub
errhandler:
Pic.Picture = LoadPicture(App.Path & "\Pictures\" & "NA.GIF")
GoTo EXITPROCEDURE
End Sub
Private Sub cmdClose_Click()
If MsgBox("Are you sure you want to cancel ?", 4 + 32, title) = vbNo Then
78
GoTo EXITPROCEDURE
Else
Unload Me
End If
EXITPROCEDURE:
Exit Sub
End Sub
Private Sub cmdOk_Click()
On Error GoTo errhandler
If MsgBox("Are you sure you want to Issue Check Book Number " & txtCheckBook.Text & "
?", 4 + 32, title) = vbNo Then
GoTo EXITPROCEDURE
Else
recCheckBookDetails.AddNew
recCheckBookDetails!CheckBookNumber = txtCheckBook.Text
recCheckBookDetails!AccountNumber = cboAccountNumber.Text
recCheckBookDetails!DateIssued = dtpDate.Value
recCheckBookDetails!StartNumber = txtStartNo.Text
recCheckBookDetails.Update
MsgBox "Check Book Has been Issued Successfully!", vbExclamation, title
Unload Me
End If
EXITPROCEDURE:
Exit Sub
errhandler:
MsgBox "An Error occurred while issuing Check Book ", vbCritical, title
GoTo EXITPROCEDURE
79
End Sub
Private Sub Form_Load()
On Error GoTo errhandler
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3
Call ConnectMe
cmdOk.Enabled = False
dtpDate.Value = Date
Call fill_Combo(cboAccountNumber)
EXITPROCEDURE:
Exit Sub
errhandler:
MsgBox "An Error occurred while loading the form", vbCritical, title
GoTo EXITPROCEDURE
End Sub
Public Function autogen() As String
Dim rec As New Recordset
rec.Open "select max(CheckBookNumber) from CheckBookDetails", con, adOpenDynamic,
adLockOptimistic
If rec.EOF Then
autogen = "0001"
Else
autogen = Format(Right(Trim(rec(0)), 4) + 1, "0000")
End If
End Function
Public Function autogenStartNo() As String
Dim rec As New Recordset
rec.Open "select max(StartNumber) from CheckBookDetails", con, adOpenDynamic,
adLockOptimistic
80
If rec.EOF Then
autogenStartNo = "0001"
Else
autogenStartNo = Format(Right(Trim(rec(0)), 4) + 1, "0000")
End If
End Function
Private Sub Frame5_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub Frame7_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub txtStartNo_KeyPress(KeyAscii As Integer)
Call onlyNumbers(KeyAscii)
End Sub
81
CUSTOMER QUERY
Private Sub cboAccountNumber_Click()
On Error GoTo errhandler
Call DisplayCustomerDetails(cboAccountNumber.Text)
txtBalance.Text = Balance
txtFirstName.Text = FirstName
txtLastName.Text = LastName
txtGender.Text = Gender
txtAccountType.Text = AccountType
cmdOk.Enabled = True
txtQuery.Enabled = True
txtQuery.SetFocus
Pic.Picture = LoadPicture(App.Path & "\pictures\" & CustomerPicture)
EXITPROCEDURE:
Exit Sub
errhandler:
Pic.Picture = LoadPicture(App.Path & "\Pictures\" & "NA.GIF")
GoTo EXITPROCEDURE
End Sub
Private Sub cboAccountNumber_KeyPress(KeyAscii As Integer)
Call onlyNumbers(KeyAscii)
End Sub
Private Sub cmdClose_Click()
82
If MsgBox("Are you sure you want to cancel ?", 4 + 32, title) = vbNo Then
GoTo EXITPROCEDURE
Else
Unload Me
End If
EXITPROCEDURE:
Exit Sub
End Sub
Private Sub cmdOk_Click()
On Error GoTo errhandler
If txtQuery.Text = "" Then
MsgBox "Please enter Query!", vbExclamation, title
txtQuery.SetFocus
GoTo EXITPROCEDURE
End If
If MsgBox("Are you sure you want to register the Query ?", 4 + 32, title) = vbNo Then
GoTo EXITPROCEDURE
Else
recCustomerQuery.AddNew
recCustomerQuery!QueryID = autogen
recCustomerQuery!AccountNumber = cboAccountNumber.Text
recCustomerQuery!Query = Trim(txtQuery.Text)
recCustomerQuery!status = "P"
recCustomerQuery!DateReceived = dtpDate.Value
recCustomerQuery.Update
MsgBox "The Query has been registered Successfully!", vbExclamation, title
Unload Me
83
End If
EXITPROCEDURE:
Exit Sub
errhandler:
MsgBox "An Error occurred while sending Customer Query ", vbCritical, title
GoTo EXITPROCEDURE
End Sub
Private Sub Form_Load()
On Error GoTo errhandler
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3
Call ConnectMe
cmdOk.Enabled = False
txtQuery.Enabled = False
dtpDate.Value = Data
Call fill_Combo(cboAccountNumber)
EXITPROCEDURE:
Exit Sub
errhandler:
MsgBox "An Error occurred while loading the form", vbCritical, title
GoTo EXITPROCEDURE
End Sub
Public Function autogen() As String
Dim rec As New Recordset
rec.Open "select max(QueryID) from CustomerQuery", con, adOpenDynamic,
adLockOptimistic
If rec.EOF Then
autogen = "Q001"
Else
84
85
DIPOSIT DETAIL
Private Sub cboAccountNumber_Click()
On Error GoTo errhandler
Call DisplayCustomerDetails(cboAccountNumber.Text)
txtBalance.Text = Balance
txtFirstName.Text = FirstName
txtLastName.Text = LastName
txtGender.Text = Gender
txtAccountType.Text = AccountType
cmdOk.Enabled = True
txtAmount.Enabled = True
txtAmount.SetFocus
Pic.Picture = LoadPicture(App.Path & "\pictures\" & CustomerPicture)
EXITPROCEDURE:
Exit Sub
errhandler:
Pic.Picture = LoadPicture(App.Path & "\Pictures\" & "NA.GIF")
GoTo EXITPROCEDURE
End Sub
Private Sub cboAccountNumber_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
Private Sub cmdClose_Click()
If MsgBox("Are you sure you want to cancel ?", 4 + 32, title) = vbNo Then
86
GoTo EXITPROCEDURE
Else
Unload Me
End If
EXITPROCEDURE:
Exit Sub
End Sub
Private Sub cmdOk_Click()
On Error GoTo errhandler
If txtAmount.Text = "" Then
MsgBox "Please enter Amount!", vbExclamation, title
txtAmount.SetFocus
GoTo EXITPROCEDURE
End If
If MsgBox("Are you sure you want to deposit " & txtAmount.Text & " into Account Number
" & cboAccountNumber.Text & " ?", 4 + 32, title) = vbNo Then
GoTo EXITPROCEDURE
Else
recTrans.AddNew
recTrans!TransactionID = autogen
recTrans!TransactionDate = dtpDate.Value
recTrans!TransactionType = "Deposit"
recTrans!TransactionMode = "Cash"
recTrans!FromAccountNumber = ""
recTrans!ToAccountNumber = cboAccountNumber.Text
recTrans!checkNumber = ""
recTrans!Amount = txtAmount.Text
recTrans!status = ""
87
recTrans.Update
con.Execute "Update Customer set Balance = " & CCur(txtBalance.Text) +
CCur(txtAmount.Text) & " Where AccountNumber = '" & Trim(cboAccountNumber.Text) & "'"
MsgBox "Transaction done successfully.", vbExclamation, title
Unload Me
End If
EXITPROCEDURE:
Exit Sub
errhandler:
MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title
GoTo EXITPROCEDURE
End Sub
Private Sub Form_Load()
On Error GoTo errhandler
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3
Call ConnectMe
cmdOk.Enabled = False
txtAmount.Enabled = False
dtpDate.Value = Date
Call fill_Combo(cboAccountNumber)
EXITPROCEDURE:
Exit Sub
errhandler:
MsgBox "An Error occurred while loading the form", vbCritical, title
GoTo EXITPROCEDURE
End Sub
Private Sub txtAmount_KeyPress(KeyAscii As Integer)
Call onlyNumbers(KeyAscii)
88
End Sub
Public Function autogen() As String
On Error GoTo errhandler
Dim rec As New Recordset
rec.Open "select max(TransactionID) from Trans", con, adOpenDynamic, adLockOptimistic
If rec.EOF Then
autogen = 1
Else
autogen = Val(rec(0) + 1)
End If
EXITPROCEDURE:
Exit Function
errhandler:
'MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title
GoTo EXITPROCEDURE
End Function
89
TRANSFER RECORD
Private Sub cboAccountNumber_Click()
On Error GoTo errhandler
Call DisplayCustomerDetails(cboAccountNumber.Text)
txtBalance.Text = Balance
txtFirstName.Text = FirstName
txtLastName.Text = LastName
txtGender.Text = Gender
txtAccountType.Text = AccountType
cmdOk.Enabled = True
txtAmount.Enabled = True
txtCheckNo.Enabled = True
txtCheckNo.SetFocus
Pic.Picture = LoadPicture(App.Path & "\pictures\" & CustomerPicture)
EXITPROCEDURE:
Exit Sub
errhandler:
Pic.Picture = LoadPicture(App.Path & "\Pictures\" & "NA.GIF")
GoTo EXITPROCEDURE
End Sub
Private Sub cboAccountNumber_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
Private Sub cboToAccountNo_KeyPress(KeyAscii As Integer)
KeyAscii = 0
90
End Sub
Private Sub cmdClose_Click()
If MsgBox("Are you sure you want to cancel ?", 4 + 32, title) = vbNo Then
GoTo EXITPROCEDURE
Else
Unload Me
End If
EXITPROCEDURE:
Exit Sub
End Sub
Private Sub cmdOk_Click()
On Error GoTo errhandler
If txtCheckNo.Text = "" Then
MsgBox "Please enter check number!", vbExclamation, title
txtCheckNo.SetFocus
GoTo EXITPROCEDURE
End If
If txtAmount.Text = "" Then
MsgBox "Please enter Amount!", vbExclamation, title
txtAmount.SetFocus
GoTo EXITPROCEDURE
End If
If cboToAccountNo.Text = "" Then
MsgBox "Please select the account you are transfering to!", vbExclamation, title
cboToAccountNo.SetFocus
GoTo EXITPROCEDURE
End If
If Check_CheckNo(txtCheckNo.Text) = True Then
91
92
If MsgBox("Are you sure you want to transfer " & txtAmount.Text & " from Account
Number " & cboAccountNumber.Text & " to Account Number " & cboToAccountNo.Text & " ?", 4 +
32, title) = vbNo Then
GoTo EXITPROCEDURE
Else
recTrans.AddNew
recTrans!TransactionID = autogen
recTrans!TransactionDate = dtpDate.Value
recTrans!TransactionType = "Transfer"
recTrans!TransactionMode = "Check"
recTrans!FromAccountNumber = cboAccountNumber.Text
recTrans!ToAccountNumber = cboToAccountNo.Text
recTrans!checkNumber = txtCheckNo.Text
recTrans!Amount = txtAmount.Text
recTrans!status = ""
recTrans.Update
con.Execute "Update Customer set Balance = " & CCur(txtBalance.Text) CCur(txtAmount.Text) & " Where AccountNumber = '" & Trim(cboAccountNumber.Text) & "'"
con.Execute "Update Customer set Balance = " & CCur(txtBalance.Text) +
CCur(txtAmount.Text) & " Where AccountNumber = '" & Trim(cboToAccountNo.Text) & "'"
MsgBox "Transaction done successfully.", vbExclamation, title
Unload Me
End if
EXITPROCEDURE:
Exit Sub
errhandler:
MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title
GoTo EXITPROCEDURE
End Sub
93
Else
autogen = Val(rec(0) + 1)
End If
94
EXITPROCEDURE:
Exit Function
errhandler:
'MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title
GoTo EXITPROCEDURE
End Function
95
STOP PAYMENT
Private Sub cboAccountNumber_Click()
On Error GoTo errhandler
Call DisplayCustomerDetails(cboAccountNumber.Text)
txtBalance.Text = Balance
txtFirstName.Text = FirstName
txtLastName.Text = LastName
txtGender.Text = Gender
txtAccountType.Text = AccountType
cmdOk.Enabled = True
txtAmount.Enabled = True
txtCheckNo.Enabled = True
txtCheckNo.SetFocus
txtCheckNo.SetFocus
GoTo EXITPROCEDURE
End If
If Trim(txtAmount.Text) > Trim(txtBalance.Text) Then
MsgBox "The Amount you are withdrawing is more than your current balance!",
vbExclamation, title
txtAmount.SelStart = 0
txtAmount.SelLength = Len(txtAmount.Text)
txtAmount.SetFocus
GoTo EXITPROCEDURE
End If
If Check_StopCheckNo(txtCheckNo.Text, cboAccountNumber.Text) = True Then
MsgBox "Check Number has been stopped. You can not withdraw money with it",
vbExclamation, title
txtCheckNo.SelStart = 0
txtCheckNo.SelLength = Len(txtCheckNo.Text)
txtCheckNo.SetFocus
GoTo EXITPROCEDURE
End If
If MsgBox("Are you sure you want to withdraw " & txtAmount.Text & " from Account
Number " & cboAccountNumber.Text & " ?", 4 + 32, title) = vbNo Then
GoTo EXITPROCEDURE
Else
recTrans.AddNew
recTrans!TransactionID = autogen
recTrans!TransactionDate = dtpDate.Value
recTrans!TransactionType = "Withdrawal"
recTrans!TransactionMode = "Cash"
98
recTrans!FromAccountNumber = cboAccountNumber.Text
recTrans!ToAccountNumber = ""
recTrans!checkNumber = txtCheckNo.Text
recTrans!Amount = txtAmount.Text
recTrans!status = ""
recTrans.Update
con.Execute "Update Customer set Balance = " & CCur(txtBalance.Text) CCur(txtAmount.Text) & " Where AccountNumber = '" & Trim(cboAccountNumber.Text) & "'"
MsgBox "Transaction done successfully.", vbExclamation, title
Unload Me
End If
EXITPROCEDURE:
Exit Sub
errhandler:
MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title
GoTo EXITPROCEDURE
End Sub
Private Sub Form_Load()
On Error GoTo errhandler
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3
Call ConnectMe
cmdOk.Enabled = False
txtAmount.Enabled = False
txtCheckNo.Enabled = False
dtpDate.Value = Date
Call fill_Combo(cboAccountNumber)
EXITPROCEDURE:
Exit Sub
99
errhandler:
MsgBox "An Error occurred while loading the form", vbCritical, title
GoTo EXITPROCEDURE
End Sub
Private Sub txtAmount_KeyPress(KeyAscii As Integer)
Call onlyNumbers(KeyAscii)
End Sub
Public Function autogen() As String
On Error GoTo errhandler
Dim rec As New Recordse
rec.Open "select max(TransactionID) from Trans", con, adOpenDynamic, adLockOptimistic
If rec.EOF Then
autogen = 1
Else
autogen = Val(rec(0) + 1)
End if
EXITPROCEDURE:
Exit Function
errhandler:
'MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title
GoTo EXITPROCEDURE
End Function
100
WITHDRAWAL
Private Sub cboAccountNumber_Click()
On Error GoTo errhandler
Call DisplayCustomerDetails(cboAccountNumber.Text)
txtBalance.Text = Balance
txtFirstName.Text = FirstName
txtLastName.Text = LastName
txtGender.Text = Gender
txtAccountType.Text = AccountType
cmdOk.Enabled = True
txtAmount.Enabled = True
txtCheckNo.Enabled = True
txtCheckNo.SetFocus
Pic.Picture = LoadPicture(App.Path & "\pictures\" & CustomerPicture)
EXITPROCEDURE:
Exit Sub
errhandler:
Pic.Picture = LoadPicture(App.Path & "\Pictures\" & "NA.GIF")
GoTo EXITPROCEDURE
End Sub
Private Sub cboAccountNumber_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
Private Sub cmdClose_Click()
If MsgBox("Are you sure you want to cancel ?", 4 + 32, title) = vbNo Then
101
GoTo EXITPROCEDURE
Else
Unload Me
End If
EXITPROCEDURE:
Exit Sub
End Sub
Private Sub cmdOk_Click()
On Error GoTo errhandler
If txtCheckNo.Text = "" Then
MsgBox "Please enter check number!", vbExclamation, title
txtCheckNo.SetFocus
GoTo EXITPROCEDURE
End If
If txtAmount.Text = "" Then
MsgBox "Please enter Amount!", vbExclamation, title
txtAmount.SetFocus
GoTo EXITPROCEDURE
End If
If Check_CheckNo(txtCheckNo.Text) = True Then
MsgBox "Check Number has already been used", vbExclamation, title
txtCheckNo.SelStart = 0
txtCheckNo.SelLength = Len(txtCheckNo.Text)
txtCheckNo.SetFocus
GoTo EXITPROCEDURE
End If
If Trim(txtAmount.Text) > Trim(txtBalance.Text) Then
102
MsgBox "The Amount you are withdrawing is more than your current balance!",
vbExclamation, title
txtAmount.SelStart = 0
txtAmount.SelLength = Len(txtAmount.Text)
txtAmount.SetFocus
GoTo EXITPROCEDURE
End If
If Check_StopCheckNo(txtCheckNo.Text, cboAccountNumber.Text) = True Then
MsgBox "Check Number has been stopped. You can not withdraw money with it",
vbExclamation, title
txtCheckNo.SelStart = 0
txtCheckNo.SelLength = Len(txtCheckNo.Text)
txtCheckNo.SetFocus
GoTo EXITPROCEDURE
End If
If MsgBox("Are you sure you want to withdraw " & txtAmount.Text & " from Account Number
" & cboAccountNumber.Text & " ?", 4 + 32, title) = vbNo Then
GoTo EXITPROCEDURE
Else
recTrans.AddNew
recTrans!TransactionID = autogen
recTrans!TransactionDate = dtpDate.Value
recTrans!TransactionType = "Withdrawal"
recTrans!TransactionMode = "Cash"
recTrans!FromAccountNumber = cboAccountNumber.Text
recTrans!ToAccountNumber = ""
recTrans!checkNumber = txtCheckNo.Text
recTrans!Amount = txtAmount.Text
103
recTrans!status = ""
recTrans.Update
con.Execute "Update Customer set Balance = " & CCur(txtBalance.Text)
CCur(txtAmount.Text) & " Where AccountNumber = '" & Trim(cboAccountNumber.Text) & "'"
MsgBox "Transaction done successfully.", vbExclamation, title
Unload Me
End If
EXITPROCEDURE:
Exit Sub
errhandler:
MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title
GoTo EXITPROCEDURE
End Sub
Private Sub Form_Load()
On Error GoTo errhandler
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3
Call ConnectMe
cmdOk.Enabled = False
txtAmount.Enabled = False
txtCheckNo.Enabled = False
dtpDate.Value = Date
Call fill_Combo(cboAccountNumber)
EXITPROCEDURE:
Exit Sub
errhandler:
MsgBox "An Error occurred while loading the form", vbCritical, title
GoTo EXITPROCEDURE
End Sub
104
105
During system testing, the system is used experimentally to ensure that the software does not
fall, i.e. it will run according to specification and in the way users expect. Special test data input for
processing and the result examination. A limited number of users may be allowed to use the system so
that analysis can seen whether they use it in unforeseen ways. It is preferable to discover any surprises
the organization implements the system and encounters them later on. This type of testing which allows
only a few, selected users to work on the system is known as BETA TESTING. On the other hand the
testing done by the developer (s), themselves is known as ALPHA TESTING.
Testing is generally performed by persons other than those who the original programs to
ensure complete and unbiased testing and more reliable software.
The norms followed during the testing phase were thoroughly tested by me, the
developer, I was required to release the programs source code. The source code was copied into the
area. If some changes were desired in the program, I was suitably informed and was required to made
the necessary modifications.
Following testing procedures were used
UNIT TESTING
Unit testing is the testing of a single program module in an isolated environment. The
testing of the processing procedure is the main focus. In this regard, all the modules were separately
tested first as isolated and complete entities. This helped a lot in discovering problems related to a single
module and rectifying them in the contest of the module itself, rather than considering module-related
problem in a global context.
106
INTEGRATION TESTING
Integration testing is the process of testing the interfaces among system modules. Some
testing ensures that data moves between system as intended. In the regard of a particular module was
obtained in correct format, so that the next module could accept it appropriately. This could be done
either after the entire system was developed, or in stages than one module was developed.
SYSTEM TESTING
System testing is the testing of the system against its initial objectives. Such testing is
done either in a simulated environment or in a live environment.
In the case of the system which I developed, the testing was done in a pseudo-real
environment. The organization has an area called the Development , where all development work is
carried out, whereas the Client is the area where all on-line work is undertaken. Since the kind of work
which I was involved dealt with insertion, updating and in tables, all the work was developed in the
Development area. I call the environment pseudo-real since all data which is being used for on-line
transaction can be copied into the tables of the Development and live data can be worked on. Thus
whatever would be the output on the Client is reflected exactly on the Development also. Thus,
discovery of error became simpler in that the errors which would occurs in the real-time environment
were exactly duplicated in the Development environment.
All the above types of testing were carried out and various extreme cases were also
introduced to check for whether the system responded as expected. The various Forms, database
107
packages, procedures, function; visual basic programs and functions were tested to discover they
behaved in the manner expected of them and gave accurate results. However, the factor, which helped
most in the modification and rectification of the system, was the user response. The user after using the
system would invariably come up with some idea to improve the system. Such ideas, if feasible, were
incorporated into the system, thus leading to an improvement in the overall efficiency of the system.
108
Implementation, literally, means to put into effect or to carry out. The system implementation
phase of software engineering deals with all activities that take place to convert from the old system to
the new. Proper implementation is essential to provide system to meet organizations requirements.
During the implementation phase debugging, documentation of the system was created
out, module in the project for
Accuracy of Results,
Minimization of response Time,
Clarity and Simplicity of the code,
Minimization of Hard Coding i.e. (a generic approach was followed )
Minimization of amount of memory used.
Various types of errors were discovered while debugging the modules. These ranged from errors
to failure to account for various processing cases. Proper documentation of each module was done by
embedding comments in the executable portion of the code. To enhance the readability, comments,
indentation, parenthesis, black spaces, blank lines and borders were around the blocks of comments.
Care was taken to use descriptive names for table, field, modules, forms etc., The proper use of
indentation, parenthesis and blank lines was also ensured during coding.
Testing of the Report Generation module was carried out to find out the response time of
the system for the generating reports. To make the response time negligible
109
Maintenance is a fact of life in the development of information systems. However the making of
changes & adjustments dont necessarily signal correction of error or the occurrence of problems.
Among the most frequent changes requested by end users is the addition of information
to a report format. Information requirements may be revised as the result of system usage or changing
operational needs. Perhaps oversights that occurred during the development process need to be
corrected.
Often, the need arises to capture additional data for storage in a database or perhaps when
it is necessary to add error detection features to prevent system users from inadvertently taking an
unwanted action.
These are the realities of application maintenance, when they occur, however they are an
indication that the system is being used & that it is serving a useful function rather than being shelved
by the intended, such as :
110
INTERNAL DOCUMENTATION
EXTERNAL DOCUMENTATION
INTERNAL DOCUMENTATION
Internal documentation in the code can be extremely useful in enhancing the
understandability of programs. Internal documentation of programs is done by the use of comments. All
the languages provide means of writing comments in the programs. Comments are textual statements
that are meant for the reader and are not executed. Comments , if properly written, and if kept consistent
with the code, can be invaluable during maintenance.
The purpose of comments is not to explain the internal logic of the program the
program itself is the best documentation for the details of logic. The comments should explain what the
code is done is doing, and not how it is done it.
Comments should be provided for the block of code, particularly those parts of code
which are hard to follow.
Providing comments for module is most useful as module form the unit testing ,
compiling , verification and modification. Comments for a module are often called prologue for the
module. It is best to standardized the structure of the prologue of the module. It is desirable that
prologue contains the following information :
a)
Module functionality or what the module is doing
b)
Parameters are their purpose
c)
Assumptions about the input, if any
d)
Global variable accessed and or modified in the module
As explanation of parameters ( whether they are input only, output only or both input and
output , why they are needed by the module and how the parameters are modified ) can be quite useful
during maintenance.
In addition to that given above , often information can be included, depending on the
local coding standards. Example include :
- Name of the author,
- Date of compilation
- Last date of modification.
111
Note that if the module is modified, then the prologue should also be modified, if necessary. A
prologue that is inconsistent with the internal logic of the module is prologue worse than having no
prologue at all.
While coding programs for the Station Coding System special attention has been paid to the
internal documentation of the system, in addition to the external documentation. Each program/module
has :
Apart from this comment lines have been inserted wherever it was felt that they were
necessary. Moreover meaningful variable names/constants have been assigned to different
variable/constants used in the programs.
112
The project made me realize the significance of developing software for client, where all
the eventualities have to be taken care of, unlike at educational institution, where the sole aim is to learn.
What may be seen to the developed to be a software complete in all respects, I was required to meet the
stringent demands of the in-house client in the materials department. Through this seemed tough at first,
I realized that pressure goaded us on to develop better and better applications.
During the project, the real importance for following all the principle of System Analysis
and Design drawled on me. I felt the necessity of going through the several stages, because only such a
process could make one understand the problems at hand, more so due to the enormous size of data
stores involved and their manipulation
In retrospect, I would like to say that the institute provided us with sample opportunities
to learn Oracle 8 and its tools. I specifically was able to learn MS-ACCESS and its Tools. I specially
was able to learn VISUAL BASIC 6.0. I also succeeded in understanding a number of tricky concept in
database, which were earlier only hazy blobs in the realm of our comprehension. However my project
library management is an asset to the organization, even then FURTHER ENHANCEMENT are
possible in this project such as new forms & reports can be included as and when required.
Unfortunately due to lack of time we can developed any report in this system but this is
not the end of this system software, it is beginning. We can change and modify this software due to more
requirement of needs and also removed some errors which is finding in this system software.
We also developed some complex reports which is required and makes this software more
powerful and friendly for user by which user can handle library data more easily and can calculate all
113
the calculation without any other software i.e., users all the requirements will be fulfill by this software
and user can manage all the numeric data calculations.
S.
Terms
Description
BACK UP
No.
DATA
BASE
3
DBMS
DD
FLOW
CHART
HARDWA
RE
ITD
FLOW
CHART
which
depicts relation between different entities in the
system.
The physical equipment in a system
comprising of computers, terminals, Keyboards
& Other ancillary items.
Information Technology Division.
114
MENU
MODULE
ON-LINE
PI
1
1
PROGRA
PROTOTY
RDBMS
RSD
M
1
PE
5
1
6
1
7
SCALABI
SOFTWA
LITY
RE
115
BOOK NAME
AUTHOR
Techmedia
C. J. Date
E M. Awad
Tulec
5. Programming in VB
P.K.M Bride
Gary Cornell
7. Mastering in VB
Steve
8. VB with MS-Access
Rita Sahoo
Smith
116