Access - Contar registros por fecha

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 5 puestos en Access (en relación al último mes)
Gráfica de Access

Contar registros por fecha

Publicado por Twuggy (2 intervenciones) el 26/02/2019 18:55:03
Buenas tardes.
Me estreno con este post en el foro ya que tengo un problema con una BBDD access para contar registros.
Tengo una tabla con una serie de campos donde guardo información de los envíos que realiza una tienda. De esta tabla, de toda la información que contiene me interesa sacar un recuento de envíos según unas condiciones.
Hasta ahora me conformaba con una consulta anidada que me sacaba el resumen por meses y me lo mostraba, pero ahora necesito añadirle una serie de condicionantes que hace que no consiga hacerlo. Después de esta parrafada de presentación procedo a ser mas explícito:

Hasta ahora mediante la siguiente consulta me apañaba:
Necesidades: Saber los envíos que realizo cada mes de una ciudad a otra concreta, ya que la cartera de clientes estaba centralizada en pocas ciudades, por lo que con pocas consultas me era suficiente y no muy engorroso.

Select format(FechaEnvio,'mmm' AS Mes, COUNT(*) AS Pedidos
FROM MiTienda
WHERE CiudadEnvio LIKE 'SE' AND CiudadRecibe 'MA'
GROUP BY Month(FechaEnvio),Format(FechaEnvio,'mmm')
ORDER BY Month(FechaEnvio) UNION SELECT 'EnviosTotales' AS Mes, COUNT(*)
FROM MiTienda WHERE CiudadEnvio LIKE 'SE' AND CiudadRecibe 'MA';

DEVUELVE:

| MES | PEDIDOS |
''''''''''''''''''''''''''''''''''''''''''''
| ene | 1. |
''''''''''''''''''''''''''''''''''''''''''''
| feb | 20 |

En la actualidad necesito ejecutar el mismo análisis pero con una combinación de ciudades (análisis de tiendas ubicadas en diferentes ciudades) mayor, unas 15 combinaciones. Había pensado ir almacenando esta misma consulta en una tabla pero no se de que manera simplificar lo que ahora me suponen 15 consultas por separado.
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Contar registros por fecha

Publicado por Norberto (753 intervenciones) el 27/02/2019 12:00:35
Hola.

No sé si las combinaciones de envío-destino son fijas o podría darse cualquier combinación. En cualquier caso se me ocurren varias formas de hacerlo. Sé un poco más explícito y te digo la que, creo, sería la más adecuada.

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 3
Ha disminuido su posición en 5 puestos en Access (en relación al último mes)
Gráfica de Access

Contar registros por fecha

Publicado por Twuggy (2 intervenciones) el 27/02/2019 16:33:58
Buenas!!!
Ante todo muchas gracias por su ayuda, es de agradecer.
Intento explicarme mejor y la mejor manera creo q es un ejemplo.
Ahora analizo los datos de envío entre:
Barcelona- Almeria
Barcelona - Coruña
Barcelona - Badajoz
Barcelona - Cadiz
Cadiz - Almeria
Murcia - Madrid
Alicante - Madrid
Albacete - Cordoba

Esto es extraído de una tabla que contiene muchos registros de diversos orígenes y destinos. Hasta ahora lo hacia con consultas individuales ya que no son muchas y no encuentro una manera de automatizar esos cruces (y como se el contenido de las tablas, pues me facilita el trabajar con los valores directos). Ahora el cruce de ciudades que tengo que analizar es mayor, y son ciudades diferentes a las que ya analizaba, por lo que si sigo haciendo lo mismo, aumento el numero de consultas. Y esto no me parece viable si tengo que seguir aumentando el numero de ciudades .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Contar registros por fecha

Publicado por Norberto (753 intervenciones) el 11/03/2019 12:00:54
Hola de nuevo:

La mejor opción que veo es que crees un formulario con dos listas. La primera para la ciudad de origen y la segunda para la de destino.

Supongamos que el formulario se llama Parámetros Consulta; la primera lista, lstCiudadOrigen y la segunda, lstCiudadDestino.

En tu consulta deberías de cambiar los condicionantes de la siguiente manera:

1
2
3
4
5
6
7
Select format(FechaEnvio,'mmm' AS Mes, COUNT(*) AS Pedidos
FROM MiTienda
WHERE CiudadEnvio = [Forms]![Parámetros Consulta]!lstCiudadOrigen AND CiudadRecibe = [Forms]![Parámetros Consulta]!lstCiuadDestino
GROUP BY Month(FechaEnvio),Format(FechaEnvio,'mmm')
ORDER BY Month(FechaEnvio)
UNION SELECT 'EnviosTotales' AS Mes, COUNT(*)
FROM CiudadEnvio = [Forms]![Parámetros Consulta]!lstCiuadOrigen AND CiudadRecibe = [Forms]![Parámetros Consulta]!lstCiuadDestino;

En el fomulario puedes poner un botón de comando que te abra la consulta o el formulario que muestre sus datos, en su caso.

Si al abrir la consulta te pide que introduzcas el valor de algún parámetro es porque o el formulaio está cerrado o has escrito algo incorrectamente.

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar