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

Tema cerradoSiInm con varias Condiciones

 Responder Responder
Autor
Mensaje
esocampo Ver desplegable
Nuevo
Nuevo


Unido: 23/Octubre/2014
Localización: Colombia
Estado: Sin conexión
Puntos: 23
Enlace directo a este mensaje Tema: SiInm con varias Condiciones
    Enviado: 11/Abril/2016 a las 21:53
Buenas tardes

Estoy realizando una Consulta que se compone de tres tablas 

1- Costo de Hora por empleado (incluye columna con centro de Costo asignado)
2- Cantidad de Horas por empleado Incluye colunma con codigo del recargo ejemplo, hora extra, hora Ordinaria, etc) 
3-Centro de Costo de Empleado esta tabla solo la uso para que me traiga el nombre del Centro de Costo ya que es un codigo) facilidad de lectura

necesito generar una operación que Busque en a tabla de Cantidad de Horas y si el codigo es hora extra multiplique por un valor en la tabla Costo hora empleado, si es hora nocturna multiplique por un valor distinto.

la formula la estoy construyendo como sigue me sale un error la expresion que ha especificado tiene una sintaxis no validad, me estoy rompiendo la cabeza y no logro que esto me funcione

gracias por su ayuda, me salvaran unas cuantas neuronas,

Expr1: SiInm([Consolidado_Recargos]![Cod]=10,[Consolidado_Recargos]![Total_Abril]*[Estructura_Salarios]![Costo_HRecargo_200%],SiInm([Consolidado_Recargos]![Cod]=20,[Consolidado_Recargos]![Total_abril]*[Estructura_Salarios]! [Costo_HRecargo_35%], [Consolidado_Recargos]![Total_Abril] *[Estructura_Salarios]! [Costo_HRecargo_35%] )
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5140
Enlace directo a este mensaje Enviado: 11/Abril/2016 a las 22:28
Hola!

A bote pronto, tienes que cerrar la primera SiInm con paréntesis al final del código

Expr1: SiInm([Consolidado_Recargos]![Cod]=10,[Consolidado_Recargos]![Total_Abril]*[Estructura_Salarios]![Costo_HRecargo_200%],SiInm([Consolidado_Recargos]![Cod]=20,[Consolidado_Recargos]![Total_abril]*[Estructura_Salarios]! [Costo_HRecargo_35%], [Consolidado_Recargos]![Total_Abril] *[Estructura_Salarios]! [Costo_HRecargo_35%] ))

Otra observación es dependiendo de la configuración regional del Pc a lo mejor deberías sustituir la Coma (,) por Punto y Coma (;).

Suerte.
Un Saludo.
Arriba
MexMan70 Ver desplegable
Colaborador
Colaborador


Unido: 17/Julio/2007
Localización: DarkSide
Estado: Sin conexión
Puntos: 9227
Enlace directo a este mensaje Enviado: 11/Abril/2016 a las 22:31
Es muy sencillo el error.

Primero: No dejes espacios en los nombres de l@s Tablas/Campos
 ...[Estructura_Salarios]!AquiHayUnEspacio[Costo_HRecargo_35%]

Segundo: Usa la sintaxis adecuada y cierra los paréntesis abiertos
... *[Estructura_Salarios]![Costo_HRecargo_35%]))


Editado por MexMan70 - 11/Abril/2016 a las 22:32
OneDrive: http://sdrv.ms/Vk6eJd
Arriba
esocampo Ver desplegable
Nuevo
Nuevo


Unido: 23/Octubre/2014
Localización: Colombia
Estado: Sin conexión
Puntos: 23
Enlace directo a este mensaje Enviado: 11/Abril/2016 a las 22:35
He realizado las correcciones de acuerdo a sus aportes y sigue sin funcionar
en cuanto a la configuración del PC el operador es , no ;

Abril:SiInm([Consolidado_Recargos]![Cod]=10,[Consolidado_Recargos]![Total_Abril]*[Estructura_Salarios]![Costo_HRecargo_200%],SiInm([Consolidado_Recargos]![Cod]=20,[Consolidado_Recargos]![Total_abril]*[Estructura_Salarios]![Costo_HRecargo_35%],[Consolidado_Recargos]![Total_Abril]*[Estructura_Salarios]![Costo_HRecargo_35%]))
Arriba
MexMan70 Ver desplegable
Colaborador
Colaborador


Unido: 17/Julio/2007
Localización: DarkSide
Estado: Sin conexión
Puntos: 9227
Enlace directo a este mensaje Enviado: 11/Abril/2016 a las 22:42
Analizando un poco mas profundamente tu operación veo lo siguiente:

* Repites en todas las operaciones el campo Total_Abril, puedes dejarlo afuera pues ese es el campo base para el calculo. Usa (seleccionando) solo en campo "variable" para realizar la operación:
Expr1: [Consolidado_Recargos]![Total_Abril]*SiInm([Consolidado_Recargos]![Cod]=10,Estructura_Salarios]![Costo_HRecargo_200%],SiInm([Consolidado_Recargos]![Cod]=20,[Estructura_Salarios]![Costo_HRecargo_35%],[Estructura_Salarios]![Costo_HRecargo_35%]))

* Si vas a tener solo dos supuestos en el campo [Cod] (10 y 20) entonces evalúa el primero y usa a rajatabla el segundo (Si no es blanco, es negro).
Expr1: [Consolidado_Recargos]![Total_Abril]*SiInm([Consolidado_Recargos]![Cod]=10,[Estructura_Salarios]![Costo_HRecargo_200%],[Estructura_Salarios]![Costo_HRecargo_35%])
OneDrive: http://sdrv.ms/Vk6eJd
Arriba
esocampo Ver desplegable
Nuevo
Nuevo


Unido: 23/Octubre/2014
Localización: Colombia
Estado: Sin conexión
Puntos: 23
Enlace directo a este mensaje Enviado: 11/Abril/2016 a las 23:23
Gracias por las recomendaciones, pero el tema sigue sin funcionar

en cuanto a la observación de MexMan70 son 3 condicionales 10,20,30 esto dejando la tercera a rajatabla.
access me coloca el cursor como error justo despues de la condicion de Cod=10 no se si alli esta el mehoyo del asunto.
Arriba
esocampo Ver desplegable
Nuevo
Nuevo


Unido: 23/Octubre/2014
Localización: Colombia
Estado: Sin conexión
Puntos: 23
Enlace directo a este mensaje Enviado: 11/Abril/2016 a las 23:58
hola

ya lo resolvi,  un asunto de parentesis

gracias a Todos
el resultado final es

Abril: SiInm(([Consolidado_Recargos]![Cod]=10),([Consolidado_Recargos]![Total_Abril]*[Estructura_Salarios]![Costo_HRecargo_200%]),SiInm(([Consolidado_Recargos]![Cod]=20),([Consolidado_Recargos]![Total_abril]*[Estructura_Salarios]![Costo_HRecargo_35%]),[Consolidado_Recargos]![Total_Abril]*[Estructura_Salarios]![Costo_HRecargo_210%]))
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable