FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Registro Nuevo, Porque se va al Final????
Uso Delphi 6 SPII, IBX 6.08, FireBird 1.52
Desde que empece hacer una Aplicación de Facturación me tope con este Detalle, lo que pasa es que tengo una relación Maestro Detalle en la captura de Facturas, en esta relación uso el componente IBDataSet y en el Detalle tengo en la propiedad SelectSQL lo siguiente: Select * from TDETALLE where tipomov=:tipomov and folio=:folio Llave Primaria del Detalle es : TipoMov+Folio+Indice, donde TipoMov es de tipo VarChar de Longitud 2, Folio e Indice son de Tipo Integer. Por supuesto en la propiedad DataSource del Detalle lo tengo enlazado al DataSource del Maestro, ahora Bien, mi problema es que Cada vez de que INSERTO un Registro entre OTROS registros este Nuevo Registro se Posiciona al Final cuando el dbGRID(enlazado al ibDataSet-Detalle) manda un Post al Detalle, ahora y por lo siguiente cuando mandan a imprimir no sale en la posición en donde se Inserto el Registro, ya se que esto es Natural en una Base de Datos, pero debe de haber algún truco al respecto, he pensado en cambiar el tipo de dato del campo INDICE de Integer a Flotante, para que cuando se inserte un registro entre otros, automaticamente me de el siguiente, es decir si se inserta entre el 2 y el 3, entonces que el indice sea 2.1., ya se que yo sólo me estoy dando la Probable Solución, el problema aqui es que sólo pueden Insertar 9 registros entre otros, pero ocupo que alguien me de más opciones para no entrar de lleno a esta.... Agradezco cualquier sugerencia. Última edición por AGAG4 fecha: 08-08-2005 a las 19:11:13. Razón: Corrección |
#2
|
||||
|
||||
usa ORDER BY para ordenarlo como te guste
__________________
[Crandel] |
#3
|
||||
|
||||
... Dataset.Insert <> Dataset.Append
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí. |
#4
|
||||
|
||||
mmmm
Es por eso que no uso el Order By, me mueve el Registro Nuevo a otra posición, es lo que no quiero que se mueva que se quede donde lo insertaron y ya Intente con Insert y Append....
Gracias por sus comentarios.... |
#5
|
||||
|
||||
En interbase, como en la mayoría de los motores de base de datos, no puedes tener en cuenta el orden en que se insertaron, dado que se hacen de la forma que mas convenga en el momento de la inserción, no existe el orden como tal.
El append y el insert por lo tanto son lo mismo. si te interesa el orden en que se insertaron, crea un indice incremental y lo ordenas por este valor.
__________________
[Crandel] |
#6
|
||||
|
||||
Saludos
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#7
|
|||
|
|||
guardate la hora de la maquina en cada insercion y ordenalo por hora
|
#8
|
||||
|
||||
Cita:
basta con ordenarlo de forma decreciente.
__________________
[Crandel] |
#9
|
||||
|
||||
Saludos
Cita:
Ej: Si tengo una consulta que arroja 10 registros, y se está posicionado en el registro 4 e intento insertar un registro el cual se quiere en la posicion 5, no al final(11) . Eso fue lo que entendi de AGAG4 NO???
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! Última edición por vtdeleon fecha: 10-08-2005 a las 03:38:42. |
#10
|
||||
|
||||
si, parece que eso es lo que necesita, parece que lei muy por arriba el primer mensaje
AGAG4 no te ayuda poder agruparlos tipomov o por folio?
__________________
[Crandel] |
|
|
|