Filtrar un subformulario

Les consulto por lo siguiente:
Tengo un formulario (Empresas) con un subformulario (Rubro) asociado con los siguientes campos: código, descripción y marca.
En otro formulario (Manejo de Empresas) listo en un subformulario las empresas ingresadas en el sistema. También hay un botón de acción (Buscar) que filtra los datos del subformulario según dos criterios: nombre empresa y contacto.
Como puedo hacer para filtrar el listado de empresas que se muestra en el subformulario por Rubro (según la descripción y la marca).

1 respuesta

Respuesta
1
Supondré que tus tablas son:
Empresas
- CodEmpresa
- NombreEmpresa
- Contacto
- ...
Rubros
- Código
- CodEmpresa
- Descripción
- Marca
Supongo, también, que el origen de datos del subform de Manejo de Empresas es la Tabla Empresas.
Tienes que crear una query con la siguiente instrucción SQL:
SELECT CodEmpresa, NombreEmpresa, Conracto, Codigo, Descripcion, Marca FROM Empresas, Rubros WHERE Empresas.CodEmpresa = Rubros.CodEmpresa
La salvas con el nombre QRY_Empresas (por ejemplo).
Cuando filtras la empresa por Nombre o Contacto, tienes que añadir las siguientes líneas al código:
Application.Echo False
Me.subEmpresas.Form.Recordsource = "Empresas"
Me.subEmpresas.Form.Requery
Application.Echo True
Cuando Filtras la empresa por Descripción o Marca, tienes que añadir las siguientes líneas al código:
Application.Echo False
Me.subEmpresas.Form.Recordsource = "QRY_Empresas"
Me.subEmpresas.Form.Requery
Application.Echo True
En el código anterior:
- "Empresa": es el valor de la Propiedad "Origen del Registro que estás usando ahora en el subFormulario.
- SubForm: Es el nombre del control subForm en el que muestras las empresas.
Para poder filtrar las empresas de subformulario por rubro, el campo debe aparecer, por lo menos, en el origen de datos del subformulario. Para ello, dicho origen de datos debe ser una consulta en la que muestres los rubros de la empresa. Dado que para una empresa puedes tener varios rubros, si usaras siempre esta consulta como origen de datos, las empresas te aparecerían tantas veces como rubros tengan. Por ello, mi consejo es que tengas dos orígenes de datos para dicho subform. Así, cuando selecciones por datos de la Empresa, usas como origen de datos el que tienes ahora pero cuando quieras filtrar por Rubro, cambias el origen de datos al otro (la consulta Empresas-Rubros) y filtras por Rubro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas