Consulta liosa
Publicado por arauxa (4 intervenciones) el 26/05/2006 10:51:08
Hola, necesito ayuda, mi duda igual es algo chorra, pero no sé como solucionarlo. A ver si alguien me puede echar una mano.
- La cuestión es que por un ladotengo una consulta con varios datos, dos de ellos son EMPRESA y SUBEMPRESA.
- Por otro lado tengo un formulario desde el cual lanzo la consulta y desde donde paso los parametros EMPRESA y SUBEMPRESA, si uno tiene valor el otro tiene que ser nulo(para controlar esto he hecho una macro, no se si se podría hacer de otro modo). Hasta aquí me funciona correctamente.
- El problema es que tengo un valor metido en el campo EMPRESA de mi formulario, que cuando lo seleccione necesito que me muestre los datos se una empresa en concreto y todas las subempresas que cumplan el siguiente criterio SUBEMPRESA='RE*'. He intentado hacer una macro del siguiente modo:
Si el campo empresa de mi formulario es igual a la empresa en concreto abro el informe(al que ya le paso la empresa como parametro, por lo tanto solo tendría que restringir que me mostrase la subempresa='RE*) y le aplico la condición WHERE = [COSTES_MES]![SUBEMPRESA]='RE*'
ESTA MACRO NO ME FUNCIONA, QUIERO DECIR EL INFOME ME LO MUESTRA EN BLACO, PERO NO ME DA NINGÚN ERROR DE DEPURACIÓN.
Adjunto el código de mi consulta porque es algo lioso:
SELECT DATOS_SALARIO.MES, DATOS_TRABALLADOR.NOMBRE, DATOS_TRABALLADOR.APELLIDO1, DATOS_TRABALLADOR.APELLIDO2, DATOS_TRABALLADOR.SUBEMPRESA, DATOS_TRABALLADOR.EMPRESA, IIf(Formularios!LISTADO!EMPRESA,[DATOS_TRABALLADOR.EMPRESA],[DATOS_TRABALLADOR.SUBEMPRESA]) AS TITULO,
FROM DATOS_TRABALLADOR INNER JOIN DATOS_SALARIO ON DATOS_TRABALLADOR.CODIGO = DATOS_SALARIO.CODIGO
WHERE (((DATOS_SALARIO.MES)=[Formularios]![LISTADO]![MES]) AND ((DATOS_TRABALLADOR.SUBEMPRESA)=[Formularios]![LISTADO]![SUBEMPRESA])) OR (((DATOS_SALARIO.MES)=[Formularios]![LISTADO]![MES2]) AND ((DATOS_TRABALLADOR.EMPRESA)=[Formularios]![LISTADO]![EMPRESA]));
Gracias por adelantado
- La cuestión es que por un ladotengo una consulta con varios datos, dos de ellos son EMPRESA y SUBEMPRESA.
- Por otro lado tengo un formulario desde el cual lanzo la consulta y desde donde paso los parametros EMPRESA y SUBEMPRESA, si uno tiene valor el otro tiene que ser nulo(para controlar esto he hecho una macro, no se si se podría hacer de otro modo). Hasta aquí me funciona correctamente.
- El problema es que tengo un valor metido en el campo EMPRESA de mi formulario, que cuando lo seleccione necesito que me muestre los datos se una empresa en concreto y todas las subempresas que cumplan el siguiente criterio SUBEMPRESA='RE*'. He intentado hacer una macro del siguiente modo:
Si el campo empresa de mi formulario es igual a la empresa en concreto abro el informe(al que ya le paso la empresa como parametro, por lo tanto solo tendría que restringir que me mostrase la subempresa='RE*) y le aplico la condición WHERE = [COSTES_MES]![SUBEMPRESA]='RE*'
ESTA MACRO NO ME FUNCIONA, QUIERO DECIR EL INFOME ME LO MUESTRA EN BLACO, PERO NO ME DA NINGÚN ERROR DE DEPURACIÓN.
Adjunto el código de mi consulta porque es algo lioso:
SELECT DATOS_SALARIO.MES, DATOS_TRABALLADOR.NOMBRE, DATOS_TRABALLADOR.APELLIDO1, DATOS_TRABALLADOR.APELLIDO2, DATOS_TRABALLADOR.SUBEMPRESA, DATOS_TRABALLADOR.EMPRESA, IIf(Formularios!LISTADO!EMPRESA,[DATOS_TRABALLADOR.EMPRESA],[DATOS_TRABALLADOR.SUBEMPRESA]) AS TITULO,
FROM DATOS_TRABALLADOR INNER JOIN DATOS_SALARIO ON DATOS_TRABALLADOR.CODIGO = DATOS_SALARIO.CODIGO
WHERE (((DATOS_SALARIO.MES)=[Formularios]![LISTADO]![MES]) AND ((DATOS_TRABALLADOR.SUBEMPRESA)=[Formularios]![LISTADO]![SUBEMPRESA])) OR (((DATOS_SALARIO.MES)=[Formularios]![LISTADO]![MES2]) AND ((DATOS_TRABALLADOR.EMPRESA)=[Formularios]![LISTADO]![EMPRESA]));
Gracias por adelantado
Valora esta pregunta
0