![]() |
Arreglo de componentes
Hola a todos les esplico un poco, uso delphi 6 y tengo una base de datos en acces a la cual me conecto usando ADO, esta base es para una fabrica textil, tengo una tabla donde hay un registro por cada orden de venta, prenda, cliente, talla y la cantidad que hay que hacer por cada talla. para efectos de un reporte tengo una consulta de agrupación de esta tabla en la cual tengo como resultado 1 campo fijo que es el tipo de prenda ademas de n campos por cada talla de la prenda con la cantidad corespondiente:
Ejemplo de la tabla Orden claveprenda clavecliente talla cantidad 1 qwe123 8 M 45 2 qwe123 8 S 25 3 dfg12 7 M 15 4 qwe123 4 S 25 Ejemplo resultado de la consulta claveprenda M S qwe123 45 50 dfg12 15 0 Pero si tuviera claveprenda clavecliente talla cantidad qwe123 8 7 45 dfg12 8 7 15 tendria como resultado de la consulta claveprenda 7 qwe123 45 dfg12 15 como podran ver en mi consulta tengo como resultado solo un campo fijo y uno o mas campos que pueden variar tanto el numero de estos como su nombre segun las tallas. Ahora bien la fabrica maneja hasta 25 tallas diferentes estoy haciendo un reporte con qreport en el cual pongo 25 qrlabel para los nombres de columnas y 25 QRDBText para el valor del campo, pero como el unico campo que nunca cambia es claveprenda a los QRDBText no les puedo asignar la propiedad datfield en tiempo de diseño ya que puede que cuando ejecute la consulta este campo no exista o este en diferente posición (lo cual no seria tan problematico). Problema: Lo que quiero hacer es un arreglo con los QRLabel y otro con QRDBText para así con un ciclo (for o while) poderles asignar a la propiedad caption y datafiel respectivamente el valor necesario y a los restantes poner la propiedad visible en false en tiempo de ejecución. :confused: hojala alguien me pueda orientar de como hacer esto o de plano decirme si fume algo raro y esto no se puede :p , lo tendria que hacer con un if para cada componente. gracias |
Podes valerte del método FindComponent.
Código:
for i := 1 to MaxTallas do ;) |
Eso es todo jachguate (my master) gracias me has ahorrado muchas lineas de código
|
La franja horaria es GMT +2. Ahora son las 08:36:13. |
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