Comparar dos tablas y buscar sólo datos coincidentes

A veces, quizás quiera revisar registros de una tabla de Access solo si existen registros correspondientes en otra tabla de Access que contiene uno o más campos con datos coincidentes. Por ejemplo, puede que quiera revisar los registros de empleado de empleados que han procesado al menos un pedido para determinar qué empleados optan a una bonificación. O, quizás quiera revisar la información de contacto de los clientes que viven en la misma ciudad que un empleado, de forma que pueda hacer coincidir empleados con clientes para reuniones en persona.

Cuando quiera comparar dos tablas de Access y buscar datos coincidentes, podrá:

  • Crear una consulta que combine campos de cada tabla donde esos campos contienen información correspondiente, mediante el uso de una relación existe o mediante una combinación que cree para el fin de la consulta. Este método proporciona un rendimiento óptimo (la velocidad con la que la consulta devuelve los resultados), pero no puede combinar campos que tengan tipos de datos diferentes.

  • Crear una consulta que compare campos mediante el uso de un campo como criterio para el otro. El uso de un campo como criterio para otro campo es, generalmente, más lento que el uso de combinaciones, porque estas eliminan las filas de los resultados de la consulta antes de que se lean las tablas subyacentes; mientras que los criterios se aplican a los resultados de la consulta después de que estas se lean. En cambio, puede usar un campo como un criterio de campo para comparar campos que tengan tipos de datos diferentes, cosa que no puede hacer con las combinaciones.

En este artículo se describe cómo comparar dos tablas para identificar datos coincidentes y se proporcionan datos de ejemplo que se pueden usar con procedimientos de ejemplo.

¿Qué desea hacer?

Comparar dos tablas mediante combinaciones

Comparar dos tablas usando un campo como criterio

Comparar dos tablas mediante combinaciones

Para comparar dos tablas mediante combinaciones, cree una consulta de selección que incluya ambas tablas. Si todavía no existe una relación existente entre las tablas de los campos que contienen los datos correspondientes, cree una combinación en los campos que quiere examinar para obtener coincidencias. Puede crear tantas combinaciones como quiera, pero cada par de campos combinados debe ser del mismo tipo de datos o compatible con este.

Supongamos que es un investigador institucional en una universidad y quiere ver cómo han afectado los últimos cambios en los planes de estudio del departamento de matemáticas a las calificaciones de los estudiantes. Está especialmente interesado en las calificaciones de los estudiantes que tienen asignaturas principales en matemáticas. Ya tiene una tabla que almacena los datos de las asignaturas principales y una tabla que almacena los datos de inscripción. Los datos de las calificaciones se almacenan en la tabla Inscripciones y los datos de las asignaturas principales se almacenan en la tabla Asignaturas principales. Para ver cómo han cambiado las calificaciones de las asignaturas principales de matemáticas desde los últimos cambios en los planes de estudio, necesita revisar los registros de la tabla inscripciones que tengan recursos correspondientes en la tabla asignaturas principales.

Preparar datos de ejemplo

En este ejemplo, puede crear una consulta que determina cómo han afectado los últimos cambios en los planes de estudio del departamento de matemáticas a las calificaciones de los estudiantes de esta asignatura. Use las dos tablas de ejemplo siguientes, Asignaturas principales e Inscripciones. Agregue estas dos tablas de ejemplo, Asignaturas principales e Inscripciones, a la base de datos.

Microsoft Office Access 2007 proporciona varias maneras de agregar estas tablas de ejemplo a una base de datos. Puede escribir manualmente los datos, puede copiar cada tabla a un programa de hoja de cálculo (como Microsoft Office Excel 2007) y, después, importar las hojas de cálculo a Office Access 2007, o bien, puede pegar los datos en un editor de texto, como Bloc de notas y, después, importar los datos de los archivos de texto resultantes.

Los pasos descritos en esta sección explican cómo escribir datos manualmente en una hoja de datos en blanco y también explica cómo copiar las tablas de ejemplo en Excel y, después, importar esas tablas en Access.

