Variant (Tipo de datos)

Visual Basic VBLR

Variant (Tipo de datos)

       

Variant es el tipo de datos para todas las variables si no se declaran explícitamente como de algún otro tipo (utilizando instrucciones como Dim, Private, Public o Static). El tipo de datos Variant no tiene un carácter de declaración de tipo.

Variant es un tipo de datos especial que puede contener cualquier clase de datos excepto datos de cadena de longitud fija (los tipos Variant admiten ahora tipos definidos por el usuario.) Variant también puede contener los valores especiales Empty, Error, Nothing y Null. Puede determinar la forma en que desea tratar los datos tipo Variant utilizando las funciones VarType o TypeName.

Los datos numéricos pueden ser cualquier número entero o real entre -1,797693134862315E308 y -4,94066E-324 para los valores negativos, y entre 4,94066E-324 y 1,797693134862315E308 para los valores positivos. Generalmente, los datos tipo Variant numéricos se conservan en su tipo de datos original dentro de un tipo Variant. Por ejemplo, si asigna un tipo Integer a un tipo Variant, las operaciones posteriores tratan el tipo Variant como si fuera un tipo Integer. No obstante, si realiza una operación aritmética en un tipo Variant que contenga un tipo de datos Byte, Integer, Long, o Single, y el resultado supera el intervalo normal del tipo de datos original, el resultado se promociona dentro del tipo Variant hasta el tipo de datos mayor siguiente. Un tipo Byte se promociona a un tipo Integer, un tipo Integer a un tipo Long, y un tipo Long y un tipo Single se promocionan a un tipo Double. Se produce un error cuando las variables tipo Variant que contienen valores tipo Currency, Decimal, y Double superan sus intervalos respectivos.

Puede utilizar el tipo de datos Variant en lugar de cualquier otro tipo de datos para trabajar con los datos de una manera más flexible. Si el contenido de una variable tipo Variant está formado por dígitos, pueden ser la representación de cadena de los dígitos o su valor real, dependiendo del contexto. Por ejemplo:

Dim MiVar As Variant
MiVar = 98052

En el ejemplo anterior, MiVar contiene una representación numérica, el valor real 98052. Los operadores aritméticos funcionan de la manera esperada en las variables tipo Variant que contienen valores numéricos o datos de cadena que se pueden interpretar como números. Si utiliza el operador + para agregar MiVar a otra variable tipo Variant que contiene un número, o a una variable de un tipo numéricos, el resultado es una suma aritmética.

El valor Empty indica una variable tipo Variant que no se ha inicializado (a la que no se ha asignado un valor inicial). Una variable tipo Variant que contenga Empty se considera 0 si se utiliza en un contexto numérico y una cadena de longitud cero ("") si se utiliza en un contexto de cadenas.

No confunda Empty con Null. Null indica que la variable tipo Variant intencionadamente no contiene ningún dato válido.

En un tipo Variant, Error es un valor especial utilizado para indicar que se ha producido una condición de error en un procedimiento. No obstante, a diferencia de otros tipos de errores, no se produce el control de errores normal a nivel de aplicación. Esto permite al usuario, o a la propia aplicación, seleccionar entre varias acciones alternativas basándose en el valor de error. Los valores Error se crean convirtiendo números reales a valores de error mediante la función CVErr.