Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   El table no me ordena correctamente (https://www.clubdelphi.com/foros/showthread.php?t=49797)

rmenor 30-10-2007 18:08:03

El table no me ordena correctamente
 
Hola: tengo un problema con una base de datos firebird, conecto dos componentes ttable en maestro detalle y la que es detalle la tengo ordenada por un número de factura pero no me lo ordena correctamente. Por ejemplo me ordena del 160 al 200 y luego sigue del 242 al 280 y luego sigue el 200 al 242. Le he estado dando vuelta y no encuentro ningún problema en los indices así que no se que pasa. Gracias.

RolphyReyes 30-10-2007 20:41:35

Saludos.

Puedes especificar cuales componentes estas utilizando para la conexion (BDE, IBX, FIBPLUS, DBEXPRESS...) para asi poder como darte una mano.

P.D. Quizas ya lo sabes pero es bueno de vez en cuando darse la vuelta por la guia de estilo.

tefots 31-10-2007 20:25:07

Cita:

Empezado por rmenor (Mensaje 242319)
Hola: tengo un problema con una base de datos firebird, conecto dos componentes ttable en maestro detalle y la que es detalle la tengo ordenada por un número de factura pero no me lo ordena correctamente. Por ejemplo me ordena del 160 al 200 y luego sigue del 242 al 280 y luego sigue el 200 al 242. Le he estado dando vuelta y no encuentro ningún problema en los indices así que no se que pasa. Gracias.

no entiendo cual es el problema exactamente, si dieras mas información , solucionariamos el problema enseguida (componentes utilizados , estructura de la tabla , y indices creados).
creo que muchas veces no se contesta bien , y ni si quiera lo intentamos , por la falta de información en las preguntas.

de todas formas , en la tabla detalle deberias de tener lo que se llama un indice compuesto , con nº de factura y nº de linea (no es necesario hacerlo asi , pero es la mejor forma para entenderlo) . y ese indice enlazarlo con el maestro , cuyo enlace será solamente el nº de factura.

es decir , cabecera -> n factura
detalle -> nfactura y nlinea.
y enlazamos , nfactura de cabecera , con nfactura de detalle.

de esta forma ,en el detalle tendrás ordenado por nº de linea , y enlazado con la cabecera por nº de factura. (Estos indices no tienen por que ser la clave primaria , aunque tambien podrian serlo).


saludos.

rmenor 02-11-2007 21:07:00

Os lo comento de memoria porque ahora no tengo el ordenador
 
es que lo tengo estropeado pero os comento:

Uso componentes mercury, el índice que utilizo es el mismo número de factura osea que se deben ordenar por factura, de echo si rompo la relación maestro detalle las facturas las ordena bien por número.

La estructura de la tabla es id_factura(automático), numero(de factura),fecha,importe, ... y algún otro campo más que no recuerdo pero si recuerdo que el índice es el número porque es por ese número que quiero ordenar.
La esctructura de la tabla detalle es id_linea(automático), nombre, descripc., precio ... y enl_factura que utilizo para conectar con la tabla facturas.

La relación que hago es id_factura - enl_factura.

Más o menos es esto si necesitais algo más me indicais, gracias.


La franja horaria es GMT +2. Ahora son las 16:42:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi