Problemas al modificar/borrar filas = con Datagrid

Tengo una tabla en access 2000 con 2 campos :
Nombre y Edad
La tabla no tiene CP
Ahora cojo el control Adodc y lo enlazo a esa tabla.
Para editar los datos de la tabla uso un datagrid.
Cuando tengo 2 registros iguales e intento modificar o borrar uno de
ellos, el datagrid da un error diciendo que existen demasiadas filas para la
actualizacion; es decir, que intenta modificar o borrar el otro registro.
Esto mismo ocurre con sql server.
Esto no pasaba con el control data y access 97. Mi pregunta es : ¿Cómo hago para no tener
este problema? Se que si creo una CP (un autonumérico, por ejemplo) para esta tabla
ya esta pero mi intención es no crearla.
¿Esto qué es problema del adodc o del datagrid?

1 Respuesta

Respuesta
1
Necesitas crear una clave primaria. No hay otra forma ya que lo que intenta hacer el datacontrol es generar una instrucción sql para actuar contra la tabla y no sabe como construir el where
Por otra parte las tablas deben estar en tercera forma normal y por tanto tener todas sus claves, integridad etc.
¿Y no se puede pasarle el where de alguna forma? Es decir, sabemos el nº de registro que se quiere borrar(esto nos lo da la propiedad absoluteposition del recordset), ¿entonces no se puede?
O directamente, BORRAR REGISTRO Nº3
¿Se puede hacer esto sin que el datagrid vaya a comprobar que este registro es igual al Nº8?
No se puede por que el concepto número de registro cambió, ten en cuenta que si pones un order by el tercero será otro y si te hubiesen insertado un registro a mitad de tu proceso otro distinto.
Pon una clave primaria, es imprescindible...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas