Visual y bases de datos. Ayuda!!!

saRca[DKE]

Lanero Reconocido
Se unió
12 Feb 2002
Mensajes
26
Tengo una aplicacion que adiciona 3 registros a una tabla de movimiento.
Al tratar de hacerlo me aparece este error: "Error en tiempo de ejecucion, los cambios solicitados en la tabla no se realizaron correctamente porque crearian valores duplicados en el indice, clave principal o relacion. cambie los datos en el campo o los campos que contienen datos duplicados, quite el indice o redefinalo para permitir entradas duplicadas e intentelo de nuevo."
La base de datos esta diseñada asi: dos tablas principales y una de movimiento, con relaciones de uno a muchos. La tabla de movimiento esta indexada con duplicados.

Alguien que me pueda decir porque sucede esto??
 
§

§en§ei Ħaφnu§

Guest
Para poder ayudarte, tienes que aclarar varias cosas.

1) Lenguaje de programación: ¿Visual Basic? ¿Qué versión?
2) Base de datos: ¿Access, Fox, SQL Server...?
3) Método de acceso a datos: ¿DAO, RDO, ADO, ADO.NET, lo haces directamente en código o por wizard?
4) ¿Estás utilizando SQL o los métodos y propiedades que exhibe el modelo de objetos del método de acceso a datos que estás empleando? ¿Utilizas consultas o stored procedures?
5) ¿Tienes un campo de índice único en cada tabla?

Se me hace que usas VB 6, Access y un wizard que te conecta a través de DAO. Eso significa que hay muchas cosas escondidas y no suficiente código qué depurar. Eso dificulta el asunto. Probablemente la aplicación envía los tres registros a un caché, se trata de hacer la actualización simultánea a través de un SQL generado automáticamente por el wizard, y ahí se totea porque no se crean indicadores únicos para cada registro. Tocaría ver el código.

Cuando no se utiliza código propio, los wizards y los objetos de acceso a datos hacen muchas cosas internamente, y cuando algo falla, por lo general el mensaje de error no es claro. Es posible que el problema esté en que se trata de adicionar un registro que contiene referencia a un índice no existente en una de las tablas principales, y se genera un error de integridad referencial.
 

mouffetard

Lanero Reconocido
Se unió
30 Ene 2005
Mensajes
184
El mensaje se refiere a que está insertando un nuevo registro con una primery key que ya existe. Revisa cual es la primary key para la tabla de movimiento y revisa que no estés generando registros con PK duplicadas.

Cuando uno crea tablas en Access, este siempre le sugiere agregar una PK a la tabla en caso de no tenerla.
 

pata_de_jaguar

Lanero Reconocido
Se unió
29 Feb 2004
Mensajes
2,337
mouffetard dijo:
El mensaje se refiere a que está insertando un nuevo registro con una primery key que ya existe. Revisa cual es la primary key para la tabla de movimiento y revisa que no estés generando registros con PK duplicadas.

Cuando uno crea tablas en Access, este siempre le sugiere agregar una PK a la tabla en caso de no tenerla.
sip, eso... :p :p :p
 
Arriba