Asignaturas principales

Id. del alumno

Año

Asignatura principal

123456789

2005

Matemáticas

223334444

2005

Inglés

987654321

2005

Matemáticas

135791357

2005

Historia

147025836

2005

Biología

707070707

2005

Matemáticas

123456789

2006

Matemáticas

223334444

2006

Inglés

987654321

2006

Psicología

135791357

2006

Historia del arte

147025836

2006

Biología

707070707

2006

Matemáticas

Inscripciones

Id. del alumno

Año

Trimestre

Plan de estudios

Nº de curso

Calificación

123456789

2005

3

Matemáticas

221

A

123456789

2005

3

Inglés

101

B

123456789

2006

1

Matemáticas

242

C

123456789

2006

1

Matemáticas

224

C

223334444

2005

3

Inglés

112

A

223334444

2005

3

Matemáticas

120

C

223334444

2006

1

Políticas

110

A

223334444

2006

1

Inglés

201

B

987654321

2005

3

Matemáticas

120

A

987654321

2005

3

Psicología

101

A

987654321

2006

1

Matemáticas

221

B

987654321

2006

1

Matemáticas

242

C

135791357

2005

3

Historia

102

A

135791357

2005

3

Historia del arte

112

A

135791357

2006

1

Matemáticas

120

B

135791357

2006

1

Matemáticas

141

C

147025836

2005

3

Biología

113

B

147025836

2005

3

Química

113

B

147025836

2006

1

Matemáticas

120

D

147025836

2006

1

Estadística

114

B

707070707

2005

3

Matemáticas

221

B

707070707

2005

3

Estadística

114

A

707070707

2006

1

Matemáticas

242

D

707070707

2006

1

Matemáticas

224

C

Si quiere usar un programa de hoja de cálculo para introducir los datos de ejemplo, puede omitir la sección siguiente.

Escribir los datos de ejemplo manualmente

  1. Abra una base de datos nueva o existente.

  2. En la pestaña Crear, en el grupo Tablas, haga clic en Tabla.

    Imagen de la cinta de Access

    Access agrega una nueva tabla en blanco a su base de datos.

    Nota: No es necesario seguir este paso si abre una base de datos en blanco, pero tendrá que seguirlo cada vez que necesite agregar una tabla a la base de datos.

  3. Haga doble clic en la primera celda de la fila de encabezado y, después, escriba el nombre del campo en la tabla de ejemplo.

    De manera predeterminada, Access denota los campos en blanco en la fila de encabezado con el texto Agregar nuevo campo, como:

    Un nuevo campo en una hoja de datos

  4. Use las teclas de dirección para desplazarse a la siguiente celda de encabezado en blanco y, después, escriba el segundo nombre de campo. (También puede hacer doble clic en la nueva celda). Repita este paso para cada nombre de campo.

  5. Escriba los datos en la tabla de ejemplo.

    Mientras escribe los datos, Access deduce un tipo de datos para cada campo. Cada campo tiene un tipo de datos específico, como Número, Texto o Fecha/Hora. Al establecer los tipos de datos, se ayuda a garantizar que se introducen los datos correctos y también se ayuda a evitar errores, como el uso de un número de teléfono en un cálculo. Para estas tablas de ejemplo, deje que Access deduzca el tipo de datos, pero no olvide revisar el tipo de datos deducido por Access para cada campo.

  6. Cuando termine de introducir los datos, haga clic en Guardar o presione la tecla CTRL+S.

    Aparecerá el cuadro de diálogo Guardar como.

  7. En el cuadro Nombre de tabla, escriba el nombre de la tabla de ejemplo y, después, haga clic en Aceptar.

    Use el nombre de cada tabla de ejemplo (por ejemplo, Asignaturas principales) porque las consultas en las secciones de procedimiento de este artículo también usan esos nombres.

Cuando termine de escribir los datos de ejemplo, está listo para comparar las dos tablas.

