 # Lesson 5 : Managing VB Data

### 5.1 Visual Basic Data Types

We come across all kinds of data in our daily life. For example, we need to handle data such as names, addresses, money, date, stock quotes, statistics and more every day. Similarly, in Visual Basic, we have to deal with all sorts of data, some can be mathematically calculated while some are in the form text or other forms. VB divides data into different types so that they are easier to manage when we need to write the code involving those data. VB6 classifies the information mentioned above into two major data types, they are the numeric data types and the non-numeric data types.

#### 5.1.1 Numeric Data Types

Numeric data types are types of data that consist of numbers that can be computed mathematically with standard operators. Examples of numeric data types are height, weight, share values, the price of goods, monthly bills, fees and others. In Visual Basic, numeric data are divided into 7 types, depending on the range of values they can store.

Calculations that only involve round figures can use Integer or Long integer in the computation. Programs that require high precision calculation need to use Single and Double decision data types, they are also called floating point numbers. For currency calculation , you can use the currency data types. Lastly, if even more precision is required to perform calculations that involve many decimal points, we can use the decimal data types. These data types summarized in Table 5.1

Table 5.1 Numeric Data Types
Type Storage Range of Values
Byte  1 byte   0 to 255
Integer  2 bytes   -32,768 to 32,767
Long  4 bytes  -2,147,483,648 to 2,147,483,648
Single  4 bytes -3.402823E+38 to -1.401298E-45 for negative values 1.401298E-45 to 3.402823E+38 for positive values.
Double  8 bytes -1.79769313486232e+308 to -4.94065645841247E-324 for negative values 4.94065645841247E-324 to 1.79769313486232e+308 for positive values.
Currency  8 bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807
Decimal  12 bytes +/- 79,228,162,514,264,337,593,543,950,335 if no decimal is use +/- 7.9228162514264337593543950335 (28 decimal places).

#### 5.1.2 Non-numeric Data Types

Nonnumeric data types are data that cannot be manipulated mathematically. Non-numeric data comprises string data types, date data types, boolean data types that store only two values (true or false), object data type and Variant data type .They are summarized in Table 5.2

Table 5.2: Nonnumeric Data Types

Data Type

Storage

Range

String(fixed length)

Length of string

1 to 65,400 characters

String(variable length)

Length + 10 bytes

0 to 2 billion characters

Date

8 bytes

January 1, 100 to December 31, 9999

Boolean

2 bytes

True or False

Object

4 bytes

Any embedded object

Variant(numeric)

16 bytes

Any value as large as Double

Variant(text)

Length+22 bytes

Same as variable-length string

#### 5.1.3 Suffixes for Literals

Literals are values that you assign to data. In some cases, we need to add a suffix behind a literal so that VB can handle the calculation more accurately. For example, we can use num=1.3089# for a Double type data. Some of the suffixes are displayed in Table 5.3.

Table 5.2: Suffixes for Literals
Suffix Data Type
& Long
! Single
# Double
@ Currency

In addition, we need to enclose string literals within two quotations and date and time literals within two # sign. Strings can contain any characters, including numbers. The following are few examples:

memberName="Turban, John."
TelNumber="1800-900-888-777"
LastDay=#31-Dec-00#
ExpTime=#12:00 am#

### 5.2 Managing Variables

Variables are like mail boxes in the post office. The contents of the variables changes every now and then, just like the mail boxes. In term of VB, variables are areas allocated by the computer memory to hold data. Like the mail boxes, each variable must be given a name. To name a variable in Visual Basic, you have to follow a set of rules.

### 5.2.1 Variable Names

The following are the rules when naming the variables in Visual Basic

• It must be less than 255 characters
• No spacing is allowed
• It must not begin with a number
• Period is not permitted
• Cannot use exclamation mark (!), or the characters @, &, \$, #
• Cannot repeat names within the same level of scope.

Examples of valid and invalid variable names are displayed in Table 5.4

Table 5.4: Examples of Valid and Invalid Variable Names
Valid Name Invalid Name

My_Car

My.Car

ThisYear

1NewBoy

Long_Name_Can_beUSE

He&HisFather                  *& is not acceptable

#### 5.2.2 Declaring Variables Explicitly

In Visual Basic, it is a good practice to declare the variables before using them by assigning names and data types. They are normally declared in the general section of the codes' windows using the Dim statement. You can use any variable to hold any data , but different types of variables are designed to work efficiently with different data types .
The syantax is as follows:

Dim VariableName As DataType

If you want to declare more variables, you can declare them in separate lines or you may also combine more in one line , separating each variable with a comma, as follows:

Dim VariableName1 As DataType1, VariableName2 As DataType2,VariableName3 As DataType3

#### Example 5.1

```Dim password As String
Dim yourName As String
Dim firstnum As Integer
Dim secondnum As Integer
Dim total As Integer
Dim doDate As Date
Dim password As String, yourName As String, firstnum As Integer
```

Unlike other programming languages, Visual Basic actually doesn't require you to specifically declare a variable before it's used. If a variable isn't declared, VB willautomatically declare the variable as a Variant. A variant is data type that can hold any type of data.

For string declaration, there are two possible types, one for the variable-length string and another for the fixed-length string. For the variable-length string, just use the same format as example 5.1 above. However, for the fixed-length string, you have to use the syntax as shown below:

`Dim VariableName as String * n`

where n defines the number of characters the string can hold.

For example,

```Dim yourName as String * 10
```

*yourName can holds no more than 10 Characters.

#### 5.2.2 Scope of Declaration

Other than using the Dim keyword to declare the data, you can also use other keywords to declare the data. Three other keywords are private ,static and public. The forms are as shown below:

```Private VariableName as Datatype
Static VariableName as Datatype
Public VariableName as Datatype
```

The above keywords indicate the scope of the declaration. Private declares a local variable or a variable that is local to a procedure or module. However, Private is rarely used, we normally use Dim to declare a local variable. The Static keyword declares a variable that is being used multiple times, even after a procedure has been terminated.  Most variables created inside a procedure are discarded by Visual Basic when the procedure is finished, static keyword preserves the value of a variable even after the procedure is terminated. Public is the keyword that declares a global variable, which means it can be used by all the procedures and modules of the whole program.

### 5.3 Constants

Constants are different from variables in the sense that their values do not change during the running of the program.

#### 5.3.1 Declaring a Constant

The syntax to declare a constant is

```Constant Name As Data Type = Value
```

#### Example 5.3

In this example, we insert a Shape control and two command buttons. Set the shape value of the Shape control to 3 so that it becomes a circle. Rename one of the command buttons to CmdResize for changing the size of the circle. Rename the other command button as CmdArea for calculation of the area of the circle. In this program, we declare four variables and a constant in the General section. The varaible h is to store the value of height of the circle and the variable r is to store the value of the radius which is half of the height. In addtion, the variable a is to store the value of area in twip using the formula area of circle=πr2. Besides that, the constant Pi represents π which we fixed at 3.142. Finally, the variable area is to store the value in cm by multiplying a with 0.001763889. (1 twip =0.001763889 cm)

##### The Code
```Dim h, r, a, rad, area As Single
Const Pi As Single = 3.142

Private Sub CmdArea_Click()
r = h / 2
a = Pi * rad ^ 2
area = Round(a, 2)
MsgBox ("The Area of the circle is " & area)
End Sub

Private Sub CmdResize_Click()
h = InputBox("Enter the value of height")
MyShape.Height = h

End Sub
```