Tengo una tabla llamada EXPEDIENTES que es alimentada por 3 tablas más como son INTERESADOS, DESTINATARIOS, PORTEADOR, además la tabla expediente tiene un enlace a EMPRESAS, pues la tabla EXPEDIENTES tiene que estar enlace por empresas.
Hasta aquí todo correcto, el problema está en que uno o varios registros de la tabla EXPEDIENTES puede ser compartido por una o varias empresas, para eso tengo otra tabla donde voy asignando EXP + EMP
Luego desde la rejilla principal de los expedientes la tabla de origen es la tabla EXPEDIENTES, pero claro, la tabla que tengo enlazada con EXPEDIENTES y que es donde asigno las otras empresas que tienen enlace con ese expediente no sé cómo hacer para que según la empresa activa solo salgan los expedientes de la empresa en cuestión.
Otras no sé si me explicado bien.
Alguna idea de cómo hacer para que pueda filtrar o realizar una búsqueda por expedientes según la empresa activa.
Una tabla extra donde tengas los campos “Empresa” y “Expediente”, donde puedas relacionar un expediente con varias empresas, y viceversa.
Usa esta tabla y esta será la que filtras por empresa dentro de un proceso que tenga como salida LISTA de la tabla EXPEDIENTES, recorre la primera lista filtrada y por cada registro busca el registro correspondiente de la tabla EXPEDIENTES y cada registro encontrado mándalo a la salida del proceso, al final tendrás los registros requeridos.
Espero que me haya podido explicar.
Saludos
aquí es importante estar seguro que tienes una tabla intermedia entre EMPRESAS y EXPEDIENTES que únicamente tenga como campos las claves de cada una de estas tablas (EMP_ID y EXP_ID vamos a llamarlas). Vamos a llamarla EMP_EXP a esta tabla.
Esta tabla debería de tener dos índices, que aceptan repetidos, uno por EMP_ID,EXP_ID llamado EMP y el otro como EXP_ID, EMP_ID llamado EXP.
Ahora si, aquí viene el proceso:
Cargar Lista (EMP_EXP, EMP, V_EMP,)
‘’’ el primer campo es la tabla, el segundo es el índice por empresa primero y el tercero una variable donde tienes la empresa actual.
‘’’ con esto ya has filtrado todos los expedientes de una empresa
Recorrer lista solo lectura
set (V_EXP_ID, #EXP_ID)
Cargar Lista (EXPEDIENTES,<tu índice principal de EXP>,V_EXP_ID,)
‘’’’ Aquí al ser único el ID, forzosamente te debería de generar una lista con una ficha
‘’’’ Ficha que corresponde a un expediente de la empresa en cuestión
Mandar lista a la salida
Como te decía, tu proceso debe de tener como salida LISTA de EXPEDIENTES, todas las listas que agregues te las acumula el proceso al final.
Mandas llamar este proceso y en el ámbito del llamado del proceso tendrás como resultados todos los expedientes relacionados con la empresa.
Espero que esta vez haya podido ser más claro.
Saludos!
Muchisimas gracias, tu última explicación a sido muy clara y el resultado a sido satisfactorio, gracias a tu ayuda he podido resolver este pequeño problema.
Adjunto la imagen de cómo he montado la búsqueda de los Expedientes, según tus comentarios.
Me alegra mucho Ramón que hayas podido resolver tu problema.
Habemos muchos que estamos aprendiendo a usar esta herramienta y es bueno echarnos la mano cuando está dentro de nuestras posibilidades.
Saludos.