Omita la siguiente sección (Crear las hojas de cálculo de ejemplo), a menos que quiera obtener información sobre cómo crear una hoja de cálculo basada en los datos de ejemplo de las tablas de la sección anterior.

Crear las hojas de cálculo de ejemplo

  1. Inicie el programa de hoja de cálculo y cree un nuevo archivo en blanco. Si usa Excel, se crea de manera predeterminada un nuevo libro en blanco cuando se inicia el programa.

  2. Copie la primera tabla de ejemplo de la sección anterior y péguela en la primera hoja de cálculo, empezando por la primera celda. Asegúrese de que copia la fila del encabezado, ya que contiene los nombres de campo de la tabla de ejemplo.

  3. Con la técnica proporcionada por el programa de hoja de cálculo, proporcione a la hoja de cálculo el mismo nombre que a la tabla de ejemplo. Por ejemplo, cuando pegue los datos de ejemplo Inscripciones, denomine a la hoja de cálculo Inscripciones.

  4. Repita los pasos 2 y 3, copiando la segunda tabla de ejemplo en una hoja de cálculo en blanco y cambiando el nombre la hoja de cálculo.

    Nota: Es posible que necesite agregar hojas de cálculo al archivo de hoja de cálculo. Para obtener información sobre cómo agregar hojas de cálculo a un archivo de hoja de cálculo, vea la ayuda del programa de hoja de cálculo.

  5. Guarde el libro en una ubicación adecuada en su equipo o red y, después, vaya al siguiente conjunto de pasos.

Crear tablas de base de datos a partir de las hojas de cálculo

  1. En una base de datos nueva o existente:

    En la pestaña Datos externos, en el grupo Importar, haga clic en Excel.

    Imagen de la cinta de Access

    -o-

    Haga clic en Más y luego seleccione un programa de hoja de cálculo de la lista.

    Aparece el cuadro de diálogo Obtener datos externos: Hoja de cálculo de <nombre de programa>.

  2. Haga clic en Examinar, busque y abra el archivo de hoja de cálculo que ha creado en los pasos anteriores y, después, haga clic en Aceptar.

    Se inicia el Asistente para importación de hojas de cálculo.

    De manera predeterminada, el asistente selecciona la primera hoja de cálculo del libro (Asignaturas principales, si ha seguido los pasos de la sección anterior), y los datos de esa hoja de cálculo aparecen en la sección inferior de la página del asistente.

  3. Haga clic en Siguiente

  4. En la siguiente página del asistente, active la casilla Primera fila contiene encabezados de columna y, después, haga clic en Siguiente.

  5. En la siguiente página, puede usar los cuadros de texto y las listas en Opciones de campo para cambiar los tipos de datos y nombres de campo u omitir campos de la operación de importación. Para este ejemplo, no necesita cambiar nada. Haga clic en Siguiente.

  6. En la siguiente página, seleccione la opción Sin clave principal y, después, haga clic en Siguiente.

  7. De manera predeterminada, Access aplica el nombre de la hoja de cálculo a la nueva tabla. Acepte el nombre en el cuadro Importar a la tabla y, después, haga clic en Finalizar.

  8. En la página Guardar los pasos de la importación, haga clic en Cerrar para completar el asistente.

  9. Repita los pasos del 1 al 7 hasta que haya creado una tabla a partir de cada hoja de cálculo del archivo.

Comparar las tablas de ejemplo y buscar registros coincidentes mediante combinaciones

Ahora ya está listo para comparar la tabla Inscripciones y la tabla Asignaturas principales. Como no ha definido relaciones entre las dos tablas, necesita crear combinaciones entre los campos apropiados de la consulta. Las tablas tienen más de un campo en común y necesitará crear una combinación para cada para de campos comunes: Id. del alumno, año y plan de estudios (tabla Inscripciones) y asignatura principal (tabla Asignaturas principales). En este ejemplo, solo está interesado en las asignaturas de matemáticas, por lo que también usará un criterio de campo para limitar los resultados de la consulta.

  1. Abra la base de datos en la que ha guardado las tablas de ejemplo.

  2. En la pestaña Crear, haga clic en Diseño de consulta.

  3. En el cuadro de diálogo Mostrar tabla, haga doble clic en la tabla que contiene los registros que quiere mostrar; en este ejemplo, la tabla Inscripciones. Después, haga doble clic en la tabla con la que la va a comparar; en este ejemplo, la tabla Asignaturas principales.

  4. Cierre el cuadro de diálogo Mostrar tabla.

  5. Arrastre el campo Id. del alumno de la tabla Inscripciones al campo Id. de estudiante de la tabla Asignaturas principales. Aparece una línea entre las dos tablas de la cuadrícula de diseño, indicando que ha creado una combinación. Haga doble clic en la línea para abrir el cuadro de diálogo Propiedades de la combinación.

  6. Revise las tres opciones del cuadro de diálogo Propiedades de la combinación. De manera predeterminada, está seleccionada la opción 1. En algunos casos, necesita ajustar las propiedades de la combinación para incluir filas adicionales de una tabla. Como está intentando buscar solo datos coincidentes, deje la combinación en la opción 1. Cierre el cuadro de diálogo Propiedades de la combinación haciendo clic en Cancelar.

  7. Necesitará crear dos combinaciones más. Cree estas combinaciones arrastrando el campo Año de la tabla Inscripciones hasta el campo Año de la tabla Asignaturas principales y, después, arrastre el campo Plan de estudios de la tabla Inscripciones hasta el campo Asignatura principal de la tabla Asignaturas principales.

  8. En la tabla Inscripciones, haga doble clic en el asterisco (*) para agregar todos los campos de la tabla a la cuadrícula de diseño de la consulta.

    Nota: Cuando use el asterisco para agregar todos los campos, solo aparece una columna en la cuadrícula de diseño. La columna que aparece tiene el nombre de la tabla, seguido de un punto (.) y un asterisco (*). En este ejemplo, la columna se denomina Inscripciones.*.

  9. En la tabla Asignaturas principales, haga doble clic en el campo Asignatura principal para agregarlo a la cuadrícula.

  10. Desactive la casilla en la fila Mostrar de la columna Asignatura principal en la cuadrícula de diseño de la consulta.

  11. En la fila Criterios de la columna Asignatura principal, escriba Matemáticas.

  12. En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.

    La consulta se ejecuta y, después, muestra solo las notas de matemáticas de los alumnos que tengan matemáticas como asignatura principal.

Principio de página

Comparar dos tablas usando un campo como criterio

A veces, puede que quiera comparar tablas basándose en campos que tengan datos coincidentes, pero que tengan diferentes tipos de datos. Por ejemplo, un campo de una tabla puede tener el tipo de datos Número y quiere comparar ese campo con un campo de otra tabla que tiene el tipo de datos Texto. Los campos que contienen datos similares pero tienen tipos de campos diferentes pueden aparecer cuando los números se almacenan como texto, mediante diseño o por otras razones, como la importación de datos de otro programa. Como no puede crear combinaciones entre campos que tengan tipos de datos diferentes, necesitará usar un método diferente para comparar los campos. Puede comparar dos campos que tengan tipos de datos diferentes mediante un campo como un criterio del otro.

Supongamos que es un investigador institucional en una universidad y quiere ver cómo han afectado los últimos cambios en los planes de estudio del departamento de matemáticas a las calificaciones de los estudiantes. Está especialmente interesado en las calificaciones de los estudiantes que tienen asignaturas principales en matemáticas. Ya tiene una tabla Asignaturas principales y una tabla Inscripciones. Los datos de las calificaciones se almacenan en la tabla Inscripciones y los datos de las asignaturas principales se almacenan en la tabla Asignaturas principales. Para ver cómo han cambiado las calificaciones de las asignaturas principales de matemáticas, necesita revisar los registros de la tabla de inscripciones que tengan recursos correspondientes en la tabla de asignaturas principales. En cambio, uno de los campos que quiere usar para comparar las tablas tiene un tipo de datos diferente de su equivalente.

Para comparar dos tablas mediante un campo como criterio, cree una consulta de selección que incluya ambas tablas. Incluya los campos que quiera mostrar y también incluya el campo que corresponde al campo que quiere usar como criterio. Después, cree un criterio para comparar las tablas. Puede crear tantos criterios para comparar campos como quiera.

Para ilustrar este método, usará las tablas de ejemplo de la sección anterior, pero cambiará el tipo de datos del campo Id. del alumno de la tabla Asignaturas principales de Número a Texto. Como no puede crear una combinación entre dos campos que tengan diferentes tipos de datos, tendrá que comparar los dos campos Id. del alumno mediante el uso de un campo como criterio del otro.

Cambiar el tipo de datos del campo Id. del alumno de Asignaturas principales

  1. Abra la base de datos en la que ha guardado las tablas de ejemplo.

  2. En el Panel de exploración, haga clic con el botón derecho en la tabla Asignaturas principales y, después, haga clic en Vista Diseño en el menú contextual.

    La tabla Asignaturas principales se abre en la vista Diseño.

  3. En la columna Tipo de datos, cambie el valor para Id. del alumno de Número a Texto.

  4. Cierre la tabla Asignaturas principales. Cuando se le solicite guardar los cambios, haga clic en .

Comparar las tablas de ejemplo y buscar registros coincidentes mediante un criterio de campo

En el procedimiento siguiente se muestra cómo comparar los dos campos Id. del alumno usando el campo de la tabla Inscripciones como criterio para el campo de la tabla Asignaturas principales. Mediante la palabra clave Like, puede comparar los campos, aunque tengan tipos de datos diferentes.

  1. En la ficha Crear, en el grupo Otros, haga clic en Diseño de la consulta.

  2. En el cuadro de diálogo Mostrar tabla, haga doble clic en Inscripciones y, después, haga doble clic en Asignaturas principales.

  3. Cierre el cuadro de diálogo Mostrar tabla.

  4. Arrastre el campo Año de la tabla Inscripciones hasta el campo Año de la tabla Asignaturas principales y, después, arrastre el campo Plan de estudios de la tabla Inscripciones hasta el campo Asignatura principal de la tabla Asignaturas principales. Como estos campos tienen los mismos tipos de datos, puede compararlos mediante combinaciones. Las combinaciones son el método preferido para comparar campos que tienen el mismo tipo de datos.

  5. Haga doble clic en el asterisco (*) de la tabla Inscripciones para agregar todos los campos de esa tabla a la cuadrícula de diseño de la consulta.

    Nota: Cuando use el asterisco para agregar todos los campos, solo aparece una columna en la cuadrícula de diseño. La columna que aparece tiene el nombre de la tabla, seguido de un punto (.) y un asterisco (*). En este ejemplo, la columna se denomina Inscripciones.*.

  6. En la tabla Asignaturas principales, haga doble clic en el campo Id. del alumno para agregarlo a la cuadrícula.

  7. Desactive la casilla en la fila Mostrar de la columna Id. del alumno en la cuadrícula de diseño. En la fila Criterios de la columna Id. del alumno, escriba Like [Inscripciones de las clases].[Id. del alumno].

  8. En la tabla Asignaturas principales, haga doble clic en el campo Asignatura principal para agregarlo a la cuadrícula.

  9. Desactive la casilla en la fila Mostrar de la columna Asignatura principal en la cuadrícula de diseño. En la fila Criterios, escriba Matemáticas.

  10. En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.

    La consulta se ejecuta y, después, muestra solo las notas de matemáticas de los alumnos que tengan matemáticas como asignatura principal.

Principio de página

Compartir Facebook Facebook Twitter Twitter Enviar por correo electrónico Enviar por correo electrónico

¿Le ha sido útil esta información?

De acuerdo. ¿Algún comentario más?

¿Cómo podemos mejorarlo?

¡Gracias por sus comentarios!

×