domingo, 6 de abril de 2014

Consultas con relaciones múltiples entre dos tablas

Deja un comentario
Partiendo de haber visto cómo crear varias relaciones entre dos tablas, ahora veremos cómo podemos manejarlas.

El punto de partida

Se supone que, si Access te propone de manera automática crear un clon a partir de la segunda relación entre dos tablas, debería saber gestionarlas luego correctamente, pero por desgracia no es así.

Recuerda el esquema que tratamos anteriormente: usamos las tablas Líneas y Paradas para reflejar la primera y última parada correspondiente a una línea de autobuses.

Relaciones con clon

Pues bien, ahora queremos elaborar una consulta que nos diga, precisamente, el número de línea, el nombre de la parada inicial y el nombre de la parada final.

La consulta

Al crear una consulta desde la vista Diseño y añadir las tablas que necesitamos, ACCESS MUESTRA LA RELACIÓN DOBLE SIN CLONES.

Y si, como pudiera parecer lógico, añadimos a la cuadrícula el campo numerolin y dos veces nombre, ACCESS NO ES CAPAZ DE RESOLVER LA SITUACIÓN.

Relación doble entre dos tablas

En consecuencia, al ejecutar la consulta, Access no muestra ningún resultado, a pesar de haber datos relacionados en ambas tablas, ya que no sabe distinguir cada relación de manera individual.

La solución

¿Qué podemos hacer entonces? La solución es fácil de obtener aunque un pelín laboriosa. Todo pasa por eliminar relaciones, añadir y clones y volver a anexionar, y es que todas las modificaciones que se hacen en la vista Diseño se consideran temporales. Entonces será necesario seguir estos pasos:
  1. Eliminar la relación entre codparada y paradafin
  2. Añadir otra vez la tabla Paradas, de manera que Access genere un clon de la misma
  3. Crear la relación entre codparada de Paradas_1 y paradafin
  4. En la cuadrícula inferior, sustituir nombre de Paradas por nombre de Paradas_1



Relaciones temporales en diseño de consultas

Si has seguido correctamente los pasos, y el esquema es similar al de la figura, al ejecutar la consulta Access SÍ mostrará la solución correcta. Ten en cuenta que en la imagen siguiente para que el resultado quede mejor, hemos cambiado los títulos de las columnas, aportando de paso más información para el usuario.

Resultado de consulta con múltiples relaciones

Otra alternativa

Acabamos de ver la solución formal, pero si relacionaste los campos mediante Búsqueda, no será necesario (al menos en este supuesto) seguir todos estos pasos; con sólo mostrar la tabla Líneas, tendremos la solución a nuestro alcance ;)

Tabla con búsquedas bien enlazadas en Acccess
Leer más...

Consultas de campos que pueden tener asteriscos

Deja un comentario
El carácter comodín nos podía servir de ayuda en los campos de tipo texto.

Por ejemplo, fíjate en la siguiente imagen. Vemos una tabla denominada Artículos con dos campos, Código y Denominación:

Tabla de muestra con asteriscos dentro de un campo

Pues bien, vamos a imaginar que queremos consultar todos los artículos cuyo nombre contenga la letra A. El diseño de la consulta sería el que aparece a continuación:

Ejemplo de consulta con carácter comodín

El primer asterisco indica que puede haber o no un número indeterminado de caracteres delante de la a, y el segundo, lo mismo, pero detrás de dicha letra. Y el resultado será:

Resultado de una consulta

Pero…. ¿qué ocurriría si lo que necesito, es mostrar los registros en cuyo código existan asteriscos? En tal caso hay que combinar el uso del asterisco comodín con el asterisco carácter indicando como criterio: *[*]*

La manera de obligar a Access a que encuentre el carácter comodín, independientemente del resto de caracteres escritos en el campo es situar el asterisco entre corchetes. El resultado será:

Resultado de una consulta que busca los registros que contengan asteriscos

 ¿A qué no era tan complicado?
Leer más...

miércoles, 2 de abril de 2014

Conducción eficaz en el transporte

Deja un comentario


Leer más...