SQL - Access 2007 SQL - Seleecionar campos con nombres variables dependiendo de la fecha de ejecucion

 
Vista:

Access 2007 SQL - Seleecionar campos con nombres variables dependiendo de la fecha de ejecucion

Publicado por Manuel Bernal (1 intervención) el 10/11/2011 19:55:22
Buen Día. Estoy trabajando en una Base de Datos en Access 2007 y necesito saber la sintaxis en SQL para indicar los campos a utilizar. Voy a tratar de explicar a detalle
Se debe tomar en cuenta:

a)El origen de la Consulta son una tabla y otro Query
b)Los nombres de los campos a extraer del Query origen son cambiantes pues se trata de un Query de Referencias Cruzadas y este es el motivo por el cual los nombre de los campos resultantes cambian pues se trata de un campo utilizado como Encabezado de Columnas que contiene como datos números utilizados como semanas.

La sintaxis del Query que quiero modificar la pego mas abajo, es algo larga pues son muchos los campos y con nombres largos, pero básicamente (como ejemplo) uno de los campos que quiero cambiar es Qry_0040_Consumo_Semanal_Periodo_Completo.[11144] que al cambiar de semana, es decir al correr el Query 7 dias después debería ser Qry_0040_Consumo_Semanal_Periodo_Completo.[11145] y asi sucesivamente para cada campo, es decir el campo 11143 debera ser 11144

Nota: Por ejemplo en una consulta previa del proceso tengo esta formula: <=Val(1 & Right(Year(Now()),2) & (Format(Now(),"ww"))-2) que a partir de la fecha actual me da el año y la semana en curso a la cual le resto dos para obtener la semana a filtrar al dia de hoy me da 1 & 11 & 44, puedo utilizar algo similar para llamar a los campos a utilizar en el query?
Les marco el campo como ejemplo en la sintaxis en Negritas:

SELECT Qry_0040_Consumo_Semanal_Periodo_Completo.PRFC60, Qry_0040_Consumo_Semanal_Periodo_Completo.PNUM95, Qry_0040_Consumo_Semanal_Periodo_Completo.PDES35, Qry_0040_Consumo_Semanal_Periodo_Completo.PCLS35, Qry_0040_Consumo_Semanal_Periodo_Completo.PRMD15, Qry_0040_Consumo_Semanal_Periodo_Completo.SPHY60, Qry_0040_Consumo_Semanal_Periodo_Completo.Monto, Qry_0040_Consumo_Semanal_Periodo_Completo.ACSU60, Qry_0040_Consumo_Semanal_Periodo_Completo.ABCC60, Qry_0040_Consumo_Semanal_Periodo_Completo.ABCO60, Qry_0040_Consumo_Semanal_Periodo_Completo.SHLF35, "" AS ABC_Consumo_Extendido, IIf([Consumo_Extendido] Is Not Null,0,Null) AS Avg_Acumulado_Consumo_Extendido, IIf([Consumo_Extendido] Is Not Null,0,Null) AS Avg_Participacion_Consumo_Extendido, Qry_0050_Consumo_8_Semanas.Consumo_Extendido, Qry_0050_Consumo_8_Semanas.Consumo_8_Semanas, Qry_0040_Consumo_Semanal_Periodo_Completo.Consumo_Anual, Qry_0040_Consumo_Semanal_Periodo_Completo.[11144], Qry_0040_Consumo_Semanal_Periodo_Completo.[11143], Qry_0040_Consumo_Semanal_Periodo_Completo.[11142], Qry_0040_Consumo_Semanal_Periodo_Completo.[11141], Qry_0040_Consumo_Semanal_Periodo_Completo.[11140], Qry_0040_Consumo_Semanal_Periodo_Completo.[11139], Qry_0040_Consumo_Semanal_Periodo_Completo.[11138], Qry_0040_Consumo_Semanal_Periodo_Completo.[11137], Qry_0040_Consumo_Semanal_Periodo_Completo.[11136], Qry_0040_Consumo_Semanal_Periodo_Completo.[11135], Qry_0040_Consumo_Semanal_Periodo_Completo.[11134], Qry_0040_Consumo_Semanal_Periodo_Completo.[11133], Qry_0040_Consumo_Semanal_Periodo_Completo.[11132], Qry_0040_Consumo_Semanal_Periodo_Completo.[11131], Qry_0040_Consumo_Semanal_Periodo_Completo.[11130]
FROM Qry_0040_Consumo_Semanal_Periodo_Completo LEFT JOIN Qry_0050_Consumo_8_Semanas ON Qry_0040_Consumo_Semanal_Periodo_Completo.PNUM95 = Qry_0050_Consumo_8_Semanas.PNUM95;
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