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! |
|
|
|