![]() |
Corrupt Index???
Hola y gracias de antemano!
A ver...uso el delphi 5 y estoy con bases de datos Paradox. Me gustaria usar códigos para cada elemento nuevo de cada tabla. No se si me explico bien. Tengo alumnos en una tabla y me gustaria que cada vez que crease un alumno se asignara un codigo. Y asi con cada profesor y demás cosas. Había puesto en la definición de datos que el campo codigo_alumno fuese de tipo autoincrement pero es que ahora me encuentro con que al estar cargando un fichero excel a la base de datos me da el siguiente error: "Corrupt Index. Table: c:\...\Alumno.PX". No se si tendrá que ver con eso pero es muy extraño porque al principio me carga bien y cuando pasa un tiempo (es decir cuando ejecuto lo de cargar varias veces) pues me sale este error. Alguien sabe explicarme porque ocurre? Y bueno, pues si teneis alguna idea mejor que esa del autoincrement para los codigos...soy toda oidos :D Muchiiiisimas gracias |
En un principio no tiene nada que ver el utilizar un campo autoincrementado, con que te de el error de índice corrupto.
Supongo que desde excel solamente visualizas los datos, porque no es buena idea abrir una tabla Paradox desde Excel ya que si efectuas cambios no te actualiza el índice y ahí puede estar el motivo que apuntas. Solución si solamente es esto, borra el índice manualmente abre la tabla con el DatabaseDesktop y vuelve a crearlo, existen utilerías que realizan esta función, no tienes más que buscar en Google por ejemplo. Por otra parte lo del campo autoincremental para poner códigos no me parece buena idea, lo mejor es o guardar en una tabla el último número utilizado e incrementarlo en 1 cada vez que se de un alta, o lanzar un SQL contra la tabla en cuestión y ver cual es el último número y también sumarle uno. Un Saludo. |
Hola de nuevo y muchas gracias por contestar
Lo que yo hago con Excel es abrir el fichero y guardar los datos de las columnas del fichero en mis tablas Paradox. Eso lo hago siguiendo un código que vi publicado en este foro. Me comentas que mejor usar una consulta SQL pa saber cual es el siguiente codigo que tengo que poner. Es mucho pedir que me escribas aqui la consulta? :) gracias y salu2 |
Con una Tabla Auxiliar:
nAlumno:=MiTablaAuxiliarNumero.Value +1; Esto puede ir en el evento BeforeInsert del ttable por ejemplo. Con una consulta: Select numero from alumnos; Alumnos.Last; nAlumno:=Query1.Fields[0].value; Un Saludo. |
La franja horaria es GMT +2. Ahora son las 04:16:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi