FoxPro/Visual FoxPro - relacion tablas en form

 
Vista:

relacion tablas en form

Publicado por Ana Maria (2 intervenciones) el 03/10/2006 18:10:31
Hola. Tengo dos tablas que debo relacionar por un campo cod_art. Una de ellas debe cumplir cierta condición y la otra, otra condición. Si las relaciono por programa (con set relation y un browse con for para filtrar) no tengo problemas. Pero cuando quiero hacer lo mismo mediante el Entorno de Datos de un form, filtra ambas tablas pero no las conecta, a pesar de que están relacionadas entre sí por el campo cod_art. Cuando las veo con Examinar, están las dos filtradas, pero en el grid del form sólo muestra la primera sin los filtros que debería tener por su conexión con la segunda. Ya hice algunas pruebas, como linkear y relacionar directamente en el Grid. Nada hace que muestre los registros de la primera tabla que cumplan las condiciones de la segunda. También probé ejecutando un query que arma una sola tabla con los datos necesarios y esa entra al form, pero se hace muy lento el proceso y crea conflictos porque es un programa de consulta que se usa en varias terminales de mostrador simultáneamente. Se me acaba de ocurrir algo. Podrá tener que ver el hecho de que los campos a relacionar (cod_art) son numéricos? Es un sistema muy viejo, desarrollado con Genexsu y diseñado por algún genio loco para quien la distancia más corta entre dos puntos era un paraboloide hiperbólico. Tiene 125 tablas (desde T0001 hasta T0125) y tenía entre dos y cinco índices .IDX por cada tabla! Esos los reemplacé por unos tranquilos .CDX. Sólo los necesarios. Como tiene muchos datos ya cargados desde 1996 (algunos no sé ni de qué se tratan porque analizar 125 tablas es más de lo que mi paciencia permite), decidí tomar las tablas como estaban y sólo rehacer los programas. Hasta ahora todo fue muy laborioso pero bastante bien. Consultas, facturación en línea, pedidos de mercadería, todo.. hasta este miserable programita de consulta que no consigo que filtre. Perdón por la extensión de este mensaje pero quería contarle a alguien que entienda la porquería que es este sistema. Contárselo a quien no entiende le hace perder todo el dramatismo. Sugerencias? Gracias.
Este es el programa que relaciona bien pero no sirve para el grid.
USE T0013 ORDER COD_ART IN 1
USE T0012 ORDER CODART IN 2
SELE T0012
SET RELATION TO COD_ART INTO T0013
GO TOP
BROW FOR T0013.COD_MARCA=MMARCA.AND.T0013.COD_LINEA=MLINEA.AND.T0012.COD_RUB=MRUBRO
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:relacion tablas en form

Publicado por jorge (423 intervenciones) el 03/10/2006 18:31:53
Hola, en cuanto a lo del codigo que muestras..... por que dices que no te sirve para el grid ?, si lo que hace es solo mostrar lo que tenga en su recordsource, es decir la tabla compuesta por los filtros deseados o establecidos.
ahora bien, dices que ya hiciste un query pero es muy lento, talves estes haciendo subconsultas en el mismo query, y esto hace mas lento el proceso de consulta.
Estaria mas claro si mostraras el codigo de la consulta para ver si hay algun problema.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar