Valor aparece repetido en campo combinado

Soy novato en Access, pero despues de mucho esfuerzo pude hacer mi base de datos. Cree una tabla con muchos campos, los cuales algunos me sirven para crear una consulta y así hacer filtros a la hora de generar un informe para imprimir. Mi problema es que en el cuadro combinado (el filtro) me aparecen los valores repetidos. Por ej: uno de los campos es lugar, y varias personas comparten un lugar (ej, Buenos Aires) entonces cuando voy al campo combinado y apreto la flecha para desplegar el menú, me aparece un montón de veces Buenos Aires (las veces que aparece en la tabla) en lugar de aparecer una sola vez. Solo me pasa con un formulario. Ya he revisado las propiedades de los otros formularios donde si funciona todo bien pero no veo diferencia alguna con el formulario que no funciona. ¿Alguna solución?

3 Respuestas

Respuesta
1

Las respuestas que le dan son acertadas, pero no es la forma de programas un cuadro combinado. El problema radica en que no están bien diseñada la base de datos, es decir, no es un sistema relacional. Imagínese si tuviera 1 millón de registros ¿Cuánto tarda en filtrar la información el cuadro combinado? y ni se diga agrupando...

Observe este estas tablas

Tabla ciudades

TABLA PERSONAS

Observe que por cada ciudad existen más de 1 persona.

Consulta personas vs ciudades

Con esta consulta puede diseñar el informe, puede agruparlo por idciudad e imprimir solo una etc.

Formulario para elegir la ciudad a imprmir

Resumiendo, es más rápido llenar el cuadro combinado con 20 o 100 ciudades que filtrarlo con base en todos los registros. Donde se debe tener bastante cuidado es cuando trabajemos con información alojada en un servidor de datos. Esta es una recomendación, pero tenga presente que las respuestas que le dieron satisfacen su pregunta.

Muchas gracias a ti y a todos los que respondieron. Una vez terminado este trabajo con esta base, voy a pensar en hacer como tú dices. Se ve más eficiente y sencillo. Gracias!

Respuesta
1

Se tendrá que modificar el origen de datos para el ComboBox que se utiliza para el filtro.

Si su origen es una/la tabla, se tendrá que hacer una consulta de selección basada en esa misma tabla y (en las propiedades de la consulta) activar la opción de 'registros únicos'.

El resto es valido, con esta consulta solo se obtiene un conjunto de registros sin repeticiones (que es lo que se desea para el filtro).

Una consulta como esta:

Select Pais From TblPaises

Devolverá todos los registros de la tabla (con repeticiones si las hay)

Si a la misma consulta se le activa la opción 'valores únicos':

Select DISTINCT Pais From TblPaises

Se obtiene un subconjunto sin repeticiones

Y si lo que se desea es obtener un subconjunto de registros (con todos o parte de sus campos) sin repeticiones la opción es 'registros únicos' (DISTINCTROW)

Las consultas tienen por diseño propiedades útiles que se deberían conocer para poder aplicarlas como alterativa a consultas mas complejas y a veces innecesarias.

Respuesta

Otra forma

Si construyo la consulta sin decirle nada

El resultado es que me repite tantos países como registros haya

Pero si en el diseño de la consulta pulso el botón señalado con la flecha, automáticamente me los agrupa

Y el resultado es

No se repite ninguno. La ventaja de agrupar es que puedes seleccionar que te cuente cuantos registros hay con ese país que ves. Sumar, etc.

Al abrirla

Hay 11 registros con país=Alemania, 3 con país=Argentina, etc.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas