Visual Basic Notes Summarised
Visual Basic Notes Summarised
Visual Programming
By Robert Keter
Programming in Visual Basic Page 1 of 102 By R. Keter
TABLE OF CONTENTS
TABLE OF CONTENTS ............................................................................................................................ 1
COURSE OUTLINE .................................................................................................................................. 3
What is Visual Programming Language ..................................................................................................... 6
Visual Programming ................................................................................................................................... 6
Visual programming Terminologies ........................................................................................................... 8
Visual Basic Environment ........................................................................................................................ 10
Integrated Development Environment Elements ...................................................................................... 13
Creating visual Environment with objects ................................................................................................ 19
Program Writing ....................................................................................................................................... 20
Operators in Visual Basic ......................................................................................................................... 23
Program Writing ....................................................................................................................................... 26
Error handling in visual basic ................................................................................................................... 31
CLASSES OF DATA TYPES .................................................................................................................. 42
Creating user defined data types ............................................................................................................... 43
THE VISUAL BASIC CONTROL STRUCTURES ................................................................................ 43
Iterative control structure .......................................................................................................................... 53
Visual basic sub-programs ........................................................................................................................ 60
Built–in functions...................................................................................................................................... 61
User defined functions .............................................................................................................................. 63
Procedures ................................................................................................................................................. 68
Types of procedures in visual basic .......................................................................................................... 68
Function and procedure calling ................................................................................................................. 69
Data structures .......................................................................................................................................... 74
Searching arrays ........................................................................................................................................ 83
Files ........................................................................................................................................................... 89
LINKING VISUAL BASIC TO DATABASES....................................................................................... 98
software program in two or more dimensions, and includes graphical elements, text, symbols and
icons within its programming context. Visual programming language is also known as
software programs by eliminating textual software code with a series of visual graphics elements.
VPL incorporates these graphical elements as the primary context of the language arranged in a
systematic order. The graphics or icons included within a visual program serve as input,
activities, connections and/or output of the program. Visual language has a few types, such as
should not be confused with GUI-based programming language as they only provide graphical
Visual Programming
Visual programming is the creation of a computer program by utilizing pictorial elements. Traditionally, a
program is a sequence of text statements used to achieve a certain result or solve some problem.
Programming languages often have particular ways of representing the work to be done thus leading to
ii. Visual programming is not only a language but primarily an integrated, interactive
development environment
easy to develop graphical user interfaces and to connect them to handler functions
iv. The graphical user interface of the Visual programming IDE provides a naturally
appealing views for the management of the program structure in the large and the
• Flexible
• Visual programming is a Graphical User Interface (GUI) language. This means that a Visual
programming program will always show something on the screen that the user can interact with.
• Modularization
Instead of thinking of a computer program as a single large collection of code, the good
programmer writes code so that you never need to look at more code than fits on the screen (or
productive. Java is a lot easier to learn than C++; C is probably even easier. But you learn once and
program for a long time, so that ease of learning is of only limited value.
Ease of Understanding
Most code is written once and read many times usually, to focus on a particular point. Thus, it is important
Speed of Development
If you look at speed of development in the round, you must consider not only how long it takes you to
write code, but also how long it takes you to find a solution to the problem at hand and find the bugs.
is type checking. Most standard languages, such as Java and COBOL, have good type checking. But some
It is an extension of the BASIC programming language that combines BASIC functions and commands
with visual controls. Visual Basic provides a graphical user interface (GUI) that allows the developer to
drag and drop objects into the program as well as manually write program code.
Visual Basic is an event driven programming language. This simply means that the applications
that are developed using Visual Basic, much like any other windows applications, will act upon
the users actions (event procedures) such as Click, DoubleClick, DragDrop, MouseDown.
Whenever you want the control in your application to respond to an event, you put the instructions in
the appropriate event procedure. Of course the user does not initiate all the events. Sometimes events
are consequence of other events. For example as you start an application the main Form is loaded in
the memory and shows up on the screen. This is a Form_Load event, which simply means that the
Before you can write programs in VB 6, you need to install Visual Basic 6 compiler on your computer.
You can purchase a copy of Microsoft Visual Basic 6.0 Learning Edition or Microsoft Visual Basic
Professional Edition from Amazon.com, both are vb6 compilers. Besides, you can also buy it from eBay
at Microsoft Visual Basic 6.0 6 Professional PRO MSDN Library Manual Service Pack. If you have
already installed Microsoft Office in your PC or laptop, you can also use the built-in Visual Basic
Application in Excel to start creating Visual Basic programs without having to spend extra cash to buy
the VB6 compiler.
You can also install VB6 on Windows 10 but you need to follow certain steps otherwise the installation
will fail. First, you need to run setup as administrator. Next, you need to use custom installation. Clear
the checkbox for Data Access. If you don't, set up will hang at the end of the installation. Finally, click
next and wait for the installation to complete. For complete instructions, please follow this link Install
VB6 on Windows 10
After installing the vb6 compiler, the icon will appear on your desktop or in your programs
menu.
You can choose to either start a new project, open an existing project or select a list of recently opened
programs. A project is a collection of files that make up your application. There are various types of
applications that we could create, however, we shall concentrate on creating Standard EXE programs (EXE
means executable). Before you begin, you must think of an application that preferably have commercial,
educational or recreational value. Next, click on the Standard EXE icon to go into the actual Visual Basic 6
programming environment.
When you start a new Visual Basic 6 Standard EXE project, you will be presented with the Visual
Basic 6 Integrated Development Environment (IDE). The Visual Basic 6 Integrated Programming
Environment is shown below. It consists of the toolbox, the form, the project explorer and the
properties window
we use to create our applications. It is called integrated because we can access virtually all of the
development tools that we need from one screen called an interface. The IDE is also commonly referred
to as the design environment, or the program. Programs written in visual basic are done in an Integrated
1. Menu Bar
Displays the commands you use to work with Visual Basic. Besides the standard File, Edit, View,
Window, and Help menus, menus are provided to access functions specific to programming such as
Context Menus
Contain shortcuts to frequently performed actions. To open a context menu, click the right mouse button
on the object you're using. The specific list of shortcuts available from context menus depends on the part
2. Toolbars
Provide quick access to commonly used commands in the programming environment. You
click a button on the toolbar once to carry out the action represented by that button.
3. Toolbox
Provides a set of tools that you use at design time to place controls on a form.
application.
5. Properties Window
Lists the property settings for the selected form or control. A property is a characteristic of an object,
You can use the Object Browser to explore objects in Visual Basic and other applications, see what
methods and properties are available for those objects, and paste code procedures into your application.
8. Form Designer
Serves as a window that you customize to design the interface of your application. You add controls, graphics,
and pictures to a form to create the look you want. Each form in your application has its own form designer.
Locals window
The Locals window displays the values and types of all variables that are within the scope of the
currently executing procedure. This window allows you to learn about the lifetime of a variable
as you step through your application because you can see when it is initialized, when it changes,
and when it is destroyed. When a variable comes into scope it will be shown in the window.
can track variables across modules and procedures and keep them in your Watch Window to see their
Debug window
The debug window in visual basic is a utility that helps in debugging code. Whenever error
occurs in a project, visual basic compiler displays an error message, pauses the project execution
Edit window
Form editor
• Command button – cmd : A control which represents a button. The user clicks on it initiate an
action.
Visual basic is a Microsoft windows programming language. Programs written in visual basic are
done in an Integrated Development Environment (IDE). The IDE allows a programmer to:
Global variables
Statement(s)
Where:
Option Explicit statement at the top of a code module forces the programmer to declare all
variables that you have used in that module, using Dim or similar.
Option implicit statement at the top of a code module does not force the programmer to declare
all variables that you have used in that module, using Dim or similar.
Global variables are variables that are accessible through the program when it executes.
Local variables are variables that are accessible within the function or procedures in which they
are declared.
Variables
Variables are memory locations that hold values to be used by the program at execution time. It
is a valid identifier.
Variables categories
• Static variables
They are those variables that don’t change when the program executes.
• Dynamic variables
They are those variables that change when the program executes.
Types of variables
• Global variables
These are variables that are accessible through the program when it executes.
• Local variables
They are variables that are accessible within the function or procedures in which they are
declared.
The keyword Dim is used to declare dynamic variables in visual basic. The keyword const is
Byte 1 0 to 255
Byte 1 0 to 255
example, in "1 + 2", the "1" and "2" are the operands and the plus symbol is the operator.
1. Arithmetical Operators
Operators Description Example Result
+ Add 5+5 10
- Substract 10-5 5
/ Divide 25/5 5
* Multiply 5*4 20
"Rift"&"Valley”
& String concatenation Rift Valley
3. Logical Operators
Operators Description
AND Operation will be true only if both the operands are true
Keywords are the reserved words used in programming. Each keyword has fixed meaning
The operators act on the value elements by performing calculations, comparisons, or other
operations.
Order of precedence
These are visual basic arithmetic rules that determine the sequence of evaluating values in a
Rules
Use the operators in order of precedence. For operators on the same precedence, evaluate from
result. Programs are written either in one of high-level programming languages (such as visual basic,
C, Java) which are easier but execute relatively slowly, or in one of low-level languages (assembly
language or machine language) which are very complex but execute very fast.
Properties
A property procedure is a series of Visual Basic statements that manipulate a custom property on
a module, class, or structure. Property procedures are also known as property accessors.
Objects:
An object is a combination of code and data that can be treated as a unit. An object can be a
piece of an application, like a control or a form. An entire application can also be an object.
Method
In visual basic is a procedure that is executed when an object receives a message. A method is
Events
In computing, an event is an action or occurrence detected by the program that may be handled
by the program. Typically, events are handled synchronously with the program flow, that is,
the program has one or more dedicated places where events are handled, frequently an event
loop.
Program coding
In computer science compiling a program means to decode instructions written in a higher order
Program debugging
Program debugging is the routine process of locating and removing computer program bugs,
tools. Debugging checks, detects and corrects errors or bugs to allow proper program operation
Program testing
Program testing is an investigation conducted to provide stakeholders with information about
the quality of the product or service under test. Software testing can also provide an objective,
independent view of the software to allow the business to appreciate and understand the risks of
software implementation. Test techniques include, but are not limited to the process of executing
Program execution
Program execution in computer science and software engineering is the process by which a
computer performs the instructions of a computer program. The instructions in the program
trigger sequences of simple actions on the executing machine. Those actions produce effects
according to the semantics of the instructions in the program. Programs for a computer may
execute in a batch process without human interaction, or a user may type commands in an
Software deployment is all of the activities that make a software system available for use. The
general deployment process consists of several interrelated activities with possible transitions
between them. These activities can occur at the producer side or at the consumer side or both.
Because every software system is unique, the precise processes or procedures within each
bugs is called debugging as mentioned above. Program testing is part of the procedure which
ensures that the program corresponds with original program specification and that it works in the
intended environment.
Test Plan
These are the stages involved in testing the programs. They include the following.
1. Desk checking
After writing the program the programmer goes through the program on a paper to eliminate any
The programmer corrects these errors and then resubmits the program to the compiler until the
data with errors to ensure that program does not grind to an halt if incorrect data is used.
Programming in Visual Basic Page 28 of 102 By R. Keter
Diagnostic procedures
For complex programs diagnostic procedures are used to find logical errors. A trace routine print
the results at each stage to enable errors detected quickly. If the trace routine is not available, the
programmer can insert instructions in the program to print out intermediate results at key points.
Test Data
This is the information that is used to test the new system or program. The program tried and
executed at least once every routine through the program and the accuracy of the program is
detect and reject it rather than try to process it to avoid getting wrong results.
Example 1
Algorithms
• Start
• Enter the integer values.
• Compute the sum the two numbers.
• Produce results
• Stop
Start
Enter 2 numbers
Interface
Code
Private Sub cmdcompute_Click()
Dim num1 As Integer
Dim num2 As Integer
Dim sum As Integer
num1 = Val(txtnum1.Text)
num2 = Val(txtnum2.Text)
txtsum.Text = Val(txtnum1.Text) + Val(txtnum2.Text)
End Sub
Error handling enables the programmer to attempt to recover (i.e., continue executing) from
infrequent fatal errors rather than letting them occur and suffering the consequences (such as loss
of application data).
Error handling is designed for dealing with synchronous errors such as an attempt to divide by 0
(that occurs as the program executes the divide instruction). Other common examples of
synchronous errors are memory exhaustion, an out-of-bound array index, and arithmetic
overflow. Error handling provides the programmer with a disciplined set of capabilities for
Error-handling code is interspersed throughout a program's code. Errors are dealt with the places
in the code where errors are likely to occur. The advantage of this approach is that a programmer
reading the code can see the error handling in the immediate vicinity of the code and determine if
• No matter how hard we try, errors do creep into our programs. These errors can be grouped into
three categories:
1. Syntax errors
2. Run-time errors
3. Logic errors
• Syntax errors occur when you mistype a command or leave out an expected phrase or
argument. Visual Basic detects these errors as they occur and even provides help in correcting
them. You cannot run a Visual Basic program until all syntax errors have been corrected.
takes on an unexpected value (divide by zero), when a drive door is left open, or when a file is
not found. Visual Basic allows you to trap such errors and make attempts to correct them.
• Logic errors are the most difficult to find. With logic errors, the program will usually run, but
will produce incorrect or unexpected results. The Visual Basic debugger is an aid in detecting
logic errors.
• Logical errors: This is a human error. A programming mistake that makes a program
• Syntax error: These are errors that violate rules and regulations or the syntax of a language.
• Runtime error: These are the undiscovered error in a program.
• Design your application carefully. More design time means less debugging time.
• Use comments where applicable to help you remember what you were trying to do.
• Use consistent and meaningful naming conventions for your variables, objects, and procedures.
you to trap it and take corrective action. If an error occurs and is not trapped, your program will
usually end in a rather unceremonious manner. Error trapping is enabled with the On Error
statement:
This uses the GoTo statement. Any time a run-time error occurs following this line, program
control is transferred to the line labeled errlabel. Recall a labeled line is simply a line with the
Once you have set up the variable declarations, constant definitions, and any other procedure
preliminaries, the On Error statement is executed to enable error trapping. Your normal
procedure code follows this statement. The error handling code goes at the end of the procedure,
following the HandleErrors statement label. This is the code that is executed if an error is
encountered anywhere in the Sub procedure. Note you must exit (with Exit Sub) from the code
before reaching the HandleErrors line to avoid execution of the error handling code.
Since the error handling code is in the same procedure where an error occurs, all variables in that
procedure are available for possible corrective action. If at some time in your procedure, you
want to turn off error trapping that is done with the following statement:
On Error GoTo 0
Once a run-time error occurs, we would like to know what the error is and attempt to fix it. This
Visual Basic offers help in identifying run-time errors. The Err object returns, in its Number
property (Err.Number), the number associated with the current error condition. (The Err function
information.) The Error() function takes this error number as its argument and returns a string
description of the error. Consult on-line help for Visual Basic run-time error numbers and their
descriptions.
Once an error has been trapped and some action taken, control must be returned to your
application. That control is returned via the Resume statement. There are three options:
Resume lets you retry the operation that caused the error. That is, control is returned to the line
where the error occurred. This could be dangerous in that, if the error has not been corrected (via
code or by the user), an infinite loop between the error handler and the procedure code may
result.
Resume Next Program control is returned to the line immediately following the line where the
error occurred. Resume label Program control is returned to the line labeled label.
When executing the error handling portion of the code and the end of the procedure is
These are errors that don’t prevent an application from running, but cause incorrect or
unexpected results. Visual Basic provides an excellent set of debugging tools to aid in this
search. There are no prescribed processes that you can follow to eliminate all logic errors in your
by pressing Ctrl+G). Or, they can be selected from the Debug Toolbar (accessed using the
All debugging using the debug windows is done when your application is in break mode. You
can enter break mode by setting breakpoints, pressing Ctrl+Break, or the program will go into
Once in break mode, the debug windows and other tools can be used to:
• Determine values of variables
• Set breakpoints
• Set watch variables and expressions
• Manually control the application
• have been called
• Change the values of variables and properties
Debugging
• Unlike other examples, we’ll do this one as a group. It will be used to demonstrate use of
• The example simply has a form with a single command button. The button is used to
execute some code. We won’t be real careful about proper naming conventions and such
in this example.
• The code attached to this button’s Click event is a simple loop that evaluates a function at
several values.
Y = Fcn(X)
X=X+1
End Sub
This code begins with an X value of 0 and computes the Y value using the general integer
function Fcn. It then increments X by 1 and repeats the Loop. It continues looping While X is
looking at debugger use. Set up the application and get ready to try debugging.
• There are several debugging tools available for use in Visual Basic. Access to these tools is
provided with both menu options and buttons on the Debug toolbar. These tools include
breakpoints, watch points, calls, step into, step over, and step out.
The simplest tool is the use of direct prints to the immediate window.
You can print directly to the immediate window while an application is running. Sometimes, this
is all the debugging you may need. A few carefully placed print statements can sometimes clear
• Debug.Print Example:
• Place the following statement in the Command1_Click procedure after the line calling the
• Examine the immediate window. Note how, at each iteration of the loop, the program
prints the value of X and Y. You could use this information to make sure X is
In the above examples, the program ran to completion before we could look at the debug
window. In many applications, we want to stop the application while it is running, examine
variables and then continue running. This can be done with breakpoints.
A breakpoint is a line in the code where you want to stop (temporarily) the execution of the
program that is force the program into break mode. To set a breakpoint, put the cursor in the line
select Toggle Breakpoint from the Debug menu. The line will be highlighted.
When you run your program, Visual Basic will stop when it reaches lines with breakpoints and
allow you to use the immediate window to check variables and expressions. To continue
program operation after a breakpoint, press <F5>, click the Run button on the toolbar, or choose
You can also change variable values using the immediate window. Simply type a valid Basic
expression. This can sometimes be dangerous, though, as it may change program operation
completely.
Breakpoint Example:
• Set a breakpoint on the X = X + 1 line in the sample program. Run the program.
• When the program stops, display the immediate window and type the following line:
• Print X;Y
• The values of these two variables will appear in the debug window. You can use a
question mark (?) as shorthand for the command Print, if you’d like. Restart the
• Try other breakpoints if you have time. Once done, all breakpoints can be cleared by
Ctrl+Shift+<F9> or by choosing Clear All Breakpoints from the Debug menu. Individual
breakpoints can be toggled using <F9> or the Breakpoint button on the toolbar.
As execution switches from procedure to procedure, the contents of this window changes to
reflect only the variables applicable to the current procedure. Repeat the above example and
Watch Expressions:
The Add Watch option on the Debug menu allows you to establish watch expressions for your
application. Watch expressions can be variable values or logical expressions you want to view or
In break mode, you can use the Quick Watch button on the toolbar to add watch expressions you
need. Simply put the cursor on the variable or expression you want to add to the watch list and
Watch expressions can be edited using the Edit Watch option on the Debug menu.
• Set a watch expression for the variable X. Run the application. Notice X appears in the
watch window. Every time you re-start the application, the value of X changes.
• At some point in the debug procedure, add a quick watch on Y. Notice it is now in the
watch window.
• Clear the breakpoint. Add a watch on the expression: X = Y. Set Watch Type to ‘Break
When Value Is True.’ Run the application. Notice it goes into break mode and displays
Selecting the Call Stack button from the toolbar (or pressing Ctrl+L or selecting Call Stack from
the View menu) will display all active procedures, that is those that have not been exited.
Call Stack helps you unravel situations with nested procedure calls to give you some idea of
• Press the Call Stack button. It will indicate you are currently in the Fcn procedure which
While at a breakpoint, you may execute your program one line at a time by pressing <F8>,
choosing the Step Into option in the Debug menu, or by clicking the Step Into button on the
toolbar.
This process is single stepping. It allows you to watch how variables change (in the locals
You may step through several lines at a time by using Run To Cursor option. With this option,
click on a line below your current point of execution. Then press Ctrl+<F8> (or choose Run To
Cursor in the Debug menu). the program will run through every line up to the cursor location,
then stop.
Programming in Visual Basic Page 40 of 102 By R. Keter
Step into Example:
• When the program breaks, use the Step Into button to single step through the program.
• At some point, put the cursor on the Loop While line. Try the Run To Cursor option
(press Ctrl+<F8>).
While single stepping your program, if you come to a procedure call you know functions
properly, you can perform procedure stepping. This simply executes the entire procedure at once,
To move through a procedure in this manner, press Shift+<F8>, choose Step Over from the
• One time through, when you are at the line calling the Fcn function, press the Step over
button. Notice how the program did not single step through the function as it did
previously.
While stepping through your program, if you wish to complete the execution of a function you
are in, without stepping through it line-by-line, choose the Step Out option. The function will be
completed and you will be returned to the procedure accessing that function.
press the Step Out button on the toolbar. Try this on the previous example.
mathematically.
or zero value. Boolean are stored in two bytes and have no type declaration character.
types.
of the form. Declare variables associated with the new data types.
Example 1
Private type employee
Name as string
Dateofbirth as date
Hiredate as date
Salary as currency
Gender as string
End type
output depending on the conditions used in the program. It performs an indicated action only
In its simplest sense, it is a block of code. More specifically, control structures are blocks of
code that dictate the flow of control. In other words, a control structure is a container for a series
of function calls, instructions and statements. One or more set of instructions, statements or
ii. Can be used to manipulate data by using logic to specify what should be done when
iii. Gives power to the programmer because the programmer can specify when a
Selection
The selection control structure allows one set of statements to be executed if a condition is true
Iteration
These are control structures that repeat statements until a given condition turns true of false for
Sequence
A control structure that executes statements in a program procedurally; one after another.
This is a control structure that is used to choose among alternative action to take.
Example 1
Determining the age of students in a class
Interface
Message
Pseudo code/Algorithms
Age=value(txtage.text)
If txtage.text>=18 then
End if
End sub
Flowchart
Start
Stop
The above flowchart represents if/then selection control structure. It illustrates a single selection
control structure. It performs the indicated action only if the condition is true otherwise it is
aborted.
The if/then/else control structure allows a programmer to specify that a different action can be
performed when the condition is true. It tsts for true statements in a program.
• SAD= 70
• PI= 60
• PII= 80
• Maths= 40
Required:
Create a visual basic program that calculates the average mark. Use the average mark and assign
A = 80 to 100
B =70 to 79
C =60 to 69
D =50 to 59
E =40 to 49
F =0 to 39
Interface
Sad
PI
PII
Maths
Average
Grade
Calculate
Declare variables
Display “A”
Display “B”
Display “C”
Display “D”
Display “E”
Display “F”
Code
SAD=val(txtsad.text)
PI=val(txtpi.text)
PII=val(txtpii.text)
if txtaverage.text>=80 then
txtgrade.text=”A”
Txtgrade.text=”B”
Txtgrade.text=”C”
Txtgrade.text=”D”
Txtgrade.text=”E”
Txtgrade.text=”F”
End if
End sub
This is a control structure that allows programmers to enter multiple information in a program.
Case value 1
Block of statements
Case value 2
Case else
Block of statements
End select
Example 1
Marks
Marks
Grade
Display
Algorithms
Case is 80 to 100
Display “Distinction”
Case is 70 to 79
Display “Credit”
Case is 60 to 69
Display “Pass”
Case is 50 to 59
Programming in Visual Basic Page 49 of 102 By R. Keter
Display “Referred”
Case is 40 to 49
Display “Fail”
Case else
End select
Marks=val(txtgrade.text)
Case is 80 to 100
Txtgrade.text=”Distinction”
Case is 70 to 79
Txtgrade.text=”Credit”
Case is 60 to 69
Txtgrade.text=”Pass”
Case is 50 to 59
Txtgrade.text=”Referred”
Case is 40 to 49
Txtgrade.text=”Fail”
Case is 8 to 39
Txtgrade.text=”Repeat”
End sub
Note: the data type specified in the expression must match that of case values
This is a control structure that is related to if/then/else control structure. Each argument passed
to switch control structure is either a condition or a value. If a condition is true the value
Example 1
• SAD= 70
• PI= 60
• PII= 80
• Maths= 40
Required:
Create a visual basic program that calculates the average mark. Use the average mark and assign
A = 80 to 100
B =70 to 79
C =60 to 69
D =50 to 59
E =40 to 49
F =0 to 39
Sad
PI
PII
Maths
Average
Grade
Calculate
Code
SAD=val(txtsad.text)
PI=val(txtpi.text)
PII=val(txtpii.text)
maths=val(txtmaths.text)
val(txtmaths.text)/4 txtgrade.text=switch(txtaverage.text>=80,”A”
txtaverage.text>=70,”B”
txtaverage.text>=60,”C”
txtaverage.text>=50,”D”
This is a repetition control structure that allows programmer to specify that an action is to be
repeated based on a true or false condition. The condition given may be true or false. If the
condition is false the action stops being executed, but if the condition is true the statements will
Example 1
Display
Dim x as integer
X=2
While x<=1000
Print x
Wend
End sub
The Do until loop repetition control structure repeats until a condition turns false. The statements in
the body of a loop are repeatedly executed as long as the loop continuation evaluates to false.
Example 1
Display
Dim x as integer
X=1
Do until x<=10
Print x
X=x+1
Loop
End sub
It handles the details of counter controlled repetition. When a program starts executing counter
The keywords to is used specify the range of values to be printed. The keyword step is also used
to specify the increment operator (value). That is how much will be added to variable counter
If the keywords Step and to are omitted, the increment value defaults to 1. Always initialize the
Example 1
Display
Dim x as integer
Print x
Next x
End sub
e.g.
• 2= initial value
0 For d= 99 to 0 step 11
Example 1
Display
X=1
Sum=0
For x=1 to 1
Print x
Sum=sum+x
Next x
End sub
This is similar to do while/loop control structure. The condition is tested at the beginning of the
Do/loop while control structure tests the condition after the loop body is performed. When the
loop terminates, execution continues with the statement after the loop while clause. Flow chart
Start
Action
x<=10 True
False
Stop
Display
Code
Private sub cmdprint_click()
Dim x as integer
X=1
Do
Print x
X=x+1
Loop while x<=10
End sub
tested at the beginning of the loop. In do/loop until the body of the loop is performed first before
Start
Action
x<=10 True
Dim x as integer
X=1
Do
Print x
X=x+1
End sub
Exiting Do and For statements
The exit Do and For statements alter the flow of the control structure. The exit Do when used in
do/until loop, do/while loop, do loop/while and do until/loop loops causes an immediate exit
Example 1
Display
Code
Dim x as integer
X=1
If x=50 then
Exit do
End if
Print x
X=x+1
End sub
Refers to any set of statements forming part of the program used to perform a specific action.
The are procedures, modules or parts within the program that are used to carry out a specific task
defined data and have an internal structure independent of the program in which it’s contained.
• Procedures
A function is any normal procedure but it is used to accept certain inputs and pass them to main
program to finish execution. It is used to pass or return a value which will be used to do a certain
• Built-in functions
Msgbox() functions
The objective of the Msgbox function is to produce a pop-up message box and prompts the user to
Format
• Style value – determine the type of command button will appear on the message box.
Example
0 VbOk Ok only
4 VbYesNo Yes, No
16 Stop sign
32 Question mark
48 Exclamation point
64 Information icon
The input box function is used to display a message box whwre the user can enter a value
Format
Default text – a text that appears in the inputbox field where the users can use it as his or her
Total
Add
Dim x, y as integer
Txttotal.text=x+y
End sub
These are those functions that user/programmer creates to perform a certain operation.
Format
Public indicates that the function is applicable is to the whole program and private indicates that
the function applicable to certain modules, statement or procedures only. User defined function
Example 1
Write a visual basic function using a function to calculate the grade of student based on average
mark.
Interface
Case 80 To 100
txtgrade.Text = "DISTINCTION"
Case 70 To 79
txtgrade.Text = "CREDIT"
Case 60 To 69
txtgrade.Text = "PASS"
txtgrade.Text = "REFFERED"
Case 40 To 49
txtgrade.Text = "FAIL"
Case 0 To 39
txtgrade.Text = "REPEAT"
End Select
End Function
mark = Val(txtmark.Text)
remarks = grade(marks)
End Sub
Example 2
Pi=3.142
Radius=14cm
Solution
Interface
Const pi = 3.142
Area = pi * r * r
End Function
Radius = Val(txtradius.Text)
Areas = area(radius)
End Sub
Example 3
Write a visual basic function that will calculate and display interest in textbox given:
Amount =Kshs.10, 000
Interest rate = 10%
Period = 2 years
Solution
Interest = p * r * y / 100
End Function
Principle = Val(txtprinciple.Text)
Rate = Val(txtrate.Text)
Years = Val(txtyears.Text)
End Sub
• Write a visual basic program that accepts any three integers and then determines the
• Write a visual basic program that accepts any three integers. Let the program divide
the integers by numbers of integers entered. If it attempts to divide by zero exit the
execution.
1. Event procedures
These are procedures used to design programs that respond to events. For example
Private Sub cmdcompute_Click()
Block of statements
End Sub
2. General procedures
These are procedures that are used to access any statement in a program. For example
Const pi=3.142
Rate=10%
3. Sub procedures
These are sub-routines which are logically accessed by programs in projects. They are
Block of statements
End Sub
End sub
Block of statements
End Function
A function or procedure is called tom perform a certain operation. It then returns a value to the
A function return value is specified in the body of the program by assigning a value to the
With call-by-reference the caller gives the called procedure or function the ability to directly
When an argument is called by value a copy of the of arguments’ value is passed to the calling
procedure. Arguments passed by value use keyword Byval or by enclosing the arguments in
parenthesis (). The arguments passed by references use the keyword Byref. For example:
Parameter passing
Parameters are those variables that are used to hold data to be passed to the calling statement or
procedure. The process of transferring these parameters is called parameter passing. Arguments
These are labeled memory blank areas that are to be used to store values to be used
• Actual parameters
These are variables that replace the formal parameters when the procedure or function is
called. They are given the actual parameter list of procedure call.
Classes of parameters
• Value parameters
Used to supply information to the procedure but they cannot be used to get information
out of a procedure. Value parameters are declared by including their names and the
• Variable parameter
the procedure and procedure reference. When the procedure containing a variable
parameter is accessed the actual parameter in the procedure reference is substituted by the
Recursive Functions
A recursive function/procedure calls itself either directly or indirectly through another call.
Functions call other functions or procedures to return values. It is equally possible for a function
to call itself.
procedure problem solving approaches have a number of elements in common. The procedure
procedure stops recursively calling itself and simply returns to its caller.
If called with a more complex problem, the procedure divides the problem into two conceptual
pieces; a piece that knows what to do and a piece that doesn’t know how to do it. The latter piece
must resemble the original problem, but with a slightly simpler or smaller version of original
problem. Because this new problem looks like the original the procedure launches a fresh copy (a
call) of itself to go to and work on smaller problem. THIS IS CALLED RECURSIVE CALL.
Example 1
1!=1
2!=2x1=2
3!=3x2x1=6
4!=4x3x2x1=24
5! = 5 x 4 x 3 x 2 x 1 = 120
To get factorial quickly we multiply the number by the previous factorial, i.e. 5! = 5 x 4!
Similarly, 9! = 9 x 8! And 103! = 103 x 102! This means that if you know a factorial you can
If y <= 1 Then
Else
End If
End Function
Dim x, n As Integer
Call lstvalues.Clear
n = txtinput.Text
For x = 0 To n
Next x
End Sub
Both recursion and iteration involve recursion. Iteration explicitly uses repletion control structure
Iteration and recursion each involve termination test. Iteration terminates when the loop
continuation condition fails, while recursion terminates when the base case is recognized.
Iteration keeps modifying a counter until the counter assumes a value that makes loop
continuation condition fail, recursion keeps producing smaller or simpler version of the original
Both iteration and recursion can occur infinitely. An infinite loop loop occurs with iteration if
loop continuation test becomes false, infinite recursion occurs if the recursion step (call) does not
reduce the problem each time in a manner that converges on a base case.
Scope of variables
The scope of variables refers to the coverage or extent of variable reference in a program. In
from where they are declared through end sub or end function.
• Module scope
These are variables declared in general declaration with dim keyword. By default,
module variables can only be referenced in module in which they are declared. They are
• Public scope
Refers to variables that are declared public. They are accessible to all modules.
Data structures
These are variable that are used hold data that contain two or more elements together instead of
single element. A tool for handling logically related data items. They are user defined and
They are data structures that don’t change during program execution.
They are data structure that changes when the program executes.
Data structures types
Arrays
This is a consecutive group memory of locations that all have the same name and datatype. This
is a list of variables all with the same name and data type. When we work with single item, we
only we only need to use one variable. However, if we have a list of item which are similar in
Programming in Visual Basic Page 74 of 102 By R. Keter
type we need to declare an array of variables instead of using a variable for each item. For
example:
Format
Fixed-size array
Dim array1 (6) As String
array1(0) = "Kisii"
array1(1) = "Kisumu"
array1(2) = 1234
array13) = 342
array1(4) = 234
array1(5) = 9804
End Sub
Dynamic array
Private Sub
Form_Load() array1(0) =
"Kisii" array1(1) =
"Kisumu" array1(2) =
array1(5) = 9804
Array1(6)=675
End Sub
Declaring arrays
Arrays can be declared as public in the code module, local. Module array are declared at general
declarations using dim or private keywords. Local arrays are declared I the procedure using
Public declared arrays declare arrays that are used throughout the program or application. The
dim declaration arrays declare arrays that are only used in the procedure. The name of the arrays
states the name to be used to be used to store arrays. The value or position number defines the
upper bound (highest value) of the numbers and the lower bound(lowest value is zero(0).
Name(1) Name(2)Name(3)Name(4)Name(5)Name(6)Name(7)Name(8)Name(9)Name(10)
For num = 1 To 10
studentName(num) = InputBox("Enter the student name", "Student names", "", 1500, 4500)
Form1.Print studentName(num)
Else
End
End If
Next
End Sub
Example 2
For num = 1 To 10
List1.AddItem studentName(num)
Next
End Sub
Code
Dim numbers(10) As Integer
Dim x As Integer
Randomize
Programming in Visual Basic Page 79 of 102 By R. Keter
For x = 1 To 10
Next x
For x = 1 To 10
Print numbers(x)
Next x
End Sub
Multidimensional arrays
These are those arrays that contain two or more indexes. Arrays that require two or more indexes
Like one dimensional array, multidimensional arrays can have public and local module scope.
Function Lbound and Ubound can also used with multidimensional arrays. When calling the
Example 1
Write a visual basic that produces the data shown below on a form.
sales(1, 0) = "WEEK"
sales(1, 1) = "SUN"
sales(1, 2) = "MON"
sales(1, 3) = "TUE"
sales(1, 4) = "WED"
sales(1, 5) = "THUR"
sales(1, 6) = "FRI"
sales(2, 0) = 1
sales(2, 1) = 300
sales(2, 2) = 200
sales(2, 3) = 400
sales(2, 4) = 90
sales(2, 5) = 240
sales(2, 6) = 700
Programming in Visual Basic Page 81 of 102 By R. Keter
sales(3, 0) = 2
sales(3, 1) = 345
sales(3, 2) = 120
sales(3, 3) = 504
sales(3, 4) = 100
sales(3, 5) = 300
sales(3, 6) = 500
sales(4, 0) = 3
sales(4, 1) = 500
sales(4, 2) = 530
sales(4, 3) = 560
sales(4, 4) = 300
sales(4, 5) = 565
sales(4, 6) = 600
sales(5, 0) = 4
sales(5, 1) = 440
sales(5, 2) = 452
sales(5, 3) = 432
sales(5, 4) = 323
sales(5, 5) = 300
sales(5, 6) = 500
End Sub
Print sales(1, 0), sales(1, 1), sales(1, 2), sales(1, 3), sales(1, 4), sales(1, 5), sales(1, 6)
Print sales(2, 0), sales(2, 1), sales(2, 2), sales(2, 3), sales(2, 4), sales(2, 5), sales(2, 6)
Print sales(3, 0), sales(3, 1), sales(3, 2), sales(3, 3), sales(3, 4), sales(3, 5), sales(3, 6)
Print sales(3, 0), sales(3, 1), sales(3, 2), sales(3, 3), sales(3, 4), sales(3, 5), sales(3, 6)
Print sales(4, 0), sales(4, 1), sales(4, 2), sales(4, 3), sales(4, 4), sales(4, 5), sales(4, 6)
Print sales(5, 0), sales(5, 1), sales(5, 2), sales(5, 3), sales(5, 4), sales(5, 5), sales(5, 6)
End Sub
Control array
Control arrays group together controls that provide same name and functionality. Each control
array element maintains its own properties but shares its event procedure code with other control
array element. Control arrays can be created in several ways, either by giving a control same
name as another or by copying the forms and pasting the copy on a form.
Function arrays
These are arrays that return a variant array at execution time. The values passed to arrays specify
element values in returned array. The returned array element Lbound I either 1 or 0 depending on
option base.
Searching arrays
There are two techniques to search for arrays:
• Linear search
The computer compares each element of an array with the search key. Search key I the
• Binary search
array searched for after each comparison. The algorithm locates the middle element of the
array and compares it with search key. If they are equal the search key is found and the
Example 1
Demonstrating linear search
Vb code
lblresult.Caption = ""
searchkey = txtkey.Text
Else
End If
End Sub
Dim x As Integer
Call Randomize
Call lstdata.Clear
lblresult.Caption = ""
Call lstdata.AddItem(array3(x))
Next x
End Sub
Dim x As Integer
linearsearch = x
Exit Function
End If
Next x
linearsearch = -1
End Function
Call lstdata_click
End Sub.
This a chain of of data items in the computer memory awaiting execution. Queues use FIFO, first
Characteristics of queues
• The term FIFO is used to describe queues because first datum in is the first datum out.
• Each data stays in the storage location until its turn comes thereby reducing time spent in
data movement.
Underflow occurs when an attempt is made to remove data from an empty queue. Overflow
occurs when an attempt is made to add data to a queue when all available memory space are
occupied.
Linked lists
Lists are flexible ways of handling data items in order. For example:
Each word in the sentence is a data item, which is linked to the next data item by a pointer.
Datum plus a pointer make a node or element of a list. The last item in the list is a
terminator. This may be stored in an array of records. Each row of an array is one element
in the list. A start pointer saying where the first datum is stored and a free storage pointer
6 EMPTY
Free storage
pointer 7 EMPTY
The element of the record has two pointers, one pointer for giving the address of
the following record another for giving the address of the proceeding record.
Head
The pointer of the last record gives the address first record thus this form a circular
or ring of records.
Trees
Trees these are hierarchal data structure constructed using rule of precedence for data items using
alphabetical or numerical sequence. The elements of a tree are called nodes and each element
56 42 89 65 48
56 is the first datum placed I the tree. Its node is therefore called parent node or root node. We
add 42 to the tree next using rule of precedence; lower number to the left and higher number to
the right.
They are used to temporarily store information or data. Related to queues but data is removed
and added differently. Data is added at the top and removed from top using LIFO.
Location of address 101 102 103 104 105 106 107 108 109 110
Contents 20 4 19 12 16
Order of arrival 1 2 3 4 5
Order of removal 5 4 3 2 1
Files
Visual basic files input and output
A file is a collection of data on a given subject, stored in a storage memory. We have executable
files with .EXE extensions, library files with .DLL extensions, word files with .DOC extensions
etc.
• Record
• Field
• I/O -Stands for input output. This is a means of writing and reading from a file.
• Sequential files
This is a method where the files are written in order from beginning to the end.
• Random files / .
A file where all records are accessible individually. They are scattered in a storage media.
• Binary file
The data is stored in byte level and you can read and write individually to the file.
• Indexed files
These are files that are stored and accessed using indexes. The files are accessed using
keys.
The OPEN command is used to open files. Open command assigns the files to a numbered file
Syntax/format
• Lock read means that only persons reading the records can have access to it at any time.
Access modes
• Input
It is open for sequential files input; the file will be read sequentially starting with the
beginning.
• Output
beginning.
• Random
• Append
Sequential output to the end of existing files; does not overwrite the file.
Closing files
Syntax/format
Close #fileformat1 [, #filenumber2]……………………….
• Print – reading
• Write – writing
They work almost the same only that print does not separate the fields in the file which makes
Format
• Output list is one or more variables you want write to the file.
Example 1
Create a simple address book file to store the student’s records (contacts).
File design
• Determine the fields to have on the address book for example seven textboxes.
• Determine the mod of access for the file when we output it for example input, output,
• Set the tab order; use the tab index property at properties window for each control on the
• For controls that don’t have focus such as labels set their tabstop property to false.
In setting properties for textboxes we will use control arrays technique. This is where we
name one textbox and copy the same name to other six textboxes; txtfield (0) to txtfield (6).
Dim x As Integer
For x = 0 To 6
txfield(x).Text = ""
Next x
txtfield(0).SetFocus
End Sub
Unload Form1
End Sub
Private Sub cmdwrite_Click()
Dim x As Integer
Dim y As Integer
For x = 0 To 6
Next x
For y = 0 To 6
txtfield(y).Text = ""
Next y
End Sub
Private Sub Form_Load()
Dim x as Integer
For x = 0 To 6
txtfield(x).Text = ""
Programming in Visual Basic Page 93 of 102 By R. Keter
Next x
Open "c:\addressbook.txt" For Append As #1
End Sub
Since the file format for random file is different from the sequential file we will create a new
output file called “phonebook.txt”. We will add a field for Personid at the beginning of each
We will user defined data types to simplify input-output operations since the Get and Put
commands only insert one field at a time. We will create a new variable that contains a whole
record. The user defined data types must be declared in the module. Any information declared
Personalid as integer
Fname as string * 15
Lname as string * 15
Address as string * 15
Province as string * 10
Town as string * 10
Code as string * 10
End type
other string or integer. The individual fields in the structured variable can be accessed using dot
notation.
Txttown.text=inrecord.town
Format
Put #filenumber, [recordnumber], variable.
The recordnumber is optional
Variables are written in the next record position after the last put or get statement if omitted.
The command to read records from the random file is Get.
Format
Get #filenumber, [filenumber, [recordnumber], variable
If record number is omitted the next record is read from the file.
We will write a code using the user defined data types called “phonebook” that will obtain the
next record number from file, accepts input from user and write the record out of the file.
PersonalId As Integer
Fname As String * 15
Lname As String * 15
Address As String * 20
Province As String * 15
Town As String * 10
Code As String * 8
Phone As String * 15
End Type
Private Sub cmdwrite_Click()
Dim x As Integer
poistion = position + 1
outrecord.PersonalId = position
outrecord.Fname = txtfield(1).Text
outrecord.Lname = txtfield(2).Text
outrecord.Address = txtfield(3).Text
outrecord.Town = txtfield(4).Text
outrecord.Province = txtfield(5).Text
outrecord.Code = txtfield(6).Text
outrecord.Phone = txtfield(7).Text
For x = 0 To 7
txtfield(x).Text = ""
Next x
End Sub
Dim x As Integer
For x = 0 To 7
txtfield(x).Text = ""
Next x
Loop
position = lastrecord
lastrecord = Seek(1) - 1
End Sub
Programming in Visual Basic Page 97 of 102 By R. Keter
LINKING VISUAL BASIC TO DATABASES
SAMPLE PROJECT EXAMPLE AND CODE
a).USER INTERFACE
txtR
txtN
Cbogender
cmdsave
adostudent
cmdclear
cmdaddnew
cmddelete
Private Sub
cmddelete_Click()
Adostudent.Recordset.Del
ete End Sub
cboreg
txtn
txtg
Adogetstu txtp
d
txtb
Adogetstud.Recordset.Move
Next Wend
End Sub