¿Cómo son indexados los campos numéricos que son cero o se inicializan sin valor alguno en un índice de tipo Acepta repetidas?

Base de conocimiento de la plataforma de desarrollo Velneo

Moderador: vCoaches

Responder
vBdC
vGuru
vGuru
Mensajes: 2
Registrado: 11 Oct 2005, 14:22

¿Cómo son indexados los campos numéricos que son cero o se i

Mensaje por vBdC » 10 Dic 2003, 01:00

¿Cómo son indexados los campos numéricos que son cero o se inicializan sin valor alguno en un índice de tipo Acepta repetidas?

Categorías: Campo, Índice, Búsqueda

Palabras clave: Contenido inicial, Asistente de fórmulas, Componente de índice

Enunciado:
Tenemos una tabla con un campo numérico con signo y su índice correspondiente (de tipo Acepta repetidas).
Haciendo una búsqueda entre límites (límite inferior -10 y límite superior 10), nos devuelve los registros que están entre esos límites excepto los que tienen 0. Sin embargo, si entro en un registro con valor 0 y modifico el campo a 0, entonces lo indexa y a partir de ahí la búsqueda devuelve ese registro. Es decir, devuelve los registros con valor 0 que han sido modificados a 0. Los que se dan de alta sin tocar ese campo no los devuelve.

Desarrollo:
Cuando damos de alta un registro y no modificamos el contenido del campo numérico, internamente, aunque se vea un 0, es indexado como campo vacío (por eso no aparece en las búsquedas entre límites). El 0 es la representación visual de vacío en campos numéricos. Si editamos el campo y lo modificamos con un 0, ya es indexado como tal, ya no está vacío, por eso ya aparece en las búsquedas.

A nivel interno de Velázquez Visual no es oportuno forzar la inicialización de un campo a otra cosa que no sea vacío. De esta manera, a la hora de programar, tenemos la posibilidad de decidir cómo se inicializa un campo.
La solución es muy sencilla: si queremos que los campos numéricos sean inicializados a 0 en lugar de vacío, debemos establecer como contenido inicial 0.

Artículos relacionados
Contenido inicial de un campo
Última edición por vBdC el 10 Dic 2003, 01:00, editado 1 vez en total.

Responder