vForum Velneo
vForum Oficial de la Plataforma de Desarrollo Velneo
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   Registrarse (Público)Registrarse (Público) 
 PerfilPerfil   Entre para ver sus mensajes privadosEntre para ver sus mensajes privados   LoginLogin    
Alguna  Todas

Claves duplicadas

 
Publicar nuevo tema   Responder al tema    vForums -> vBdC Velneo
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
vBdC
vGuru
vGuru


Registrado: 11 Oct 2005
Mensajes: 2

MensajePublicado: Jue, 11-Dic-2003 02:00:00    Asunto: Claves duplicadas Responder citando

Claves duplicadas

Categorías: Clave duplicada, Índice, Campo

Palabras clave: Importación, Componente de índice, Error, Campos duplicados, Clave única

Enunciado:
¿Por qué aparecen registros y claves duplicadas en campos con índices de clave única?

Desarrollo:
Tanto en arquitectura Cliente Servidor como en vRunner, solamente en altas a través de formularios se realiza una comprobación de todas las claves únicas.

Cuando en arquitectura Cliente Servidor usamos procesos con altas directas, tubos, en los que no intervenga un formulario, únicamente se comprueba la clave primaria (el código) pero no el resto de claves únicas. Sin embargo, en vRrunner no se comprueba ninguna de las claves únicas.

Esto debemos tenerlo muy en cuenta a la hora de realizar importaciones. Hemos de recordar, además, que es más que recomendable dejar siempre que sea Velázquez Visual el que genere el código.

Para evitar su duplicidad debemos usar las funciones de proceso: Ya existe en el índice, Ya existe en alguno de sus índices de clave única.
Para ello, debemos crear un evento anterior a un alta de ficha que contenga uno de los siguientes procesos:

Ejemplo 1:
Ya existe en el índice? -> INDICE, bOK
if -> "bOK"
Set retorno proceso = NO

Ejemplo 2:
Ya existe en alguno de sus índices de clave única? -> bOK, mensaje
if -> "bOK"
Mensaje -> "Clave duplicada: " + "mensaje", 0
Set retorno proceso = No

Estos procesos, lanzados antes de dar de alta una ficha, comprueban si el registro ya existe por un índice en concreto o por alguno de sus índices de clave única, según usemos una función de proceso u otra.
Si usamos la segunda, en la variable local "bOK" nos devolverá si ya existe, y en la variable local "mensaje" nos guardará el índice o índices de clave única duplicados.
Si se cumple la condición, devuelve un mensaje indicando por qué clave única ya existe y cancela el alta (Set retorno proceso = NO).

Por otro lado, cuando queramos cambiar un índice al tipo Clave única debemos realizar antes una búsqueda de todos los elementos de la tabla y ejecutar la opción de listas "Campos duplicados", con el fin de verificar la integridad de los datos. El campo a buscar será el que queramos indexar como clave única. De esta forma podremos corregir las eventuales duplicidades que puedan producirse por la conversión del índice como clave única.
La búsqueda es mejor que la realicemos por un índice que no sea de clave única.

Artículos relacionados
El campo CODIGO y su índice
Error en el ejecutor al dar de alta un registro: Alta no realizada por: no aceptada
Problemas con el contenedor
Los enlaces han de establecerse con índices de clave única
Qué hacer cuando tenemos registros duplicados en nuestra base de datos.
Registros con código 0 en una tabla maestra


Ultima edición por vBdC el Jue, 11-Dic-2003 02:00:00, editado 1 vez
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Publicar nuevo tema   Responder al tema    vForums -> vBdC Velneo Todas las horas son GMT + 2 Horas
Página 1 de 1

 
Cambiar a:  
Puede publicar nuevos temas en este vForum
No puede responder a temas en este vForum
No puede editar sus mensajes en este vForum
No puede borrar sus mensajes en este vForum
No puede votar en encuestas en este vForum
No puede adjuntar ficheros en este vForum
No puede descargar ficheros adjuntos en este vForum


Powered by phpBB © 2001, 2005 phpBB Group||Skin by Velneo ©2006
Aviso legal y Política de privacidad general