MS Access - Asistente de consultas incomparable
En Access, hay otro asistente muy útil y es Find Unmatched Query Wizard. El Asistente para buscar consultas no coincidentes crea una consulta que busca registros o filas en una tabla que no tienen registros relacionados en otra tabla.
Como ya hemos comentado, cómo se unen los datos en las consultas y cómo la mayoría de las consultas buscan coincidencias entre dos o más tablas.
Esta es la combinación predeterminada en Access, por ejemplo, si diseñamos una consulta con dos tablas, tblCustomers y tblOrdersy unir esas dos tablas por CustomerID, esta consulta solo devolverá los resultados que coincidan. En otras palabras, los clientes que han realizado pedidos.
Hay ocasiones en las que no queremos ver las coincidencias, por ejemplo, es posible que no queramos ver a ningún cliente en nuestra base de datos, los clientes que aún no han realizado pedidos.
- Esto es exactamente lo que hace la consulta de búsqueda no coincidente.
También hay muchos otros usos posibles para este tipo de consulta.
En nuestra base de datos, podemos usarlo para ver qué autores aún no han escrito un proyecto o puede usarlo para ver qué empleados aún no han elegido ningún beneficio de salud. Permítanos ahora abrir su base de datos que contieneCustomers y Ordersmesa; vaya a la pestaña Crear y haga clic en el botón del asistente de consultas.
Selecciona el Find Unmatched Query Wizard y haga clic en Ok.
En este escenario, buscaremos aquellos clientes que no hayan realizado un pedido. En la primera pantalla, se pregunta qué tabla o consulta contiene los registros que desea en los resultados de la consulta.
Ahora queremos una lista de clientes de tblCustomers. Seleccione esa opción y haga clic enNext.
En la siguiente pantalla, debe especificar which table or query contains the related records. En otras palabras, ¿qué tabla estás usando para comparar con la primera? Para ello, necesitamos encontrar los que no han realizado pedidos. Necesitamos seleccionar la tabla que contiene información sobre todos los pedidos:tblOrders. Ahora, haga clic enNext.
En la siguiente pantalla, debe especificar qué información está en ambas tablas.
- Por lo general, será algún tipo de clave principal, clave externa, campo o relación.
- Si tiene una relación existente en su base de datos, Access seleccionará y hará coincidir esos campos por usted.
- Pero, si tiene otros campos que puede unir, que contienen información similar, también puede elegir eso aquí.
Aquí, tenemos CustID seleccionado de forma predeterminada tanto en los campos de 'tblCustomers' como en los campos de 'tblOrders'. Ahora, haga clic enNext.
En la siguiente pantalla, puede elegir los campos que desea que se muestren en los resultados de la consulta.
Seleccionemos ahora todos los campos disponibles y hagamos clic en la flecha de dos puntas. Esto mueve todos losavailable fields a la selected fieldszona. Ahora, haga clic enNext.
La última pantalla le permitirá elegir un nombre para su consulta y hacer clic Finish.
Aquí tenemos un cliente listado como ese cliente que aún no ha realizado un pedido con nosotros.
También puede ver cómo se creó esa consulta. Para ello, debe volver a laDesign View.
Este asistente ha creado un Outer Join entre tblCustomer y tblOrders y el Is NullLos criterios se agregan al CustID de tblORders. Esto es para excluir ciertos registros. En este caso, son los clientes los que han realizado pedidos o los que tienen información relacionada en tblOrders.