** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Consulta dependiendo de datos secundarios
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoConsulta dependiendo de datos secundarios

 Responder Responder
Autor
Mensaje
LuisR Ver desplegable
Asiduo
Asiduo


Unido: 22/Julio/2013
Localización: España
Estado: Sin conexión
Puntos: 351
Enlace directo a este mensaje Tema: Consulta dependiendo de datos secundarios
    Enviado: 09/Agosto/2019 a las 18:02
Buenas tardes, 

No sé si el título es comprensible la cuestión.

Tengo una tabla "cliente" con una hoja secundaria de datos "facturas". Necesito hacer una consulta que extraiga por ejemplo, los clientes a los que no se les ha facturado nada en determinado tiempo.

Agradezco la ayuda, un saludo

Luis
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1510
Enlace directo a este mensaje Enviado: 09/Agosto/2019 a las 18:41
Con el asistente de consultas puedes crear una consulta de no coincidentes:

- https://support.office.com/es-es/article/comparar-dos-tablas-y-buscar-registros-no-coincidentes-cb20ad48-4eba-402a-b20d-eaf10a5d1cb4
Arriba
LuisR Ver desplegable
Asiduo
Asiduo


Unido: 22/Julio/2013
Localización: España
Estado: Sin conexión
Puntos: 351
Enlace directo a este mensaje Enviado: 09/Agosto/2019 a las 19:59
Te agradezco la respuesta.

Podemos cerrar el hilo.


Arriba
LuisR Ver desplegable
Asiduo
Asiduo


Unido: 22/Julio/2013
Localización: España
Estado: Sin conexión
Puntos: 351
Enlace directo a este mensaje Enviado: 13/Agosto/2019 a las 18:31
Buenas tardes,

Siguiendo las instrucciones he creado la consulta, buscando registros no coincidentes.
El problema es que me devuelve los datos a los que nunca se les ha hecho factura, lo que necesito es que la respuesta sean los datos de los clientes a los que no se les ha hecho factura en los últimos 6 meses, por ejemplo.


Esto es lo que tengo, en slq... 

SELECT Pedidos.Id, Clientes.Cliente, Pedidos.[ID cliente], Pedidos.[ID producto], Pedidos.[Tipo Gestión], Pedidos.Fecha, Facturas.Id_pedido, Pedidos.[Estado pedido]
FROM Clientes INNER JOIN (Pedidos LEFT JOIN Facturas ON Gestiones.[Id] = Facturas.[Id_pedido]) ON Clientes.Id = Pedidos.[ID cliente]
WHERE (((Pedidos.Fecha)<Date()-180) AND ((Facturas.Id_pedido) Is Null) AND ((Pedidos.[Estado pedido])="activa"));

Creo que la clave está en...

((Facturas.Id_pedido) Is Null)



Agradezco la ayuda, un saludo


Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1510
Enlace directo a este mensaje Enviado: 14/Agosto/2019 a las 00:28
Como precisas datos de varias tablas, yo lo haría paso a paso (o con varias consultas):

1. Una consulta que devuelva las facturas de los últimos 180 días y, si es necesario, con estado activo.

2. Con la consulta anterior y la tabla de los clientes, usar el asistente para encontrar los clientes que no tienen facturas.

3. A partir de la consulta anterior, agregar las tablas que sean necesarias para ver todos los datos que necesites.
Arriba
LuisR Ver desplegable
Asiduo
Asiduo


Unido: 22/Julio/2013
Localización: España
Estado: Sin conexión
Puntos: 351
Enlace directo a este mensaje Enviado: 15/Agosto/2019 a las 16:37
¡No se me había ocurrido!!!

Creo que es buena idea, mañana lo pruebo y te confirmo que es la solución.

Te agradezco la respuesta


Arriba
LuisR Ver desplegable
Asiduo
Asiduo


Unido: 22/Julio/2013
Localización: España
Estado: Sin conexión
Puntos: 351
Enlace directo a este mensaje Enviado: 19/Agosto/2019 a las 19:54
Resuelto. Podemos cerrar el post.

He hecho como sugería Pitxiku,

1 una consulta: facturas emitidas en los últimos X días (X, es un campo en determinado formulario)
2 otra consulta: datos no coincidentes, extrae los clientes cuyo Id no está en el listado de la consulta anterior. Dentro de ésta, otro criterio, el de fecha. No queremos que los clientes recién insertados (a los que todavía no se les ha emitido factura) dejen de estar en el listado de clientes activos, por caducidad.

Asombrado por el acertado criterio de Pitxiku y orgulloso por el resultado en la base de datos.

Gracias, un saludo a todos.


Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable