¿Cómo se puede realizar una consulta en esta base de datos para que se vean los clientes diferentes?

Vamos a ver, tengo un colega que tiene una BD para su almacen, con una tabla en la que el mete los siguientes datos:
Cuando llega un cliente y compra un producto rellena un registro con los datos del cliente y los del producto, de tal forma que si el cliente llega otro día y compra un nuevo producto rellena un nuevo registro con los datos del producto y con los del cliente de nuevo.
Ya se que esta hecha mal la BD ya que debería de haber hecho una tabla para los clientes y otra para los productos, pero no la tiene así.
Mi pregunta es: este amigo quiere una consulta o un formulario en el que le salgan solamente aquellos clientes que son diferentes, para ver el total de clientes distintos que tiene.
Yo creo que lo tendría que hacer a través de la programación, pero la verdad es que no se como.
Te agradecería que me contestases con detalles, por favor, ya que es un compromiso que tengo que cumplir.
Respuesta
1
Pues tienes una movida guapa, porque si tu amigo le puso al mismo cliente Paco Pérez y después otro día Paco Perez (sin tilde), el PC nunca te devolverá los datos correctos. Por supuesto dile a tu colega que no siga usando esa base de datos porque no le va a dar más que quebraderos de cabeza, y para saber cuantos clientes tiene que haga un informe y los ordene por nombre o lo que sea y lo vaya mirando uno a uno a ojímetro. Otra forma no hay.
Suerte, la vais a necesitar.
Juan

4 respuestas más de otros expertos

Respuesta
1
Es Fácil, mediante una consulta de selección, usando la opción agrupar por cliente, donde lo que tendrías que hacer en principio es seleccionar la tabla que contiene los datos que mencionas, posicionarte en el Ménu Insertar en una consulta.
Al entrar en la Pantalla de Consulta, deberás ver el menú donde dice ver----agrupar
Entonces de esta manera darás doble click a cada uno de los campos que vienen en tu tabla como por ejemplo el nombre del cliente.
Darás un click en el botón rojo que tiene un signo de admiración para que se ejecute la consulta y te muestre unicamente los clientes diferentes, sin repetirlos.
Respuesta
1
Se puede hacer por programación y por consulta directamente. Te mando un ejemplo sencillo de como se haría por consulta.
En realidad son dos consultas: Consulta1 y consulta2. Tengo una tabla llamada TABLA1(Código, Nombre). En esta tabla ingreso varios registros;
Código Nombre
102030 Julio
906020 Andres
713906 Julio Arango
343789 Oscar
713906 Julio Cesar Arango
906020 Andres Zuluaga
102030 Juan Camilo
Mira que hay varios que tienen el codigo duplicado. Entonces creo CONSULTA1 como una instruccion SQL: SELECT DISTINCT Tabla1.Codigo
FROM Tabla1;
Mira la clausula DISTINCT, eso me asegura que me muestra los códigos distintos.
Se crea la CONSULTA2, que me muestra el código y su respectivo nombre. En este caso, si hay varios clientes diferentes con el mismo código, me muestra el primero que encuentra. La instrucción SQL de CONSULTA2 es:
SELECT Consulta1.Codigo, DLookUp("Nombre","Tabla1","Codigo='" & [codigo] & "'") AS Nombre
FROM Consulta1;
Respuesta
1
Puedes hacer una consulta normal y corriente donde elijas los campos que quieras del cliente y en las propiedades de la consulta (botón derecho) le pones registros únicos. Creo que con eso t debería funcionar.
Respuesta
1
Lo que pides se puede hacer por Consulta pero necesitas tener al menos un campo que identifique los clientes repetidos por ejemplo el numero de Cliente. Partiendo de esa premisa, te haces una consulta normal con los campos que quieres ver, por supuesto incluyes el campo que lleva el numero de cliente, cuando la tengas creada le das a la Opción de Totales (es la que parece una E rara) por defecto el te pondrá "Agrupar Por" y en el campo que lleva el numero le cambias y le dices "Cuenta", la ejecutas y verás que te dice el numero de Veces que cada cliente está repetido pero solo te aparecerán una vez los datos de clientes, no debes hacerlo con muchos campospara evitar problemas, pruébalo y me dices algo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas