** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - CAMPO CALCULADOS
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoCAMPO CALCULADOS

 Responder Responder
Autor
Mensaje
elcachalote2010 Ver desplegable
Nuevo
Nuevo


Unido: 07/Diciembre/2014
Localización: Rep Dom
Estado: Sin conexión
Puntos: 43
Enlace directo a este mensaje Tema: CAMPO CALCULADOS
    Enviado: 15/Diciembre/2015 a las 06:14
Estimados,

Lo que quiero con la siguiente operacion es que la desviacion menor a uno del mes anterior se le sume a la meta del mes posterior, es decir la desviacion menor a uno de enero que se le sume a la meta total de febrero, no que la desviacion de febrero se le sume a la meta total de febrero.

Esta es la instruccion para que entiendan mejor.

SELECT META_TECNICO.TECNICO AS RESPONSABLE, Count([NUM_ORDEN])-[META_ORDEN] AS DESVIACION, IIf([DESVIACION]<1,Abs([DESVIACION])+[ META_ORDEN],[META_ORDEN]) AS META_TOTAL, META_TECNICO.META_ORDEN, "META_TOTAL " & [ORDENES_RESUELTAS].[MES] AS MES1

FROM META_TECNICO INNER JOIN ORDENES_RESUELTAS ON META_TECNICO.COD_META_TECNICO = ORDENES_RESUELTAS.COD_META_TECNICO

GROUP BY META_TECNICO.TECNICO, META_TECNICO.META_ORDEN, "META_TOTAL " & [OS_RESUELTA_2015].[MES];

Pero el resultado es este, que es erroneo para lo que quiero.

RESPONSABLE

DESVIACION

META_ORDEN

META_TOTAL

MES1

JOSE PEREZ

-25

96

121

META_TOTAL ENERO

JOSE PEREZ

-40

100

140

META_TOTAL FEBRERO


El resultado que necesito es este. Las Gracias Anticipadas!

RESPONSABLE

DESVIACION

META_ORDEN

META_TOTAL

MES1

JOSE PEREZ

-25

96

121

META_TOTAL ENERO

JOSE PEREZ

-40

100

125

META_TOTAL FEBRERO

tommy tavarez
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 4991
Enlace directo a este mensaje Enviado: 24/Diciembre/2015 a las 02:24
Hola elcachalote2010
No debes repetir la misma pregunta, si nadien respondió en un tiempo suficiente y además la leímos más de 40 personas, debes de reflexionar y buscar dar mas datos o explicarte mejor, quizás faltaron datos, no explicas que datos tienen, no todos entendemos SQL para interpretarlo, algunos requerimos ver físicamente los registros.
Yo la verdad no entiendo, puedes volver a explicarlo, diciendo que datos quienes y a donde quieres llegar.
 
Gracias.
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 4991
Enlace directo a este mensaje Enviado: 28/Diciembre/2015 a las 15:27
Publicado originalmente por <a href=http://www.mvp-access.com/foro/member_profile.asp?PF=39242 rel=nofollow>elcachalote2010</a> elcachalote2010 escribió:

     
Quiero pedirte disculpa por volver a publicar el mensaje lo que pasa es que soy un novato en esto de los foros, la proxima vez no volvera a pasar, y vuelvo y te pido disculpa por insistir en este tema lo que quiero saber es si es posible hacer lo que quiero, me tomé el atrevimiento de subir un videito a youtube explicando lo que busco para ver si me entiendes, escusame por ser tan malo explicando.

Aquí está el nombre del video en youtube y el url.
campocalculado 1 

https://www.youtube.com/watch?v=BQUKJfDsM4E&feature=youtu.be

Les doy Las Gracias Anticipadas!
 
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 4991
Enlace directo a este mensaje Enviado: 28/Diciembre/2015 a las 17:04
Creo que con un recordsetclone, es mas sencillo que con consultas pero lo tendrías que trabajar en un formulario, yo con consultas lo haría mas a o menos así
 
Partiendo que tenemos una tabla llamada Desvio con estos datos:
Desvio
Responsable Meses ejecutadas Desviacion Meta
Daniel 1 57 -30 96
Daniel 2 86 -10 97
Daniel 3 125 -29 98
 
Hacemos una consulta en la cual sumamos un 1 al mes
Consulta32
Responsable Expr1 Desviacion
Daniel 2 -30
Daniel 3 -10
Daniel 4 -29
SELECT Desvio.Responsable, [Meses]+1 AS Expr1, Desvio.Desviacion
FROM Desvio;
Y hacemos la consulta final:
Consulta33
Responsable Meses Meta Desviacion Expr2
Daniel 2 97 -30 127
Daniel 3 98 -10 108
 
SELECT Desvio.Responsable, Desvio.Meses, Desvio.Meta, Consulta32.Desviacion, [Desvio].meta+Abs(Consulta32.desviacion) AS Expr2
FROM Desvio INNER JOIN Consulta32 ON (Desvio.Responsable = Consulta32.Responsable) AND (Desvio.Meses = Consulta32.Expr1);
Saludos.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5226
Enlace directo a este mensaje Enviado: 28/Diciembre/2015 a las 17:30
Hola!

Otra forma: tenemos la siguiente tabla:

id     mes        Desviacion          Meta
1       enero                 -30              96
2       febrero               -10            96
3       marzo                  29              96
4       abril                   -5               96

Creamos una consulta de esta tabla:

SELECT Tabla1.id, Tabla1.mes, Tabla1.Desviacion, Tabla1.Meta, DMax("[Desviacion]","[Tabla1]"," [id] =" & [id])+DMax("[Meta]","[Tabla1]"," [id] =" & [id]+1) AS sumas
FROM Tabla1
GROUP BY Tabla1.id, Tabla1.mes, Tabla1.Desviacion, Tabla1.Meta;


y nos da el siguiente resultado:

id     mes     Desviacion     Meta     sumas
1     enero     -30              96          66
2     febrero     -10              96         86
3     marzo     29              96         125
4     abril      -5          96              -





Editado por mounir - 28/Diciembre/2015 a las 17:31
Un Saludo.
Arriba
elcachalote2010 Ver desplegable
Nuevo
Nuevo


Unido: 07/Diciembre/2014
Localización: Rep Dom
Estado: Sin conexión
Puntos: 43
Enlace directo a este mensaje Enviado: 29/Diciembre/2015 a las 00:50
Son muchas ideas, creo que llegare a lo que quiero, les agradezco de corazon!
tommy tavarez
Arriba
byronlcl Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Agosto/2007
Localización: Guatemala
Estado: Sin conexión
Puntos: 2131
Enlace directo a este mensaje Enviado: 29/Diciembre/2015 a las 06:58
Hola elcachalote2010,
Veo que ya recibiste algunas sugerencias. Manejas código VBA? Por código otra opción puede ser:
-La consulta que ya tienes, la conviertas en una de Creacion de Tabla, la ejecutas
-Levantas un Recordset sobre la tabla (importante que venga ordenado por mes)
-Creas una variable para almacenar el valor del campo Desviación
-Pasas registro a registro:
En el primer registro tomas el valor del campo DESVIACION y lo metes a la variable, ya puedes irte al siguiente registro. Al entrar al siguiente registro usas el valor de la variable (que viene del registro/mes anterior) para calcular y editar el valor de tu campo META_TOTAL como lo necesitas, con esta actualización hecha ya puede tomar de nuevo la DESVIACION y meterla en la variable e ir al siguiente registro... etc.
Esto irá en el bucle donde recorres los registros

Espero haberme explicado, cualquier cosa comentas,

Saludos, Byron
No hay que tomarse la vida tan en serio.

Aprende código VBA en unas horas, ejemplos y articulos en:
http://www.byronlcl-access.ucoz.com
Arriba
elcachalote2010 Ver desplegable
Nuevo
Nuevo


Unido: 07/Diciembre/2014
Localización: Rep Dom
Estado: Sin conexión
Puntos: 43
Enlace directo a este mensaje Enviado: 12/Marzo/2016 a las 23:34
Estimado,

Disculpen por no responder a la resolucion de este tema, la forma que pude resolver fue que los campos calculados que no pude meter en la consulta los hice en un informe, tuve que hacer varios informes porque eran 64 campos, para que tengan una idea los informes se llamaban asi, DESVIACION VS META, META VS EJECUTADAS y META TOTAL VS META NORMAL, Saludos!
tommy tavarez
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable