Creating a Structure and Accessing Data from a Structure in visual basic 2005

A structure is a user defined type, which is used to hold multiple types of related data. A Structure is a generalization of a user defined data type (UDT). In other words, we combine variables of different data types to create a structure. We use structures when we do not want the additional functionality of an extendable class and when the structure will not contain large amount of a data. Structures are a replacement of UDT in visual basic 6.0. Compared to UDTs structures are easier to implement. We can create structure, when we want a single variable to hold multiple types of related data. In visual basic 2005, we can create a structure using Structure and End Structure statements. The members of the structure are declared in between the Structure and End Structure statements. For example, we can maintain Stock details in a single variable, we can do it as follows:

Structure stock_details
 Public Inv_No as String
 Public Inv_Date as Date
 Public ItemName as String
 Public Qty as Integer
End Structure


The variables declared inside a structure are called data members. The access modifiers that we can use with a structure and the Access Scope defined by each access modifier for the strtucture are listed below.
  1. Public
  2. A structure declared with the Public keyword is accessible from anywhere within or outside the application. This is the default access mode.
  3. Friend
  4. A structure declared with the Friend keyword s accessible from within the program that contains its declaration and from anywhere else in the same program.
  5. Private
  6. A structure declared with the Private keyword is accessible only from within its declaration context, including any nested procedures.
  7. Protected
  8. A structure declared with the Protected keyword is accessible only from within its own class or from a derived class.
  9. Protected Friend
  10. A structure declared with the Protected Friend keyword is accessible from within the same assembly and in the derived classes.

We can also include procedures as members of a structure. For example, if you want to include a procedure to check the value entered for the stock variable, we can define the structure as shown below:

Structure stock_details 
Public Inv_No As String 
Public Inv_Date As Date 
Public ItemName As String 
Public Qty As Integer 

Public Sub CheckQty(BYVal Qty As Integer) 
If Qty < 10 Then 
  Qty=10  
End If 
End Sub
End Structure


Storing Data within a Structure

After we declare a structure, we can create the objects of the structure. The objects of a structure enables us to access the members of a structure by using the dot notation.

Dim inv1 As  stock_details
Inv1.Inv_No ="I001"
Inv1.Inv_Date=#5/31/2005# 
Inv1.ItemName ="ABC"
Inv1.Qty=1000

In the above example, inv1 is a structure type variable and Inv_No, Inv_Date, ItemName and Qty are the members of the structure type variable.

Accessing Data from a Structure

You can access a member variable to validate the data stores in the members of a structure in the following manner:

If inv1.InvNo= " " Then
MsgBox ("Please enter the Invoice Number")
End If

Summary

In this article we have seen how to create a structure, store data in the structure and access data from the structure.