Llevo todo el día intentando solucionar un problemilla que tengo con
una consulta, pero no lo he logrado solventar, así que me he decidido
a utilizar el comodín de este grupo tan fantastico que siempre me ha
ayudado.
Intentaré explicarme: Tengo un campo en la consulta denominado
"Positivo/Negativo" que lo tengo agrupado por el criterio
"Positivo" (es decir, unicamente quiero que me encuentre los
positivos, ya que los negativos y los NS NC no me interesan).
El siguiente campo es el mismo campo,"Positivo/Negativo", pero en este
caso tengo selecionada la opción "cuenta" pq me interesa saber
unicamente el nº de "Positivos" que tengo por semana.
Pues bien, al ejecutar la consulta me he dado cuenta que cuando el
campo no tiene ningún resultado no me muestra nada, y a mi me
interesaria que saliese un 0. (pq, p.ej, no me sale la semana 33, done
tendría que aparecer el campo positivo y al lado un 0)
Leyendo un poco por aquí y por alla, he visto que mencionabaís la
funcion NZ([Positivo/Negativo];0), y la he probado, pero no me ha
servido. Tambien he probado la opción SIInm(Es nulo[Positivo/Negativo];
0;[Positivo/Negativo]), pero tampoco me ha servido.
Total, que no lo consigo. A ver si me podeís echar un lazo para
convertir los valores nulos en 0 , por favor. Muchas gracias! Ah,os
pongo la consulta en SQL por si os sirve de ayuda:
SELECT T_Laborables.año AS Año, Tabla1.[Positivo/Negativo], Count
(Tabla1.[Positivo/Negativo]) AS [CuentaDePositivo/Negativo],
T_Laborables.semana
FROM Tabla1 INNER JOIN T_Laborables ON Tabla1.[Fecha] =
T_Laborables.fecha
GROUP BY T_Laborables.año, Tabla1.[Positivo/Negativo],
T_Laborables.semana
HAVING (((Tabla1.[Positivo/Negativo])="positivo"))
ORDER BY T_Laborables.año DESC;
Resulta que Verdadero vale -1 y Falso vale 0, de manera que sumando los
verdaderos (-1) tendrás, en negativo, el número de registros que tienen
valor verdadero.
--
Saludos
José Bengoechea Ibaceta [MS-MVP Access]
http://jbengoechea.com/
http://jbchea.net
http://geeks.ms/blogs/access
"mulbieh" <must...@gmail.com> escribió en el mensaje de noticias
news:20617065-9e0a-4fc5...@h20g2000yqn.googlegroups.com...
El campo "Positivo/Negativo" no tiene formato "Si/No", sino que los
datos se entran en formato texto mediante un desplegable (donde están
las opciones "positivo", "negativo" y "NS NC").
Tal y como lo tengo ahora ( es decir, con la opcion CUENTA) en ppio el
resultado que me salé es el que busco, pero me encuentro que cuando en
una semana no ha habido" positivos", entonces no me muestra esa semana
y a mi me gustaría que saliese 0, en lugar de nulo.
Por ejemplo, y en aras a hacerlo más gráfico, pongo el resultado que
me sale cuando ejecuto la consulta de las primeras 9 semanas:
Año Positivo/Negativo CuentaDepositivo/negativo semana
2007 POSITIVO 13 1
2007 POSITIVO 17 2
2007 POSITIVO 28 3
2007 POSITIVO 33 4
2007 POSITIVO 30 5
2007 POSITIVO 38 6
2007 POSITIVO 38 8
2007 POSITIVO 32 9
Apreciaras que la semana 7 no aparece. Eso es debido a que en esa
semana no hubo "positivos". Pues bien, a mi me gustaría que en lugar
de no aparecer esa semana (tal y como ocurre ahora) apareciese tal y
como sigue a continuación:
2007 POSITIVO 38 6
2007 POSITIVO 0 7
2007 POSITIVO 38 8
¿Es posible conseguirlo?
Muchas gracias
SELECT T_Laborables.año AS Año, Tabla1.[Positivo/Negativo], nz(Count
(Tabla1.[Positivo/Negativo]),0) AS [CuentaDePositivo/Negativo],
T_Laborables.semana
FROM Tabla1 INNER JOIN T_Laborables ON Tabla1.[Fecha] =
T_Laborables.fecha
GROUP BY T_Laborables.año, Tabla1.[Positivo/Negativo],
T_Laborables.semana
HAVING (((Tabla1.[Positivo/Negativo])="positivo"))
ORDER BY T_Laborables.año DESC;
--
--
**
Salu2/Regards
Ju@nK [MVP Access] 2006/08
[DCE2003 ***] + VSTO [DCE2005 **]
http://juank.mvps.org http://www.juank.es
Correos personales o preguntas particulares en mi grupo
http://groups.google.es/group/juank?hl=es
www.juank.tk
¿Que es un MVP?, entérate en http://mvp.support.microsoft.com
**
"mulbieh" <must...@gmail.com> escribió en el mensaje
news:be0a1835-1c5d-4da3...@k41g2000yqn.googlegroups.com...
Supongo que debe ser algo mal que he hecho en mi consulta, y
posiblemente no me haya dado cuenta, pero no se me ocurre donde puede
estar el error.
Incluso he probado con la función SiInm, pero tampoco me ha funcionado
o quizas no he sabido definirla correctamente. Si se os ocurre donde
puede estar el error os estaré muy agradecido.
Gracias y saludos
En vez de usar un INNER JOIN (devolver sólo los registros que tengan datos
en las 2 tablas), puedes usar un LEFT JOIN (devolver todos los registros de
la tabla T_Laborables y sólo los registros de la tabla Tabla1 que estén
relacionados).
--
Un saludo,
Patxi Sanz
patxisanz[ARROBA]yahoo[PUNTO]es
http://es.geocities.com/patxisanz/index.html
Tudela (NA)
Lo he probado con LEFT JOIN y con RIGHT JOIN , y los datos siguen
apareciendo igual.Sigo probando cosas, pero de momento nada. Si avanzo
algo ya lo comentaré, pero no consigo localizar el error.
Saludos
Si estoy en lo cierto con los registros que te quedan puedes agrupar contar
y lo que quieras, pero recuerda que ya NO tienes registros con valores
distintos a positivo.
Una opcion puedes ser:
En tu consulta NO filtres con el valor positivo.
Agrega a la consulta un campo calculado mas menos como sigue:
ParaContar: SiInm(TuCampo = "Positivo";1;0)
Ahora agrupa como necesites y suma este nuevo campo calculado
SALUDOS.
julian-Valencia-España
http://ijulian.iespana.es
http://www.tinyurl.com/julianvalencia
Tengo un formulario donde, entre los muchos campos que hay, existe
uno denominado "Positivo/Negativo", en el cual aparece un desplegable
en el que puedes seleccionar 3 posibles valores (a saber: "Positivo",
"Negativo", y "NsNc"). Pues bien, mi intención era crear una consulta
donde poder cribar por semana cuantos "Positivos" han entrado durante
un año en concreto.
Para ello había creado la siguiente consulta.
Año Positivo/negativo Positivo/negativo
Semana
Agrupar por Agrupar por Cuenta
Agrupar por
"Positivo"
Si ejecuto esta consulta las semanas donde no han habido "positivos"
no las informa ,es decir, no pone "0", y p.ej, pasa de la semana 6 a
la 8, y la 7 no la informa, y asi tb me sucede con otras semanas.
Pues bien, al ejecutar la consulta que propone julian-Vlc-Sp consigo
que , p.ej, la semana 7 efectiavmente aparezca (con valor "0"), pero
cuando intento agrupar los valores "1" (los equivalentes al
"positivo"), entonces me vuelve a desaparecer las semanas donde no ha
habido positivos. Por eso decía que creo entender tu sugerencia, pero
no se si he entendido muy bien el desarollo de tu idea.
En cualquier caso, muchas gracias nuevamente!
año semana positivo/negativo
2007 4 positivo
2008 1 positivo
2008 1 negativo
2008 2 positivo
2008 2 positivo
2008 3 negativo
2008 3 ns/nc
Prueba la siguiente consulta:
SELECT Tabla1.año, Tabla1.semana,
Sum(IIf([positivo/negativo]="positivo",1,0)) AS Positivos
FROM Tabla1
GROUP BY Tabla1.año, Tabla1.semana
HAVING (((Tabla1.año)=[indique año]));
SALUDOS.
julian-Valencia-España
http://ijulian.iespana.es
http://www.tinyurl.com/julianvalencia
SELECT T_Laborables.año AS Año, Tabla1.[Positivo/Negativo],
sum(iif(Tabla1.[Positivo/Negativo])="Positivo",1,0)) AS
[CuentaDePositivo/Negativo],
T_Laborables.semana
FROM Tabla1 RIGHT JOIN T_Laborables ON nz(Tabla1.[Fecha],T_Laborables.fecha)
=
T_Laborables.fecha
GROUP BY T_Laborables.año, Tabla1.[Positivo/Negativo],
T_Laborables.semana
ORDER BY T_Laborables.año DESC;
--
--
**
Salu2/Regards
Ju@nK [MVP Access] 2006/08
[DCE2003 ***] + VSTO [DCE2005 **]
http://juank.mvps.org http://www.juank.es
Correos personales o preguntas particulares en mi grupo
http://groups.google.es/group/juank?hl=es
www.juank.tk
¿Que es un MVP?, entérate en http://mvp.support.microsoft.com
**
"mulbieh" <must...@gmail.com> escribió en el mensaje
news:da035da9-bb62-4469...@13g2000yql.googlegroups.com...
Solo por curiosidad
¿Y mi propuesta? o ¿Acaso no se ve?
SALUDOS.
Julián-Valencia-España
http://www.tinyurl.com/julianvalencia
"Ju@nK [MVP 2006/8]" <con...@hotmail.com> escribió en el mensaje
news:%23qYXY4r...@TK2MSFTNGP03.phx.gbl...
--
--
**
Salu2/Regards
Ju@nK [MVP Access] 2006/08
[DCE2003 ***] + VSTO [DCE2005 **]
http://juank.mvps.org http://www.juank.es
Correos personales o preguntas particulares en mi grupo
http://groups.google.es/group/juank?hl=es
www.juank.tk
¿Que es un MVP?, entérate en http://mvp.support.microsoft.com
**
"julian-vlc-sp" <ijulianE...@iespana.es> escribió en el mensaje
news:Otl%238MtUJ...@TK2MSFTNGP03.phx.gbl...
Vale, mi propuesta muestra cero en aquellas semanas que tienen algo y que no
tiene positivos.
Si desea cero en aquellas semanas que no tienen positivos ni nada que os
haga caso que seguro que lo estáis orientando bien
SALUDOS.
Julián-Valencia-España
http://www.tinyurl.com/julianvalencia
"Ju@nK [MVP 2006/8]" <con...@hotmail.com> escribió en el mensaje
news:evgrtytU...@TK2MSFTNGP05.phx.gbl...
--
--
**
Salu2/Regards
Ju@nK [MVP Access] 2006/08
[DCE2003 ***] + VSTO [DCE2005 **]
http://juank.mvps.org http://www.juank.es
Correos personales o preguntas particulares en mi grupo
http://groups.google.es/group/juank?hl=es
www.juank.tk
¿Que es un MVP?, entérate en http://mvp.support.microsoft.com
**
"julian-vlc-sp" <ijulianE...@iespana.es> escribió en el mensaje
news:e377iruU...@TK2MSFTNGP05.phx.gbl...
Pues eso he querido escribir, que mi propuesta no cuenta esas semanas que no
tienen nada.
Que para mostrar esas que os haga caso a vosotros que lo estaréis orientando
bien
SALUDOS.
Julián-Valencia-España
http://www.tinyurl.com/julianvalencia
"Ju@nK [MVP 2006/8]" <con...@hotmail.com> escribió en el mensaje
news:uffQkkvU...@TK2MSFTNGP02.phx.gbl...
Ju@nK: He probado la SQL que me indicastes, pero el access no me
reconoce la parte relativa al RIGHT JOIN, ya que me indica que no
puede representarlo.
Es decir, cuando intento ejecutar la consulta el acces me indica que
no puede representar la formula "Nz(Tabla1.[Fecha
fax],T_Laborables.fecha)=T_Laborables.fecha.
Concretamente, si intento ir a la vista diseño,el mensaje que aparece
es el siguiente: " No se puede representar la expresión de la
combinación Nz(Tabla1.[Fecha fax],T_Laborables.fecha)
=T_Laborables.fecha en la Vista diseño".
Por el contrario, si intento ejecutar directamente la consulta desde
la SQL, entonces el acces se me queda bloqueado.
Estoy intentando cambiar los parametros de la relación en aras a ver
si asi desatasco el tema (es decir, en lugar de vincular ambas tablas
a través de la fecha, intentar hacerlo, p.ej, a traves del campo año),
pero no sé si conseguiré solventarlo.
TuTabla Empresa Dpto Telf1 Telf2 Telf3
Empresa1 Ventas 931111111 932222222
Empresa1 Compras 933333333
Empresa2 Dpto1 911111111 912222222 913333333
--
--
**
Salu2/Regards
Ju@nK [MVP Access] 2006/08
[DCE2003 ***] + VSTO [DCE2005 **]
http://juank.mvps.org http://www.juank.es
Correos personales o preguntas particulares en mi grupo
http://groups.google.es/group/juank?hl=es
www.juank.tk
¿Que es un MVP?, entérate en http://mvp.support.microsoft.com
**
"mulbieh" <must...@gmail.com> escribió en el mensaje
news:d73253a1-0d3d-4d3a...@k36g2000yqe.googlegroups.com...
Basicamente lo que he hecho es sumar el total de expdtes recibidos por
semana, y luego restar todos lo que no son "positivos" (es decir, los
"negativos" y los "NS NC", ya que de estos siempre hay y nunca puede
existir un 0). El resultante son precisamente los "positivos" por
semana que yo buscaba, de manera que aquellas semanas que no hubo
positivos me aparece 0 ( o,en ocasiones el resultado es menos X, pero
en estos casos lo que he hecho es aplicar un Siinm < 0 y ya está).
En cualquier caso, no me quería despedir sin agradeceros toda la ayuda
y apoyo que me habeís dado todos. Muchas muchas gracias!! .Como
siempre, solo puedo decir que sois un grupo fantastico con el que que
siempre se aprende algo. Eso seguro
Saludos
--
--
**
Salu2/Regards
Ju@nK [MVP Access] 2006/08
[DCE2003 ***] + VSTO [DCE2005 **]
http://juank.mvps.org http://www.juank.es
Correos personales o preguntas particulares en mi grupo
http://groups.google.es/group/juank?hl=es
www.juank.tk
¿Que es un MVP?, entérate en http://mvp.support.microsoft.com
**
"mulbieh" <must...@gmail.com> escribió en el mensaje
news:e8b08711-2e66-4fea...@r40g2000yqj.googlegroups.com...