atm documentation document
DESCRIPTION
ATM DocumentationTRANSCRIPT
ATM-cum-Banking System 1
CONTENTS
Acknowledgement 2
Certificate of Approval 3
Declaration 4
_______________________________________________________
About Project 5
Features of ATM 7
Features of Banking 9
Introduction to Visual basic 12
Data ControlsS 15
ActiveX Data Model 20
Microsoft Access 23
What is SDLC 26
Hardware requirements 37
System Security 37
Data Flow Diagrams 40
Data Dictionary 41
Normalized Tables 42
Data Flow Diagrams 48
E-R Diagrams 51
Forms 53
Coding 68
Reports 112
Report’s Coding 117
Validations to be Used 121
Limitations of the Project 122
Future Scope of the Project 123
Bibliography 124
ATM-cum-Banking System 2
ACKNOWLEDGEMENT
This project is an acknowledgement in itself to the intensity, drive and
technical competence of many individuals who have contributed to it. We
list here only few of them. We are extremely thankful to her for devoting
his valuable time and imparting knowledge to me. With her able guidance
the course up to the completion of software became smooth without much
cared hurdles.
Lastly, we thank to our parents and friends for the moral boost and
support in every sphere. We are thankful to staff members for their
assistance and cooperation.
Manavdeep Kaur
MSc (IT)
ATM-cum-Banking System 3
CERTIFICATE
This is to be certified that this project entitled “Atm-cum-Banking
System” submitted to Punjab Technical University, Jalandhar, on partial
fulfillment of Master of Information Technology is a bonafied piece of
project work carried out by Manavdeep Kaur under my guidance and
no part there of has been submitted for any other degree .
Supervised By:
Miss Sheetal Sahi
ATM-cum-Banking System 4
DECLARATION
I hereby declare that the work being pressented by me in the
dissertation titled “ATM-CUM-BANKING SYSTEM” in
partial fulfillment of MSc (IT) submitted to PUNJAB
TECHNICAL UNIVERSITY, Amritsar is an authentic
record of our own work carried out by me under the
supervision of Miss Sheetal Sahi, The matter embodied in
this dissertation has not been submitted by me or anybody
else for the award of any other degree .
Manavdeep Kaur
ATM-cum-Banking System 5
ABOUT PROJECT
ATM is the Automated Teller Machine .It is also called by the name Any
Time Money i.e., a client can withdraw or transfer money at any time of
the day. With the advent of computerization any work can be done with
much speed and accuracy. One benefit of computerization is the
ATM .With ATM one can withdraw money from his account within few
minutes as well as not wasting time in standing queues. The ATM card
holders account is also secured. The ATM card holder is provided with a
Pin number which is only known to him. The unauthorized access to
account is not possible. In case client loses his debit card no other person
can access the account. The client can transfer the amount to any client
account. The client can also pay the bill without going to bill pay office.
All these facilities are very beneficial for today person life.
The clients who don't have ATM cards are also provided with
same facilities in the bank. The administrator that is the person who heads
our system creates new account issue ATM cards, edit accounts and close
the accounts .The access to system by administrator is also restricted only
the person who knows the correct ID and password can access the
system. The administrator is responsible to perform all the operations on
behalf of the person who don't have ATM card. The administrator has
record of all the transaction performed by the clients. The administrator
ATM-cum-Banking System 6
also keeps the record of balance available in the machine and also updates
the amount in the machine. Client can get the information regarding the
balance available in his account. He can also get the record of last few
transaction performed using mini statement function.
ATM-cum-Banking System 7
FEATURES OF ATM
ATMs are used to perform various transactions. These transactions are
related to money. Various transactions performed by our ATM machine
are as follows:
1. Withdrawal -: We can withdraw the money from ATM for this we
need not to fill any forms and also not required to stand in the queues. All
we need is our Debit card and must our Pin number. We can withdraw
money by two ways-:
a. Easy Cash -: With this facility client need not to fill the amount
to be withdrawn. He is provided with various buttons on the screen on
which various amounts like Rs.500,Rs.1000 etc are written and client just
click on the button and the amount mentioned on that particular button is
withdrawn
b. Fast Cash -: In this client need to enter the amount to be
withdrawn. That particular amount checked against daily limits and
available balance in the account of the card holder. If the amount entered
is less than these then amount is withdrawn.
2. Bill Pay -: Client is also provided with the facility of bill payment. He
can pay his landline as well as mobile bills. His bill amount is also
checked against daily limits and available balance.
ATM-cum-Banking System 8
3. Transfer -: Client can transfer money from his account to some other
client's account. For this he need to know the account number of the
person to whose account he is going to transfer the money provided the
amount to be transferred is less than or equal to daily limits and available
balance in his account.
4. Mini Statement -: Client can get the report of his last eight days
transactions using the mini statement.
5. Change Pin -: Client can also change his password. This feature adds
to the security of the client account in case his old password is leaked out.
ATM-cum-Banking System 9
FEATURES OF BANKING
Our system also provides the client with the banking facility which is
carried out by the administrator on his behalf. Client can deposit or
withdraw money from his account. He can also money from his account
through cheques. The features of banking are:
1. Withdraw-: Client can also withdraw amount from his account. In this
case the amount to be withdrawn is checked against the available balance
in his account. He can withdraw amount by cheques also.
2. Deposit-: Client can also deposit money in his account. The deposited
by him is added to the available balance.
Requirement Analysis
In early days when we did not had ATM systems then a person had to
wait a long in order to get money. He can only get money withdrawn
from banks at office hours. In case there was the emergency he can not
get the money withdrawn from the banks quickly. He has to wait. But
with the advent of ATM machines this problem is solved to a great
extent.
ATM-cum-Banking System 10
Some of the reasons of developing an ATM system are:
1. The client has to fill forms before withdrawing the money then these
forms were given to he administrator who compares the amount with the
available balance of the account holder and if that much money is
available than it is withdrawn. This whole process was very lengthy.
2. The bank has to keep the records of the personal information of clients
in the files. This information includes residence, professional and bank
references. Adding date to files and then updating the files was very time
consuming.
3. The bank also had the tough job of issuing account numbers. Every
time a request for a new account is generated bank has to check the
previous account numbers being issued to the clients, then it checks for
close account numbers so that new number is unique i.e., it is not same as
issued account as well as the closed accounts.
4. The bank has to update the user balance after each transaction being
performed. This includes a lot of calculations.
ATM-cum-Banking System 11
ADVANTAGES OF PROPOSED SYSTEM (COMPUTERIZATION)
More Accuracy:
All the calculations are performed using computers there is less chance of
errors as compared to manual calculations.
More Security:
Different employees have assigned different passwords according to their
authority so no unauthorized user can access the information of company
for which he is not authorized.
Quick Response:
Information is not scattered in different files but it is stored at company
database so it easily accessible and with in short time.
Less paper work:
All the information about client is stored in company’s database so there
is no need to maintain different files for a customer.
Helpful for employees:
All the employees in different department feel easy to make different
kinds of report using software.
ATM-cum-Banking System 12
TOOLS/ENVIRONMENT USED
Visual Basic – Front End Tool
Ms - Access – Back End Tool
Reasons to use these tools:
VISUAL BASIC: The “Visual” part refers to the method used to create
the graphical user interface (GUI). Rather than writing numerous lines of
code to describe the appearance and location of interface elements, you
simply add pre built objects into place on screen. If you’ve ever used a
drawing program such as paint, you already have most of the skills
necessary to create an effective user interface.
The “BASIC” part refers to the BASIC (Beginners
ALL-PURPOSE SYMBOLIC INSTRUCTION CODE) language, a
language used by more programmers than any other language in the
history of computing. Visual Basic has evolved from the original BASIC
language and now conations several hundred statements, functions &
keywords many of which relate directly to the Windows GUI. Beginners
can create useful applications by learning just a few of the keywords, yet
the power of the language allows professionals to accomplish anything
that can be accomplished using any
Visual Basic 6.0 has enlarged as one of the standard
windows programming language and it has become must software for all
ATM-cum-Banking System 13
software people for developing Applications in Visual Environment. So,
it is one must learn Visual Basic 6.0.
Visual Basic’s Environment
FormTool Box
Project ExplorerProperties
Form Layout Window
ATM-cum-Banking System 14
Visual Basic 6.0 has its origin in Basic which was developed round
about the year 1960, when high level languages were just being
introduced to the computer community. Microsoft has made it extremely
powerful by gearing all its good features to the windows environment.
Starting with the version 3.0 and then with 4.0 and then with 6.0. Basic is
procedure oriented language intended to implement single tasks in text
based environment where as visual basic is an event driven language
intended to implement projects or applications containing multiple tasks
in windows environment.
1. Event Driven: Visual basic application is event driven. Even
driven mean the user is in control of the application. The user generates a
stream of event each time he/she click with the mouse or press a key on
the keyboard.
2. Object-Oriented design: Visual basic supports the principal of
object oriented design. This means that you can compartmentalize
different aspect of your application as object and develop and test those
objects independently of the rest of the application.
3. Windows Application development System: Microsoft has
designed visual basic to be a complete windows application development
system. This mean that your visual basic application will look and behave
like other windows programs your users might work with.
ATM-cum-Banking System 15
4. ActiveX Control: Visual basic is infinitely extensible through the
use of ActiveX control, dynamically linked library (DLL), and add-ins.
You can create these ActiveX control, DLL’s, and add-ins with visual
basic 6 or buy them off the shelf from a large number of third party
software vendors. in fact, one of the major influences driving the rapid
adoption if visual basic 6 is the desire of the major development to create
ActiveX control .
DATA CONTROLS
A Textbox control, sometimes called an edit field or edit control,
displays information entered at design time entered by the user, or
assigned to the control in code at runtime.
A Label control is a graphical control you can use to display text that a
user can't change directly.
A Frame control provides an identifiable grouping for controls. You can
also use a Frame to subdivide a form functionally—for example, to
separate groups of Option Button controls.
Use a Command Button control to begin, interrupt, or end a process.
When chosen, a Command Button appears pushed in and so is
sometimes called a push button.
ATM-cum-Banking System 16
A Checkbox control` displays an X when selected; the X disappears
when the Checkbox is cleared. Use this control to give the user a
True/False or Yes/No option. You can use Checkbox controls in groups
to display multiple choices from which the user can select one or more.
You can also set the value of a Checkbox programmatically with the
Value property.
An Option Button control displays an option that can be turned on or off.
Usually, Option Button controls are used in an option group to display
options from which the user selects only one. You group Option Button
controls by drawing them inside a container such as a Frame control, a
Picture Box control, or a form
A Combo Box control combines the features of a Textbox control and a
List Box control—users can enter information in the text box portion or
select an item from the list box portion of the control.
A List Box control displays a list of items from which the user can select
one or more. If the number of items exceeds the number that can be
displayed, a scroll bar is automatically added to the List Box control.
Scroll bars provide easy navigation through a long list of items or a large
amount of information. They can also provide an analog representation of
ATM-cum-Banking System 17
current position. You can use a scroll bar as an input device or indicator
of speed or quantity
A Timer control can execute code at regular intervals by causing a Timer
event to occur. The Timer control, invisible to the user, is useful for
background processing.
The Microsoft Flex Grid (MSFlexGrid) control displays and operates on
tabular data. It allows complete flexibility to sort, merge, and format
tables containing strings and pictures. When bound to a Data control,
MSFlexGrid displays read-only data.
The DateTimePicker control enables you to provide a formatted date
field that allows easy date selection. In addition, users can select a date
from a dropdown calendar interface similar to the Month View control
A Tab Strip control is like the dividers in a notebook or the labels on a
group of file folders. By using a Tab Strip control, you can define
multiple pages for the same area of a window or dialog box in your
application.
A Status Bar control provides a window, usually at the bottom of a
parent form, through which an application can display, various kinds of
status data. The Status Bar can be divided up into a maximum of sixteen
Panel objects that are contained in a Panels collection
ATM-cum-Banking System 18
A Tree View control displays a hierarchical list of Node objects, each of
which consists of a label and an optional bitmap. A Tree View is
typically used to display the headings in a document, the entries in an
index, the files and directories on a disk, or any other kind of information
that might usefully be displayed as a hierarchy.
A Toolbar control contains a collection of Button objects used to create
a toolbar that is associated with an application
The Progress Bar control shows the progress of a lengthy operation by
filling a rectangle with chunks from left to right.
An Image List control contains a collection of List Image objects, each
of which can be referred to by its index or key. The Image List control is
not meant to be used alone, but as a central repository to conveniently
supply other controls with images.
The Shape control is a graphical control displayed as a rectangle, square,
oval, circle, rounded rectangle, or rounded square.
The Enter key is used to go to the next command or text box this key is
used to focus on next command button or text box for working.
The MSChart control supports the following features:
True three-dimensional representation.
ATM-cum-Banking System 19
Support for all major chart types.
Data grid population via random data and data arrays.
The MSChart control is associated with a data grid (Data Grid object).
This data grid is a table that holds the data being charted. The data grid
can also include labels used to identify series and categories on the chart.
The person who designs your chart application fills the data grid with
information by inserting data or by importing data from a spreadsheet or
array.
The SSTab control provides a group of tabs, each of which acts as a
container for other controls. Only one tab is active in the control at a
time, displaying the controls it contains to the user while hiding the
controls in the other tabs.
ATM-cum-Banking System 20
Visual Basic Development Overview
All visual basic developer follows as they prepare programs destined for
the user’s desktop. Each of these steps is described in detail in the section
follow:
1. Design and built the user interface.
2. Write code that responds to events.
3. Create and call other procedures as needed.
These steps are not symmetrical. some steps take longer than other do,
and you will repeated several steps as the initial application design is
refined and enhanced. You will spend most of your development time in
the first four steps. The visual basic package and development wizard to
package your application for distribution.
The ActiveX Data Object Model
The active data object model is very lean. It is designed to enable
programmers to get a set of records from the data source as quickly as
possible. Because speed and simplicity is one of the key objectives of
ADO, the model is designed to enable you to create a record set object
without having to create and navigate numerous other intervening objects
along the way.
ATM-cum-Banking System 21
In fact, there are only three key objects in the model:
1. Connection represents the actual database connection.
2. Command is used to execute queries against the data connection.
3. Record set represents the set of records collected from the query issued
via the command object.
The connection object has a collection child object called Errors to hold
any error information associated with the connection. The command
object has a child object collection, parameters, to hold any replaceable
parameters for queries. The record set also has a child collection object,
fields, to hold information about each field in the recordset. Finally, the
connection, command, recordset, and fields objects all have a properties
collection to hold detailed information about the object.
Special ADO Properties
ADO model has number of unique properties not encountered with the
DAO and RDO models. These properties control how he dataset is
generated, the movement of the pointer within the set, and your access
rights within the data connection. There are five properties of the ADO
model covered here:
1. connection string
2. command text
3. command types
ATM-cum-Banking System 22
4. cursor locations
5. cursor type
6. lock type
Connection String:
The ADO model uses the connection string property to indicate the OLE
DB provider to use to the data store, along with all the details needed to
complete the data connection. A typical connection string has two parts:
Provider=<provider name>;
Data source=<source detail>
Command Text
The command text property of the ADO model is the property that holds
the actual data request query. The syntax of this data request depends on
provider you are using. For example, this request is valid when using the
OLE DB jet 3.51 providers:
TRANSFORM SUM (deposit)
Select title from account holder
PIVOT deposit
It is important to keep in mind that OLE DB providers do not need to use
SQL syntax as their query language.
ATM-cum-Banking System 23
Back End Tool: Ms-Access
Ms-Access is a high performance, distributed
Relational Database Management system user for developing applications
and for storing data. It can support a number of users together handle high
transaction databases that range in size several hundred megabytes.
In Access, database is partitioned in tables
comprising of Rows and Columns and relation between different tables
can be established, thus making navigating within tables easier. Access is
supported on various platforms like IBM mainframes, DEC VAX
minicomputers; UNIX based mini computers, Windows NT and several
proprietary hardware operating systems.
THE DATABASE SCHEMA
The database schema is a collection of logical-structure
objects, known as schema objects, which define how you see the
database’s data. These schema objects consist of structures such as tables,
clusters, indexes, views etc.
Table – A table, which consists of a table name and rows and columns of
data, is the basic logical storage unit in the Access database. Columns are
defined by name and data type .a table is within a table space; often,
many tables share a table space.
Cluster – A cluster is a set of tables physically stored together as
one table that shares a common column. If data in two or more tables is
ATM-cum-Banking System 24
frequently retrieved together based on data in the common column, using
a clustered table can be quite efficient. Tables can be accessed separately
even though they are part of a clustered table. Because of the structure of
the cluster, related data requires much less I/O overhead if accessed
simultaneously.
Index – An index is a structure created to help retrieve data more
quickly and efficiently .An index is declared on a column or set of
columns. Access to the table based on the value of the indexed columns
will use the index to locate the table data.
View –A view is a window into one or more tables. A view does
not store any data .A view can be queried, updated, and deleted as a table
without restriction. Views are typically used to simplify the user’s
perception of data access by providing limited information from one
table, or a set of tables.
ATM-cum-Banking System 25
WHAT IS SDLC?
SDLC is an acronym for SYSTEM DEVELOPMENT LIFE
CYCLE, a methodology that consists of development activities that have
a prescribed order.
Once a problem or opportunity for a new system is recognized a
request for developing a new system is forwarded for approval. If it is
approved, a study is carried out to ensure that the proposed system is
feasible. If it is feasible, then the systems requirements are specified and
are followed by phases of system analysis, system design, system
implementation, and post implementation. A recycling of development
may occur again following system evaluation if the system still requires
modification or redevelopment. To understand System Development Life
Cycle we need to recognize that candidate system that has a life cycle.
System analysis and design are keyed to the system life cycle.
ATM-cum-Banking System 26
The System Concept
The term ‘system’ is derived from the greek word systema, which
means an organized relationship among functioning units or the
components. A system exists because it is designed to achieve one or
objectives
A system is an orderly grouping of interdependent component
linked together according to a plan to achieve a specific objective. The
word component may refer to a physical part, managerial steps, or a
subsystem in a multilevel structure. Scholars in various disciplines, who
are concerned about the tendency towards the fragmentation of
knowledge and the increasing complexity of phenomena, have sought a
unifying approach to knowledge. System analysis and design for the
information systems were founded in the general systems theory, which
emphasizes a close look at all the parts of the system.
System analysis here is the application of the system approach to
the study and solution of problem using computer based systems. System
thinking is integral to the system interrelated interlocking subsystems.
The system approach is the way of thinking about the analysis and design
of computer based applications. It provides a framework of visualizing
the system. System analysis and design focus on system, process and
technology.
ATM-cum-Banking System 27
The SDLC is how all systems are created. It is a very powerful technique
for creation of applications to solve problems using computer systems.
With it help you get closest view of the system which then helps to create
it because you are familiar with all sorts of components of the system .It
provides a perfect outline for the system using which the system is
created successfully.
ATM-cum-Banking System 28
Feasibility study
Depending on the results of initial investigation, the survey is expanded
to the more detailed feasibility study. A feasibility study is a test of the
system proposal according to its workability impact on the system’s
organization, ability to meet user’s need and effective use of resources.
It focuses on three major questions:-
1.) What are the user’s demonstrable needs and does a candidate
system meet them?
2.) What resources are available for the candidate system? Is the
problem worth solving?
3.) What is the likely impact of the candidate system on the
organization and how well does it fit on the organization’s master plan?
Each of this question must be answered carefully the result of the
feasibility study is a formal proposal. This is simply a report, a formal
document detailing the nature and scope of proposal solution. The
proposal what is known and what needs to be done.
ATM-cum-Banking System 29
SYSTEM DESIGN:
The system design goes through two phases of development: logical and
physical.
Logical design:
The Data Flow Diagrams shows the logical flow of the system it basically
describes the input to be derived from the system, the database used and
procedures depicting flow of data, all in a format that is understandable to
the users. The design covers:
1. Reviews the current physical system it’s data flows, file contents,
volume, frequency.
2. Prepares output specifications.
3. Prepares input specification.
4. Prepares edit, control and security specification.
5. Specifies the implementation plan.
6. Reviews benefits costs, target dates and system constraint.
After logical design physical design follows. This produces the working
system by defining the design specifications that tell the programmer
exactly what the candidate system must do.
ATM-cum-Banking System 30
Physical design:
Physical system design has:
1. Design the physical system.
2. Plan system implementation
3. Revise the test and implementations plan and specify new hardware
and software
4. Update benefits costs, and conversion date and system constraint.
System design is the most creative and challenging pha8se of the system
life cycle. The term design describes a final system and the process by
which it is developed. It includes the construction of the program and
program testing. The first step is to determine how the output is to be
produced and in what format. Second, the input data and the master
databases have to be designed to meet the requirement of the proposed
output. The final report prior to the implementation phase include flow
charts, record layout, reports and a workable plan for implementing the
candidate system. A schematic way has to be followed so as to achieve
beneficial results at the end. The design phase is the transition from user’s
oriented to a programmer’s database personnel.
Various steps involved in system designing are:
ATM-cum-Banking System 31
Problem Definition
Input/output specification
Database design
Modular program design
SOURCE DOCUMENTS
Source data are captured initially on original papers or source documents.
Source documents initiate a processing cycle as soon as they are entered
into the system from keyboard, punch card or diskettes. The may be or
may be not retained by the system. Thus, each source document may be
evaluated in terms of –
1) Its continued use in the candidate system.
2) The extent of modification for the candidate system.
3) Replacement by an alternate source document.
A source document should be logical and easy to understand. Each area
should be clearly identified and should specify for the user what to write
and where to write.
In my case the source documents are data entry forms, where
the user enters data i.e. his name and other particulars. Through many
ATM-cum-Banking System 32
input devices are available the data in our software, entry can be done
using keyboard and mouse as Input devices.
ONLINE DATA ENTRY
There are three major approaches for entering data into the computer:
1) MENUS
2) FORMATTED FORMS
3) PROMPTS
MENUS
A menu is a selection list that simplifies data access or entry. They are
used in my forms for making it simpler to perform various functions
while getting information and also during a test. All the buttons in a form
are also provided in a form.
FORMATED FORMS
A formatted form is a pre printed form or a template that requests the user
to enter data in the appropriate locations. It is a Fill-in-the-blank type
form. The form is usually embedded inside a web page on the screen as a
unit. The cursor is usually positioned at the first blank. After the user
responds by filling in the appropriate information, the cursor
ATM-cum-Banking System 33
automatically moves to the next line and so on until the form is
completed. During this, the user may move the cursor up, down, right or
left to various locations for making changes in the response. Number of
forms are used in our project like student information entry form,
questions entry form etc.
PROMPTS
In prompt, the system displays one enquiry at a time asking the user for
response. Prompts are basically used in our software to confirm certain
user action. It is not necessary that prompts are always to take
information.
Prompts can also be used to display certain information to the user as a
message.
OUTPUT DESIGN
Output is the most important and direct source of information to the user.
Efficient, intelligible design improves system credibility and helps user in
decision-making. Efficient, intelligible design should improve the
systems relationships with the user and help in decision making. A major
form of output is hard copy from the printer. Print outs are designed
around the output requirements of the user. The output devices depend on
the factors such as compatibility of the devices with the system, response
time, requirements, expected print quality and number of copies needed.
ATM-cum-Banking System 34
The outputs from the computer system are required mainly
to bring the results of processing to the user. The output must be designed
around the requirement of the user. The output devices are considered
keeping in mind factors such as compatibility of the devices are
considered keeping in mind factors such as compatibility of the device
with the system, response time requirements, expected print quality etc.
output to be produces depends on the following factors:
a. Type of user and purpose
b. Contents of the output
c. Format of the output
d. Frequency and timing of the output
e. Volume of output
f. Quality
g. Type of stationary
The following devices are available for providing computer-based output:
a. Printers.
b. Computer Output Microfilm (COM)
c. Monitors
d. Plotters.
In addition the print format must also be considered. The printed output
should consist of the following features:
a. A specific name or title
ATM-cum-Banking System 35
b. Sample of the output layout
c. Properly readable
d. All pages must have a heading and a page number
e. Meaningful labels to columns.
f. Summary lines like group totals, page totals, reports totals.
TESTING
Testing is the major quality control measure employed during software
development. Testing is the process of executing a program with the
intent of finding an error. No piece of code is completely ready unless it
has been fully tested. This stage is very important as at this stage it is
verified whether the code developed meet the requirement specifications
or not. Moreover, all validations are also checked in the testing stage.
Need for Testing:
Testing is vital to the success of the system. Testing makes a logical
assumption that if all parts of the system are Correct, the goal will be
successfully achieved. Inadequate testing or non-testing leads to errors
that may not appear until months later. A small system error can
conceivably explode into a much larger problem effective testing early In
the process translates directly into long-term cost saving From a reduced
number of errors.
ATM-cum-Banking System 36
Second reason for testing is its utility as a user-oriented vehicle before
implementation.
Finally, testing leads to software reliability. Identifying and removing
faults, during testing can make the software more reliable. This increases
user’s confidence in the system.
ATM-cum-Banking System 37
HARDWARE REQUIREMENTS
PROCESSOR PENTIUM III or above
OPERATING SYSTEM Win95/98/NT/2000
RANDOM ACCESS MEMORY 128 MB or above
HARD DISK 10 GB or above
MONITOR VGA
KEYBOARD 101 Keys
SOFTWARE REQUIREMENT
Ms - Access
VISUAL BASIC 6.0
SYSTEM SECURITY
As computers have become a part of every day life and more and more
are concerned about the security and integrity of the information residing
in these computers. While developing the system proper measures for
maintaining data integrity and controlling security should be taken. This
involves built in features, programs and procedures to protect the
candidate system from unauthorized access. Also proper measures should
ATM-cum-Banking System 38
be taken so that if data is lost due to some unidentified reasons it must be
recovered without much inconvenience.
System security can be threatened due to external as well as
internal cases. Some of these are: -
1. Errors and omissions
2. Disgruntled and dishonest employees
3. Fire
4. Natural disasters
5. External attacks
When huge quantities of information are stored in one database, sensitive
data can be easily copied. Information can also be entered directly into
the computer without written record or proper authorization and can be
changed without trace. A dishonest programmer can bypass control and
surreptitiously authorize his/her own transactions.
Control Measures
After system security risks have been evaluated the next step is to select
the measures those are internal and external to the facility. These
measures are generally classified under the following points:
1. Safety from unauthorized users.
2. Recovery in case of crash due to power failure is hard disk crash.
3. Safety from errors and omissions.
ATM-cum-Banking System 39
In the proposed system proper care has been taken of first data accesses
that a user may take to the system. Well, nothing can be said or done
about disk crashes or system failures. These are unpredictable and
inevitable. Errors and omissions are minimum as the user is prompted
effectively by the system if he/she commits any mistake.
ATM-cum-Banking System 40
DATA FLOW DIAGRAMS
The Dataflow Diagram (DFD) was first developed by Larry Constantine
as a way of expressing system requirements in a graphical from. A DFD
also known as a bubble chart has a purpose of clarifying system
requirement and identifying major transformation that will become the
program in the system design.
DFD SYMBOLS
1. A SQUARE defines a source or destination of system data
2. An ARROW identifies dataflow or data in motion. It is pipeline
through which information flows.
3. A CIRCLE or a bubble represents a process transform in coming
dataflow into outgoing dataflow
ATM-cum-Banking System 41
4. AN OPEN RECTANGLE is a data source or Data at rest.
Data Dictionary
A Data dictionary is a database about databases. It holds the following
information about each data element in the databases, it normally
includes:
Name
Type
Range of values
Access authorization
ATM-cum-Banking System 42
NORMALIZED TABLES
ATM-cum-Banking System 43
Table Name: ADMIN_LOGIN
Field Name Datatype Size
ADMIN_ID TEXT 30
PASSWORD TEXT 10
BAL NUMBER 30
TABLE NAME : ACCOUNT_NO_ISSUE
Field Name Datatype Size
ACCOUNT_NO NUMBER 20
FORM_NO NUMBER 10
NAME TEXT 30
FATHER_NAME TEXT 30
ADDRESS TEXT 100
CONTECT_NO NUMBER 12
GENDER TEXT 20
PINCODE NUMBER 10
IDENTITY TEXT 30
ACC_TYPE TEXT 100
ACC_STATUS TEXT 10
DATE_OF_ACC_ISSUE DATE
ATM-cum-Banking System 44
EMAIL_ID TEXT 30
OCCUPATION TEXT 30
FAX TEXT 30
TABLE NAME: ATM_DETAILS
Field Name Datatype Size
BRANCH_CODE TEXT 20
DAILY_LIMITS NUMBER 30
DEBIT_CARD_NO NUMBER 30
PIN NUMBER 10
DATED DATE
ACCOUNT_NO NUMBER 20
DBTCARD_STATUS TEXT 30
EXPIRY_DATE DATE
TABLE NAME: ADMIN_BAL
Field Name Datatype Size
ADMIN_ID TEXT 20
DATED DATE
TRANS_BAL NUMBER 20
BAL NUMBER 30
ATM-cum-Banking System 45
TABLE NAME: LOGIN TABLE
Field Name Datatype Size
USERNAME TEXT 20
PASSWORD TEXT 20
TABLE NAME: NEW_ACCOUNT
Field Name Datatype Size
FORM_NO NUMBER 10
NAME TEXT 30
FATHER_NAME TEXT 30
ADDRESS TEXT 100
CONTECT_NO NUMBER 12
GENDER TEXT 10
DOB DATE
AGE NUMBER 5
PINCODE NUMBER 20
IDENTITY TEXT 30
NATIONALITY TEXT 30
OCCUPATION TEXT 20
ACC_TYPE TEXT 30
OPENING_BAL NUMBER 20
ATM-cum-Banking System 46
DATED DATE
STATUS TEXT 20
ATM_STATUS TEXT 20
EMAIL_ID TEXT 35
FAX NUMBER 10
TABLE NAME: NOMINEE
Field Name Datatype Size
FORM_NO NUMBER 10
NAME TEXT 30
ADDRESS TEXT 100
RELATION TEXT 20
DOB DATE
AGE NUMBER 10
ACC_NO NUMBER 20
TABLE NAME: TRANSCATIONS
Field Name Datatype Size
SR_NO NUMBER 10
DEBIT_CARD NUMBER 30
ACC_NO NUMBER 20
ATM-cum-Banking System 47
DATED DATE
TRANSCATION_TYPE TEXT 20
AMOUNT NUMBER 30
AVL_AMOUNT NUMBER 30
TABLE NAME: BALANCE
Field Name Datatype Size
ACC_NO NUMBER 20
DEBIT_CARD NUMBER 30
BALANCE NUMBER 30
DATED DATE
ATM-cum-Banking System 48
DATA FLOW DIAGRAMS
ATM-cum-Banking System 49
Administrator
Login Form
Admin_Login
Correct
New Account
Edit Account
Close Account
Transact Amount
New_Account
Atm_Balance
Account_info
ATM-cum-Banking System 50
Debit Card Holder
Login Form
User_Login
Correct
Easy Cash Fast Cash
Mini Statement
Transact Amount
Balance
Atm_Balance
Balance
ATM-cum-Banking System 51
E-R DIAGRAMS
ATM-cum-Banking System 52
Administrator
Admin ID
Password
Logs into
MDIFORM
New Account
Transact money
Editing
Debit Card Holder
Card No
Pin No
Enters ATM
Easy Cash
Transact money
Fast Cash
ATM-cum-Banking System 53
FORMS
SPLASH FORM
ATM-cum-Banking System 54
FRONT FORM
ATM-cum-Banking System 55
ADMIN_LOGIN FORM
ATM-cum-Banking System 56
MDI FORM
ATM-cum-Banking System 57
NEW ACCOUNT FORM
ATM-cum-Banking System 58
ACCOUNT_ISSUE FORM
ATM-cum-Banking System 59
ATM_ISSUE FORM
ATM-cum-Banking System 60
FRM_EDIT FORM
ATM-cum-Banking System 61
FRM_ATMREFILL FORM
ATM-cum-Banking System 62
FRM ATM_LOGIN FORM
ATM-cum-Banking System 63
ATM_MENU FORM
ATM-cum-Banking System 64
FRM_EASYCASH FORM
ATM-cum-Banking System 65
FRM_FASTCASH FORM
ATM-cum-Banking System 66
FRM_BALANCE FORM
ATM-cum-Banking System 67
CODING
ATM-cum-Banking System 68
Acc_Issue_No
Private Sub cmd_acc_Click()
If Rec2.EOF Then
txt_acc.Text = 1002001101
Else
Rec2.MoveLast
txt_acc.Text = Rec2(0) + 1
End If
cmd_acc.Visible = False
Cmd_Save.Visible = True
End Sub
Private Sub CMD_CANCAL_Click()
Unload Me
End Sub
Private Sub Cmd_Save_Click()
conn.Execute ("insert into account_no_issue values(" & txt_acc.Text &
"," & txt_form.Text & ",'" & txt_name.Text & "','" & txt_father.Text &
"','" & txt_address.Text & "'," & txt_contect.Text & ",'" &
txt_gender.Text & "'," & txt_pincode.Text & ",'" & txt_identity.Text &
"','" & txt_AcType.Text & "','working','" & Format(txt_dateissue.Text,
ATM-cum-Banking System 69
"DD-MMM-YYYY") & "','" & txt_email.Text & "','" &
txt_occupation.Text & "'," & txt_fax.Text & ")")
conn.Execute ("Update nominee set acc_no=" & txt_acc.Text & " where
form_no=" & txt_form.Text)
MsgBox "saved account"
atm_issue.txt_name.Text = txt_name.Text
atm_issue.txt_AcType.Text = txt_AcType.Text
atm_issue.Txt_OpenBal.Text = Txt_OpenBal.Text
atm_issue.txt_date.Text = txt_date.Text
atm_issue.Txt_Frm.Text = txt_form.Text
atm_issue.txt_acc.Text = txt_acc.Text
atm_issue.Show
Unload Me
End Sub
Sub fill_fields()
txt_form.Text = Rec(0)
txt_name.Text = Rec(1)
txt_father.Text = Rec(2)
txt_address.Text = Rec(3)
txt_contect.Text = Rec(4)
txt_gender.Text = Rec(5)
ATM-cum-Banking System 70
txt_dob.Text = Format(Rec(6), "DD-MMM-YYYY")
Txt_Age.Text = Rec(7)
txt_pincode.Text = Rec(8)
txt_identity.Text = Rec(9)
txt_nationality.Text = Rec(10)
txt_occupation.Text = Rec(11)
txt_AcType.Text = Rec(12)
Txt_OpenBal.Text = Rec(13)
txt_date.Text = Format(Rec(14), "DD-MMM-YYYY")
txt_email.Text = Rec(17)
txt_fax.Text = Rec(18)
txt_namenom.Text = Rec1(1)
txt_add.Text = Rec1(2)
txt_relation.Text = Rec1(3)
txt_dobnom.Text = Format(Rec1(4), "DD-MMM-YYYY")
txt_agenom.Text = Rec1(5)
End Sub
Private Sub Form_Load()
Call Make_Connection
If Rec.State = adStateOpen Then Rec.close
ATM-cum-Banking System 71
Rec.Source = "Select * from new_account where status='Request'"
Rec.Open
If Rec1.State = adStateOpen Then Rec1.close
Rec1.Source = "Select * from nominee"
Rec1.Open
If Rec2.State = adStateOpen Then Rec2.close
Rec2.Source = "Select * from account_no_issue"
Rec2.Open
txt_dateissue.Text = Format(Date, "DD-MMM-YYYY")
cmd_acc.Visible = True
Cmd_Save.Visible = False
Call Fill_COmbo
End Sub
Private Sub txt_form_Change()
If Not txt_form.Text = "" Then
Rec.Filter = "form_no= " & txt_form.Text
If Rec.EOF Then
MsgBox ("Invalied Form No.")
Else
Rec1.Filter = " form_no=" & txt_form.Text
If Rec1.EOF Then
ATM-cum-Banking System 72
MsgBox ("invalied form no")
Else
Call fill_fields
End If
End If
End If
End Sub
Private Sub txt_form_Click()
Rec.Filter = "form_no= " & txt_form.Text
If Rec.EOF Then
MsgBox ("Invalied Form No.")
Else
Rec1.Filter = " form_no=" & txt_form.Text
If Rec1.EOF Then
MsgBox ("invalied form no")
Else
Call fill_fields
End If
End If
End Sub
Sub Fill_COmbo()
ATM-cum-Banking System 73
Rec.Requery
txt_form.Clear
If Not Rec.EOF Then
Rec.MoveFirst
While Not Rec.EOF
txt_form.AddItem (Rec(0))
Rec.MoveNext
Wend
End If
End Sub
ATM-cum-Banking System 74
Admin_Login Form
Dim i As Integer
Private Sub Cmd_Cancel_Click()
frm_front.Show
Unload Me
End Sub
Private Sub CMD_ENTER_Click()
If txt_name.Text = "" Or TXT_PASS.Text = "" Then
MsgBox "Please Fill Admin ID And PassWord", vbCritical + vbOKOnly
Else
If UCase(txt_name.Text) = UCase(Rec(0)) And
UCase(TXT_PASS.Text) = UCase(Rec(1)) Then
MDIbank.Show
Unload Me
Unload frm_front
Else
MsgBox "Admin ID And PassWord Missmatch", vbCritical +
vbOKOnly
TXT_PASS.Text = ""
txt_name.Text = ""
ATM-cum-Banking System 75
txt_name.SetFocus
i = i + 1
End If
End If
If i = 3 Then
MsgBox " Sorry You Are Not Valid Administrator", vbCritical +
vbOKOnly
End
End If
End Sub
Private Sub Form_Load()
Call Make_Connection
If Rec.State = adStateOpen Then Rec.close
Rec.Source = "Select * from ADMIN_LOGIN"
Rec.Open
i = 0
End Sub
ATM-cum-Banking System 76
Atm_Issue Form
Private Sub Command1_Click()
conn.Execute ("INSERT INTO ATM_DETIALS VALUES('" &
TXT_BRCODE.Text & "'," & txt_DAILY.Text & "," & Txt_Debit.Text
& "," & TXT_PIN.Text & ",'" & Format(txt_date.Text, "DD-MMM-
YYYY") & "'," & txt_acc.Text & ",'Working','" &
Format(txt_expiry.Text, "DD-MMM-YYYY") & "')")
conn.Execute ("insert into balance values(" & txt_acc.Text & "," &
Txt_Debit.Text & "," & Txt_OpenBal.Text & ",'" &
Format(txt_date.Text, "DD-MMM-YYYY") & "')")
conn.Execute ("Update new_account set
status='Issued',atm_status='Issued' where form_no=" & Txt_Frm.Text)
MsgBox "ATM ISSUE"
AccNo = txt_acc.Text
AccountReport.Show
Unload Me
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command3_Click()
If Rec3.EOF Then
ATM-cum-Banking System 77
Txt_Debit.Text = "1060210000105001"
Else
Rec3.MoveLast
Txt_Debit.Text = Rec3(2) + 1
End If
txt_expiry.Text = Format((Day(Date) & "-" & Month(Date) & "-" &
(Year(Date) + 10)), "DD-MMM-YYYY")
End Sub
Private Sub Form_Load()
txt_date.Text = Format(Date, "DD-MMM-YYYY")
End Sub
ATM-cum-Banking System 78
Atm_Login Form
Dim i As Integer
Private Sub Command1_Click()
Rec.Requery
If TXT_DBT.Text = "" And TXT_PIN.Text = "" Then
MsgBox "Please Fill Debit Card No ANd PIN No.", vbCritical +
vbOKOnly
Else
Rec.Filter = "debit_card_no=" & TXT_DBT.Text
If Not Rec.EOF Then
If Rec(3) = TXT_PIN.Text Then
DbtNo = TXT_DBT.Text
AccNo = Rec(5)
MDIbank.Show
MDIbank.admin.Visible = False
MDIbank.trans.Visible = False
MDIbank.abu.Visible = False
frm_atm_menu.Show
Unload Me
Unload frm_front
Else
MsgBox "Invalid PIN Code", vbCritical + vbOKOnly
ATM-cum-Banking System 79
i = i + 1
TXT_PIN.Text = ""
End If
Else
MsgBox "Invalid Debit Card NO.", vbCritical + vbOKOnly
TXT_DBT.Text = ""
TXT_PIN.Text = ""
i = i + 1
End If
End If
If i = 3 Then
MsgBox "Invalid Debit Card No And PIN No.", vbCritical + vbOKOnly
End
End If
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
i = 0
Call Make_Connection
ATM-cum-Banking System 80
If Rec.State = adStateOpen Then Rec.close
Rec.Source = "SELECT * FROM atm_detials where
dbtcard_Status='Working'"
Rec.Open
End Sub
ATM-cum-Banking System 81
Balance Form
Dim atm As Long, aa As Integer
Private Sub Command1_Click()
Unload Me
frm_atm_menu.Show
End Sub
Private Sub Form_Load()
Txt_Bal.Text = ""
Call Make_Connection
If Rec.State = adStateOpen Then Rec.close
Rec.Source = "SELECT * FROM BALANCE WHERE
DEBIT_CARD=" & DbtNo
Rec.Open
Txt_Bal.Text = Rec(2)
Call Trans_Incr
conn.Execute ("Insert into transactions values(" & TransNo & "," &
DbtNo & "," & AccNo & ",'" & Format(Date, "DD-MMM-YYYY") &
"','Balance Check',0," & Rec(2) & ")")
aa = MsgBox("Do You Want To Slip", vbExclamation + vbOKCancel)
If aa = 1 Then
TransactionSlip.Show
End If
ATM-cum-Banking System 82
End Sub
ATM-cum-Banking System 83
Easy_Cash Form
Dim amt As Long
Private Sub Command1_Click()
If txt_amount.Text = "" Then
MsgBox "PLEASE FILL AMOUNT"
ElseIf Rec(2) < Val(txt_amount.Text) Then
MsgBox "invalid balance", vbCritical + vbOKOnly
ElseIf txt_amount.Text < 100 Then
MsgBox "invalid amount", vbCritical + vbOKOnly
ElseIf txt_amount.Text > 15000 Then
MsgBox "invalid amount", vbCritical + vbOKOnly
Else
amt = Rec(2) - Val(txt_amount.Text)
conn.Execute ("update balance set balance=" & amt & ", dated='" &
Format(Date, "DD-MMM-YYYY") & "' where debit_card=" & DbtNo)
atmbal = atmbal - Val(txt_amount.Text)
conn.Execute ("Update admin_login set bal=" & atmbal)
Call Trans_Incr
conn.Execute ("Insert into transactions values(" & TransNo & "," &
DbtNo & "," & AccNo & ",'" & Format(Date, "DD-MMM-YYYY") &
"','Withdraw'," & txt_amount.Text & "," & amt & ")")
ATM-cum-Banking System 84
TransactionSlip.Show
End If
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
Call Make_Connection
If Rec.State = adStateOpen Then Rec.close
Rec.Source = "SELECT * FROM BALANCE where debit_card=" &
DbtNo
Rec.Open
End Sub
ATM-cum-Banking System 85
Fast_Cash Form
Dim amt As Long
Private Sub Command1_Click(Index As Integer)
Call check(Command1(Index).Caption)
End Sub
Private Sub Command7_Click()
frm_atm_menu.Show
Unload Me
End Sub
Private Sub Form_Load()
Call Make_Connection
If Rec.State = adStateOpen Then Rec.close
Rec.Source = "SELECT * FROM BALANCE where debit_card=" &
DbtNo
Rec.Open
End Sub
Sub check(a As Integer)
Rec.Requery
If Rec(2) < a Then
MsgBox "invalid balance"
Else
ATM-cum-Banking System 86
amt = Rec(2) - a
conn.Execute ("update balance set balance=" & amt & ", dated='" &
Format(Date, "DD-MMM-YYYY") & "' where debit_card=" & DbtNo)
atmbal = atmbal - a
conn.Execute ("Update admin_login set bal=" & atmbal)
Call Trans_Incr
conn.Execute ("Insert into transactions values(" & TransNo & "," &
DbtNo & "," & AccNo & ",'" & Format(Date, "DD-MMM-YYYY") &
"','Withdraw'," & a & "," & amt & ")")
TransactionSlip.Show
End If
End Sub
ATM-cum-Banking System 87
Frm_AtmMenu Form
Private Sub cmd_about_Click()
frmAbout.Show
End Sub
Private Sub CMD_BAL_Click()
BALANCE.Show
End Sub
Private Sub CMD_change_Click()
Frm_ChangePIN.Show
End Sub
Private Sub cmd_easy_Click()
EASY_CASH.Show
End Sub
Private Sub CMD_exit_Click()
End
End Sub
Private Sub CMD_fast_Click()
ATM-cum-Banking System 88
FAST_CASH.Show
End Sub
Private Sub CMD_mini_Click()
MiniBank.Show
End Sub
Private Sub cmd_trans_Click()
frm_transferamount.Show
End Sub
Private Sub Form_Load()
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Ist.Visible = True
IInd.Visible = False
IIIrd.Visible = False
Timer2.Enabled = True
Timer3.Enabled = False
End Sub
ATM-cum-Banking System 89
Private Sub Timer2_Timer()
IInd.Visible = True
Ist.Visible = False
IIIrd.Visible = False
Timer1.Enabled = False
Timer3.Enabled = True
End Sub
Private Sub Timer3_Timer()
IIIrd.Visible = True
Ist.Visible = False
IInd.Visible = False
Timer1.Enabled = True
Timer2.Enabled = False
End Sub
ATM-cum-Banking System 90
Frm_Atmrefill Form
Private Sub Cmd_Save_Click()
conn.Execute ("Insert into admin_bal values('" & ADMINID & "','" &
Format(Date, "DD-MMM-YYYY") & "'," & Txt_TransAmt.Text & "," &
TxtBalance.Text & ")")
Rec.Requery
conn.Execute ("Update admin_login set bal=" & (Rec(2) +
Val(Txt_TransAmt.Text)))
Adodc1.RecordSource = "Select * from admin_bal"
Adodc1.Refresh
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
Call Make_Connection
If Rec.State = adStateOpen Then Rec.close
Rec.Source = "SELECT * FROM ADMIN_LOGIN"
Rec.Open
ATM-cum-Banking System 91
TxtBalance.Text = Rec(2)
Adodc1.ConnectionString =
"Provider=MSDAORA.1;Password=tiger;User ID=scott;Persist Security
Info=True"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "Select * from admin_bal"
Adodc1.Refresh
End Sub
ATM-cum-Banking System 92
Frm_Edit Form
Private Sub Cmd_AccClose_Click()
conn.Execute ("UPDATE account_no_issue SET FORM_NO=" &
txt_form.Text & ",NAME='" & txt_name.Text & "',FATHER_NAME= '"
& txt_father.Text & "',ADDRESS= '" & txt_address.Text &
"',CONTECT_NO= " & txt_contect.Text & ",GENDER= '" &
txt_gender.Text & "',PINCODE= " & txt_pincode.Text &
",IDENTITY='" & txt_identity.Text & "',ACC_TYPE= '" &
txt_AcType.Text & "', DATE_OF_ACC_ISSUE='" &
Format(txt_dateissue.Text, "DD-MMM-YYYY") & "',EMAIL_ID= '" &
txt_email.Text & "',QUCCUPTION='" & txt_occupation.Text &
"',FAX='" & txt_fax.Text & "' WHERE ACCOUNT_NO=" &
txt_acc.Text & " ")
conn.Execute ("UPDATE NOMINEE SET NAME='" &
txt_namenom.Text & "',ADDRESS='" & txt_add.Text &
"',RELATION='" & txt_relation.Text & "',DOB='" &
Format(txt_dobnom.Text, "DD-MMM-YYYY") & "',AGE=" &
txt_agenom.Text & " WHERE ACC_NO=" & txt_acc.Text & " ")
End Sub
ATM-cum-Banking System 93
Private Sub CMD_CANCAL_Click()
Unload Me
End Sub
Private Sub Command1_Click()
Rec2.Filter = "account_no= " & txt_acc.Text
If Rec2.EOF Then
MsgBox ("Invalied account_no.")
Else
Call fill_fields
End If
End Sub
Private Sub Form_Load()
Call Make_Connection
If Rec.State = adStateOpen Then Rec.close
Rec.Source = "Select * from atm_detials"
Rec.Open
If Rec1.State = adStateOpen Then Rec1.close
Rec1.Source = "Select * from nominee"
Rec1.Open
If Rec2.State = adStateOpen Then Rec2.close
ATM-cum-Banking System 94
Rec2.Source = "Select * from account_no_issue"
Rec2.Open
End Sub
Sub fill_fields()
txt_form.Text = Rec2(1)
txt_name.Text = Rec2(2)
txt_father.Text = Rec2(3)
txt_address.Text = Rec2(4)
txt_contect.Text = Rec2(5)
txt_gender.Text = Rec2(6)
txt_pincode.Text = Rec2(7)
txt_identity.Text = Rec2(8)
txt_occupation.Text = Rec2(13)
txt_AcType.Text = Rec2(9)
txt_dateissue.Text = Format(Rec2(11), "DD-MMM-YYYY")
txt_email.Text = Rec2(12)
txt_fax.Text = Rec2(13)
txt_namenom.Text = Rec1(1)
txt_add.Text = Rec1(2)
txt_relation.Text = Rec1(3)
txt_dobnom.Text = Format(Rec1(4), "DD-MMM-YYYY")
ATM-cum-Banking System 95
txt_agenom.Text = Rec1(5)
TXT_BRCODE.Text = Rec(0)
txt_DAILY.Text = Rec(1)
Txt_Debit.Text = Rec(2)
End Sub
ATM-cum-Banking System 96
Frm_Front Form
Private Sub Command1_Click()
ADMIN_LOGIN.Show
End Sub
Private Sub Command2_Click()
ATM_LOGIN.Show
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
Me.Left = 2775
Me.Top = 2610
End Sub
ATM-cum-Banking System 97
Frm_NewAccount Form
Private Sub Command1_Click()
If txt_name.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_name.SetFocus
ElseIf txt_father.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_father.SetFocus
ElseIf txt_address.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_address.SetFocus
ElseIf txt_occupation.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_occupation.SetFocus
ElseIf txt_fax.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_fax.SetFocus
ElseIf Txt_Age.Text = "" Then
MsgBox "fill_ID", vbCritical
Txt_Age.SetFocus
ATM-cum-Banking System 98
ElseIf txt_email.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_email.SetFocus
ElseIf txt_contect.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_contect.SetFocus
ElseIf cmb_gender.Text = "" Then
MsgBox "fill_ID", vbCritical
cmb_gender.SetFocus
ElseIf txt_pincode.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_pincode.SetFocus
ElseIf txt_identity.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_identity.SetFocus
ElseIf txt_nationality.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_nationality.SetFocus
ElseIf txt_dob.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_dob.SetFocus
ElseIf txt_namenom.Text = "" Then
ATM-cum-Banking System 99
MsgBox "fill_ID", vbCritical
txt_namenom.SetFocus
ElseIf txt_add.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_add.SetFocus
ElseIf txt_dobnom.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_dobnom.SetFocus
ElseIf txt_agenom.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_agenom.SetFocus
ElseIf txt_relation.Text = "" Then
MsgBox "fill_ID", vbCritical
txt_relation.SetFocus
ElseIf Cmb_AcType.Text = "" Then
MsgBox "fill_ID", vbCritical
Cmb_AcType.SetFocus
ElseIf Txt_OpenBal.Text = "" Then
MsgBox "fill_ID", vbCritical
Txt_OpenBal.SetFocus
Else
conn.Execute ("insert into new_account values(" & txt_form.Text & ",'"
ATM-cum-Banking System 100
& txt_name.Text & "','" & txt_father.Text & "','" & txt_address.Text &
"'," & txt_contect.Text & ",'" & cmb_gender.Text & "','" &
Format(txt_dob.Text, "DD-MMM-YYYY") & "'," & Txt_Age.Text & ","
& txt_pincode.Text & ",'" & txt_identity.Text & "','" &
txt_nationality.Text & "','" & txt_occupation.Text & "','" &
Cmb_AcType.Text & "'," & Txt_OpenBal.Text & ",'" &
Format(txt_date.Text, "DD-MMM-YYYY") & "','Request','Request','" &
txt_email.Text & "'," & txt_fax.Text & ")")
conn.Execute ("insert into nominee values(" & txt_form.Text & ",'" &
txt_namenom.Text & "','" & txt_add.Text & "','" & txt_relation.Text &
"','" & Format(txt_dobnom.Text, "DD-MMM-YYYY") & "'," &
txt_agenom.Text & ",0)")
MsgBox ("saved")
Call clear_feild
Call form_inc
End If
End Sub
Sub form_inc()
Rec.Requery
If Rec.EOF Then
txt_form.Text = 101
Else
ATM-cum-Banking System 101
Rec.MoveLast
txt_form.Text = Rec(0) + 1
End If
End Sub
Sub clear_feild()
txt_name.Text = ""
txt_father.Text = ""
txt_address.Text = ""
txt_contect.Text = ""
cmb_gender.Text = ""
txt_dob.Text = ""
Txt_Age.Text = ""
txt_pincode.Text = ""
txt_identity.Text = ""
txt_nationality.Text = ""
txt_occupation.Text = ""
Cmb_AcType.Text = ""
Txt_OpenBal.Text = ""
txt_email.Text = ""
txt_fax.Text = ""
txt_namenom.Text = ""
txt_add.Text = ""
ATM-cum-Banking System 102
txt_relation.Text = ""
txt_dobnom.Text = ""
txt_dobnom.Text = ""
txt_agenom.Text = ""
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
Call Make_Connection
If Rec.State = adStateOpen Then Rec.close
Rec.Source = "Select * from new_account order by form_no"
Rec.Open
txt_date.Text = Format(Date, "DD-MMM-YYYY")
Call form_inc
End Sub
ATM-cum-Banking System 103
Frm_Splash Form
Private Sub Form_Load()
Me.Left = 2985
Me.Top = 3000
End Sub
Private Sub Timer1_Timer()
ProgressBar1.Value = ProgressBar1.Value + 1
If ProgressBar1.Value >= 98 Then
frm_front.Show
Unload Me
End If
End Sub
ATM-cum-Banking System 104
FrmAbout Form
Private Sub Form_Load()
Me.Left = 4500
Me.Top = 3345
End Sub
ATM-cum-Banking System 105
MdiBank Form
Private Sub accbal_Click()
Frm_ATMTrans.Show
End Sub
Private Sub accissue_Click()
acc_issue_no.Show
End Sub
Private Sub atmbal_Click()
Frm_ATMBalance.Show
End Sub
Private Sub atmtran_Click()
Frm_ATMRefill.Show
End Sub
Private Sub close_Click()
Frm_AccountClose.Show
End Sub
ATM-cum-Banking System 106
Private Sub edclient_Click()
FRM_EDIT.Show
End Sub
Private Sub end_Click()
Unload Me
frm_front.Show
End Sub
Private Sub newacc_Click()
Frm_NewAccount.Show
End Sub
Private Sub pass_Click()
Frm_ChangePass.Show
End Sub
Private Sub us_Click()
frmAbout.Show
End Sub
ATM-cum-Banking System 107
Atm_Module Form
Global conn As ADODB.Connection
Global Rec As ADODB.Recordset
Global Rec1 As ADODB.Recordset
Global Rec2 As ADODB.Recordset
Global Rec3 As ADODB.Recordset
Global trans As ADODB.Recordset
Global DbtNo, AccNo, TransNo, atmbal As Long
Global ADMINID As String
Sub main()
Call Make_Connection
atmbal = Rec(2)
ADMINID = Rec(0)
Frm_Splash.Show
'MDIbank.Show
End Sub
Sub Make_Connection()
Set conn = New ADODB.Connection
If conn.State = adStateOpen Then conn.close
conn.ConnectionString = "Provider=MSDAORA.1;Password=tiger;User
ID=scott;Persist Security Info=True"
conn.Open
ATM-cum-Banking System 108
Set Rec = New ADODB.Recordset
With Rec
.ActiveConnection = conn
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.Source = "select * from admin_login"
.Open
End With
Set Rec1 = New ADODB.Recordset
With Rec1
.ActiveConnection = conn
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.Source = "select * from new_account"
.Open
End With
Set Rec2 = New ADODB.Recordset
With Rec2
.ActiveConnection = conn
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.Source = "select * from new_account"
ATM-cum-Banking System 109
.Open
End With
Set Rec3 = New ADODB.Recordset
With Rec3
.ActiveConnection = conn
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.Source = "select * from ATM_DETIALS"
.Open
End With
Set trans = New ADODB.Recordset
With trans
.ActiveConnection = conn
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.Source = "select * from Transactions order by sr_no"
.Open
End With
End Sub
Sub Trans_Incr()
trans.Requery
If trans.EOF Then
ATM-cum-Banking System 110
TransNo = 10001
Else
trans.MoveLast
TransNo = trans(0) + 1
End If
End Sub
ATM-cum-Banking System 111
REPORT
S
ATM-cum-Banking System 112
ATM-cum-Banking System 113
ATM-cum-Banking System 114
ATM-cum-Banking System 115
ATM-cum-Banking System 116
REPORT’S
CODING
ATM-cum-Banking System 117
AccoutReport
Private Sub DataReport_Initialize()
Load DataEnvironment1
DataEnvironment1.rsCommand1.Filter = "account_no=" & AccNo
End Sub
Private Sub DataReport_Terminate()
Unload DataEnvironment1
End Sub
ATM-cum-Banking System 118
MiniBank
Private Sub DataReport_Initialize()
Load DataEnvironment1
DataEnvironment1.rsCommand2_Grouping.Filter = "debit_card=" &
DbtNo
End Sub
Private Sub DataReport_Terminate()
Unload DataEnvironment1
End Sub
ATM-cum-Banking System 119
Transaction Slip
Private Sub DataReport_Initialize()
Load DataEnvironment1
DataEnvironment1.rsCommand3.Filter = "Sr_No=" & TransNo
End Sub
Private Sub DataReport_Terminate()
Unload DataEnvironment1
End Sub
ATM-cum-Banking System 120
Validations Used in Project
Account Number and Debit Card Number of a customer is unique.
To save the records in any form, all the text boxes should be filled and
correct.
Customer cannot withdraw money as less as Rs. 100.
Pin Number of Debit Card cannot be more than 4 characters.
Any customer cannot withdraw money larger than limit of debit card.
ATM-cum-Banking System 121
Limitations of the Project
To withdraw money from Atm Machine, user must enter his debit
card number.
ATM-cum-Banking System 122
Future Scope of Project
In the future, user may swaps the card and enter his Pin number
and get his money.
ATM-cum-Banking System 123
Bibliography
Programming with Visual Basic 6.0
Writer: Mohammed Azam
Technical Director
Emsquare, Chennai
Access
Writer: Ivan Bayross
http://www.google.com
http://www.cs.queensu.ca/FAQs/SE/case.html
http://www.rspa.com