Ver Mensaje Individual
  #6  
Antiguo 09-09-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Reputación: 22
andres1569 Va por buen camino
Hola:

Por lo que veo, esa tabla de visitas está ligada a otro Dataset en Master-Detail, de ahí que lo primero que haces es romper ese vínculo (el Edit que pones al principio es innecesario, para eso ya está el Append posterior).

Si está en Master-Detail, lo normal es que se utilice un índice para acelerar ese vínculo, y en ese caso me parece que el campo que tú tienes como Clave primaria de Visitas no es el que se emplea para ligar ambas tablas. Quizás me equivoque pero parece ser que ligas por otro campo, con lo cual la tabla Visitas está indexada por dicho campo y no por Indice_visitas, de ahí que al romper el Master-Detail, los registros no te aparezcan en el orden que tu esperas. Para lograrlo deberías, después de romper el vínculo, asignarle el índice primario, así te aparecerían los registros ordenados por Indice_visitas.

De todas formas, todo esto no me parece muy aconsejable, yo al menos prefiero lanzar un Query "SELECT MAX(Indice_visitas) FROM VISITAS" y le incremento en 1, pero para que esto funcione debes asgurarte de que tras cada inserción llamas a FlushBuffers, como dice Marcos, para que el valor devuelto por la BD esté actualizado. O si estás realizando muchas altas de golpe y quieres ahorrarte ese trabajo extra, lanzar la consulta al principio, guardarla en una variable e irla manteniendo a lo largo de la vida del Form donde realizas esta operación.

Espero te sirva,

Saludos
__________________
Guía de Estilo
Responder Con Cita