![]() |
Relacion familias y articulos
Hola de nuevo, amigos del foro. Esta vez tengo un problema con SQL y se me esta resistiendo. Decir antes que nada que lo tengo resuelto con dos querys, pero tengo que abrir y cerrar uno de ellos dentro de un bucle, 12 veces por cada registro del otro, en consecuencia me esta dando un error de 'Invalid parameter', y por lo que he podido leer en el foro, este error se debe precisamente a eso, es decir a abrir tantas veces los querys, por tanto estoy intentando realizar el proceso en uno solo si es posible. Uso Delphi 5.0 y tablas Paradox.
Tengo dos Tablas. En la primera guardo los datos del local (numero, direccion, poblacion, etc.), el numero es unico por cada registro. La otra tabla la podemos enlazar por el campo numero, y el resto de campos es articulo, familia y pulsadores. Decir que los articulos estan agrupados por familias. Lo que necesito obtener en una sola tabla, es numero, direccion, articulo, pulsadores. El problema es que en cada registro necesito tener todos los articulos que hay en la familia y el numero de pulsadores que utiliza. Por ejemplo: Tenemos la familia Pepito a la que pertenecen los articulos A, B, C, D y E. Bien pues el resultado seria: Código:
Local Domic. Art 1 Puls. Art 2 Puls Art 3 Puls etc .... Agradeceria enormemente vuestra ayuda, como siempre. Un saludo |
soy yo mismo, es para que no se pierda el post.
|
Yo en estes casos lo que hago es crear archivos temporales y les voy pasando los datos.
En algunos casos realizo dos pasos, incluso tres. Selecciono con una consulta, recorro y voy colocando los datos en un archivo temporal con una segunda pasada envío los datos a un segundo archivo y finalmente los muestro. Con esto he observado que se mejora mucho el rendimiento, se evitan realizar consultas muy complicadas a veces imposibles... Espero te sirva la idea. Los archivos temporales por supuesto se crean en el ordenador local no en el servidor. Un Saludo. |
:)Gracias por responder Marcoszorrilla.
Efectivamente, asai es como lo tengo solucionado de momento, lo que pasa es que como explico en el post, la solucion que le di en su momente abria repetidamente un query, y antes iba bien porque habia pocos registros, pero ahora me lanza el error que indico arriba casi continuamente. De todas formas estoy trabajando en alguna forma para que no tenga que iterar tanto sobre el query, pero claro si con un solo query fuera posible seria fantastico. Mi problema tambien es que la version que tengo de SQL es la que viene con Delphi 5, y muchas de las cosas que he visto para MySql no las admite. He estado bicheando para instalar MySql en mi ordenador pero todo lo que encuentro esta muy enrevesado y no me atrevo no vaya a ser que no rulen los proyectos en los que estoy trabajando. De todas formas agradeceria cualquier informacion al respecto. Compre el libro "Curso de SQL" de Anaya, pero la verdad me ha ayudado poco por el motivo que indico en el parrafo anterior. Muchas gracias.:) |
Asi a bote pronto, quizás si agrupas por familia y articulo y totalizas te ahorrarías procesos?
Creo que lo que estás buscando es una instrucción del tipo "pivot", que Paradox no tiene. Un Saludo. |
muchas gracias marcoszorrilla por tu interes.
Seguiré intentándolo. Un saludo:o |
Yo en delphi 6 y usando el BDE he visto en la paleta de componente el "Decision cube" y creía que servía para lo que dices. No los he usado, pero estar... están. Espero que tengas suerte y en Delphi 5 también los tengas.
En cuanto a lo de "bichear", si tienes una máquina potente, puedes usar virtualización , así tu ordenador no se ve afectado por las cosas que instalas. Saludos |
Gracias Lepe por tu respuesta, he buscado en delphi 5 el Decision Cube y no le he encontrado por ningun sitio.
Creo que voy a tener que actualizar a Delphi 7, pero es que no se cuanto me va a costar y si los proyectos se pueden migrar sin problemas. Agradecería cualquier información. Un saludo, |
La franja horaria es GMT +2. Ahora son las 00:37:40. |
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