Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Ayuda con SiInm

751 views
Skip to first unread message

tebitoo

unread,
May 30, 2007, 9:13:42 PM5/30/07
to
Hola grupo:
En un informe tengo una función para contar ciertos registros que
cumplan con la condicion, es asi:

=Suma(SiInm([Turno]>0;SiInm([En01]=0;SiInm([Sa01]=0;1;0))))

Hasta aqui todo bien, me cuenta todos los valores cuyo Turno es mayor
que 0, y que presenten 0 en el campo En01 y 0 en el campo
Sa01......pero
Me acabo de dar cuenta que tengo que excluir los campos cuyo Turno sea
7 y 8...como lo agrego a la funcion???
Algo asi como:

=Suma(SiInm([Turno]>0;SiInm([Turno]"no es"7;SiInm([Turno]"no
es"8;SiInm([En01]=0;SiInm([Sa01]=0;1;0))))))))

Lo que no sé es como reemplazar la parte de "no es" ya que obviamente
eso no sirve jaja..

Saludos y ojalá me ayuden con mi inquietud

Ju@nk

unread,
May 31, 2007, 1:39:53 AM5/31/07
to
Puedes utilizar and con el iif, ej.

iif([Id]>=5003 and [id]<=5006;"Si";"No")

castellanizado

SiInm([Id]>=5003 Y [id]<=5006;"Si";"No")

--
**
Colabora con el grupo, contesta a este mensaje y dinos si te sirvió o no la
respuesta dada.
Muchas gracias.

Salu2
Ju@nK [MVP Access] [DCE2003 ***] + VSTO [DCE2005 **]
Correos personales o preguntas particulares en mi grupo
http://groups.google.es/group/juank
www.juank.tk
www.mvp-access.com
¿Que es un MVP?, enterate en http://mvp.support.microsoft.com

Nota: El contenido de este mensaje, así como el código
fuente que pueda ir incluido en el mismo, se proporciona
«COMO ESTÁ», sin garantías de ninguna clase, y no otorga
derecho alguno. Usted asume cualquier riesgo al poner en
práctica, utilizar o ejecutar la sugerencia del presente mensaje.
**
"tebitoo" <teb...@gmail.com> escribió en el mensaje
news:1180574022.1...@h2g2000hsg.googlegroups.com...

Marc Hdez

unread,
May 31, 2007, 1:47:34 AM5/31/07
to
Hola,
quizá alguien te pueda aportar la función que precisas, pero te propongo
algo simple:
dejas lo que tenías y luego restas los valores con 7 y 8.

algo así: (sumas>0 ...)- ( (sumas=7...) + (sumas=8...))

espero te sirva
--
Saludos,
Marc Hdez.
Tarragona.
_

"tebitoo" <teb...@gmail.com> escribió en el mensaje
news:1180574022.1...@h2g2000hsg.googlegroups.com...

tebitoo

unread,
May 31, 2007, 10:17:20 AM5/31/07
to
Pero no hay ninguna funcion que permita hacer un "No es"??
O algo que vaya antes de "[Turno]=7" y lo reverse???
Otra cosa...la función Nz para que sirve?? no se podría aplicar
aqui???

Saludos

Patxi Sanz

unread,
May 31, 2007, 12:34:28 PM5/31/07
to
Hola Tebitoo:

Como dice Ju@nk, puedes usar la lógica:

=Suma(SiInm([Turno]>0 Y ([Turno] < 7 O [Turno] >
8);SiInm([En01]=0;SiInm([Sa01]=0;1;0))))

Es decir, que turno sea mayor que 0 y además, que sea menor que 7 o mayor
que 8.

Nz sirve para disponer de un valor válido en caso de que el control, campo o
variable tenga un valor nulo. Si tu campo Turno ya tiene un valor, devolverá
ese valor.

--
Un saludo,


Patxi Sanz
patxisanz[ARROBA]yahoo[PUNTO]es
Tudela (NA)

sylvi...@gmail.com

unread,
Jun 24, 2016, 7:49:27 PM6/24/16
to
Buen día, necesito ayuda con este mensaje, intento ejecutar la siguiente consulta (SELECT Datos.sagrup, Datos.sDescAgrup, recorridos.Zona_Planta, recorridos.SIGII, recorridos.Planta, recorridos.Tipo, Datos.fserv, Datos.recorrido, recorridos.Zona AS Expr1, [SiInm]([Fserv]>=#11/14/2006#,[paradas_cli]+1,[paradas_cli]-1) AS paradas, Datos.h_inicio, [SiInm](Datos!h_ini_reco>0,Datos!h_ini_reco,ValorHora(Datos!h_inicio)+0,104166666666667)*24 AS IniREco, [SiInm](Datos!h_fin_reco>0,Datos!h_fin_reco,ValorHora(Datos!h_fin)+0,104166666666667)*24 AS FinREco, IIf([FinReco]>[IniReco],[FinReco]-[IniReco],24-[IniReco]+[FinReco])*1 AS DReal, [SiInm](Longitud(Datos!h_ini_opa)>0,ValorHora([h_ini_opa]),0)*24 AS IniOpe, [SiInm](Longitud(Datos!h_Fin_opa)>0,ValorHora([h_Fin_opa]),0)*24 AS FinOpe, [FinOpe]-[IniOpe] AS DOpe, [DReal]-[DOpe] AS DSinOpe, Int((([fserv])/365.26-Int(([fserv])/365.26))*52.1785714)+1 AS Semn, IIf(Weekday([fserv])=1 Or Weekday([fserv])=7 Or [TFeriados!Detalle]="X","FERIADO",IIf([TFeriados!Detalle]="Z","DIA ESPECIAL","HABIL")) AS TipoDia, [SiInm](DíaSemana([Fserv])=1,7,[SiInm](DíaSemana([Fserv])>1,DíaSemana([Fserv])-1)) AS numdia, Year([Fserv]) & " " & [Sem_Ent] AS SemnAno, Año([Fserv]) & " " & [SiInm](Mes([Fserv])<10,"0" & Mes([Fserv]),Mes([Fserv])) AS AnoMes, [h_inicio]*24 AS hinicio, fechas.Sem_Ent, [fserv] & " " & [Recorrido] AS CodUni
FROM (recorridos INNER JOIN (TFeriados RIGHT JOIN Datos ON TFeriados.FechaFE = Datos.fserv) ON recorridos.Recorridos = Datos.recorrido) INNER JOIN fechas ON Datos.fserv = fechas.Fecha_dia
WHERE (((Datos.sagrup)<>"0") AND ((recorridos.Zona_Planta) Between [Desde Zona] And [Hasta Zona]) AND ((recorridos.SIGII) Between [Desde_Rubro] And [Hasta_Rubro]) AND ((recorridos.Planta) Is Not Null) AND ((Datos.fserv) Between [Desde Fecha] And [Hasta Fecha] Or (Datos.fserv) Between [DFecha2] And [HFecha]) AND ((Datos.h_inicio) Is Not Null) AND ((Datos.tipo)=1));)

y me aparece el mensaje "La función SiInm no está definida en la expresión" y no se ejecuta la consulta.
no manejo mucho Access, pero necsito solucionar este problema.gracias

José Mª Fueyo

unread,
Jul 5, 2016, 2:46:05 AM7/5/16
to
Hola
Publicas en un hilo que tiene casi diez años. No es recomendable, ya que puede que se quede perdido y sin respuesta. Busca en los grupos a ver sí hay preguntas similares con respuesta, y sí no, crea tu propio hilo.
Tu problema es que intentas usar la función en castellano dentro de una sentencia SQL. En ese caso tienes que usar la función en inglés (IIf).

Salu2,
José Mª Fueyo
0 new messages