PDA

Ver la Versión Completa : grandisimo error de delphi - access


fearlex
05-07-2004, 22:22:12
holas:
Empezare por decir que tengo un sistema en delphi 6 conectado a una base de datos en access utilizando ADO, el problema es el siguiente:
Tengo una tabla con un solo campo de tipo texto exactamente igual a como sale por defecto cuando se crea un campo, conecto la base de datos con el adotable y el datasource, todo ok hasta aki, en fin puedo navegar por los registros y el problema empieza cuando inserto dos campos iguales y luego intento borrar uno, me da un error de que demasiadas filas afectadas por la actualizacion, pero incluso en el caso de que no me haga falta repetir un dato del campo, no he podido controlar el error que me da cuando intento guardar un campo que ya se encuentra si le pongo que va a ser indice,
espero entiendan y desde ya gracias

Paoti
06-07-2004, 04:38:02
Hola Feralex...


no te entendi muy bien,,, y a lo que deduje...

creo que tu tabla el unico campo que tiene es clave principal (primary key)

y eso es desde access.... abre u tabla y editala y veras que a un lado de tu campo hay una lavesita... quitasela y todo te va a funcionar...




P.S. te recomiendo que cuando hagas una tabla agregues un campo autonumerico que sea una clave principal (primary key)


espero vaya por ahi la cosa


que estes muy bien

fearlex
06-07-2004, 18:47:22
Antes ke nada gracias por ayudarme, sip se lo ke es una clave principal, dije lo de un solo campo para orientar mejor pero veo ke lo complique, voy a referirme a una tabla con varios campos(si logro esto me servira para todas las demas tablas) lo unico que puse fue que el primer campo que se llama NoContrato este indexado sin duplicados y cada vez que voy a salvar un registro que ya se encuentra en la tabla me da un error desde el access pero tratando de corregir esto hago un locate para ver si esta ese registro y pos no me deje guardar pero entonces me dice que informacion insuficiente de clave o columna principal, demasiadas filas afectadas para la actualizacion, esto me ocurre no solo cuando intento borrar, incluso cuando intento salvar, hasta donde entiendo si el encuentra dos registros "exactamente" iguales, da el error, a lo ke voy me hace falta encontrar la forma de poder verificar que si ya introduje ese numero de contrato pues que me lo informe y que no me salve, no utilizo un dbnavigator por ke me da mas errores, hago los botones programados, incluso una de las cosas ke me sucede es que cuando navego por los registros si hice un append para agregar uno nuevo y introduzco uno que ya esta en la base de datos, y despues le doy al supuesto navegador para ir a cualquier registro de la tabla pos me guarda y por consiguiente como esta ya en la tabla me da el error, incluso intente en el adotable en el evento beforepost ponerle algo para que me chequeara si existia rese usuario y no me guardara los cambios y por lo tanto me lo informara pero nada, incluso no me deja poner ni un Showmessage.....complicado eeee espero me ayuden y desde ya gracias

Paoti
06-07-2004, 23:56:30
no logro ver cual sea el problema...

como programas los botones....?


el campo "NoContrato" es un indice sin duplicados, es detipo autonumerico? si no es autonumerico, desde programacion o manualment le das un valor unico?


ojala alguien pueda ayudar a tu problema compañero

fearlex
07-07-2004, 16:29:37
holas y gracias
el campo NoContrato es de tipo texto y exactamente me hace falta que sea unico, ayer logre solucionar algo, en el datamodulo no podia poner el ShowMessage por que me faltaba declarar la unit Dialogs que es la que utiliza este comando, utilize el evento OnPostError y he corregido casi todos los problemas, gracias, vere si surge alguna otra cosa, es mi primer sistema en delphi... gracias amigo, si surge algo nuevo te lo hare saber, a proposito, sabes de algun sitio donde alla algun manual tan bueno como el del guille para visual basic, algo asi me hace falta, o ke hable del codigo como tal y no de tantas vueltas para explicarte las cosas, sabes de alguno ??

gracias y tienes un amigo en cuba