Access - Variables string y variant

 
Vista:

Variables string y variant

Publicado por susi (6 intervenciones) el 07/06/2007 08:34:13
Hola,

tengo definido una tabla con un campo de tipo "text", dicho campo solo puede tener una serie de valores como "PREC", "APA", "VAC", etc, o tambien " ".

Me creo una consulta en la que se va a calcular lo siguiente:

HTTeo: [sale]-[entra]-CalHorTTeoricas([CodAusencia1];[CodAusencia2];[CodAusencia3];
[HorAusencia1];[HorAusencia2];[HorAusencia3])

(esos datos, es decir, entre, sale, etc estan almacenados en una tabla)

Todos los campos "CodAusencia" son del tipo que he comentado anteriormente.
Cuando defino el codigo de la función la cabecera la tengo definida así:

Function CalHorTTeoricas(c1, c2, c3 As String, h1, h2, h3 As Date) As Date

if C1 = " " then

CalHorTTeoricas = h1

end if

End function

Cuando se ejecuta la consulta si uno de los campos "CodAusencia" esta en blanco me devuelve en HTTeo= #Error

pero si la cabecera de la funcion la defino.

Function CalHorTTeoricas(c1, c2, c3 As Variant, h1, h2, h3 As Date) As Date

ya me devuelve el valor perfectamente.

Mi pregunta es si en las definiciones de los campos "CodAusencia" tengo que definir alguna propiedad especial.

Aunque se que con VAriant funciona me gustaria afinar un poco mas y ver que tengo que hacer si lo quiero definir como string.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Variables string y variant

Publicado por mi menda (1111 intervenciones) el 08/06/2007 04:04:50
Una variable de tipo Variant puede almacenar valores nulos, en cambio una variable de tipo String no. Sí pones C1 = " " ;y C1 es nulo, te dará error, puesto que C1 = " " es una cadena de longitud 0 y no un valor nulo. Sí sabes que tienes valores nulos utiliza el tipo Variant, ya que luego puedes utilizar funciones como IsNull() ó Nz() para saber si la variable contiene un valor nulo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar