Cree una consulta de selección simple. Seleccionar consultas en Access Usar una expresión como campo de visualización

Si necesita seleccionar datos específicos de una o más fuentes, puede utilizar una consulta de selección. Una consulta de selección le permite obtener solo la información que necesita y también lo ayuda a combinar información de múltiples fuentes. Puede usar tablas y otras consultas similares como fuentes de datos para consultas seleccionadas. Esta sección analiza brevemente las consultas seleccionadas y proporciona instrucciones paso a paso para crearlas mediante el Asistente de consultas o el Diseñador.

Si desea obtener más información sobre cómo funcionan las consultas utilizando la base de datos Northwind como ejemplo, consulte el artículo Comprender las consultas.

En este articulo

Información general

Cuando se necesitan algunos datos, rara vez es necesario tener todo el contenido de una tabla. Por ejemplo, si necesita información de una tabla de contactos, generalmente se trata de una entrada específica o simplemente de un número de teléfono. A veces es necesario combinar datos de varias tablas a la vez, por ejemplo, para combinar información sobre clientes con información sobre clientes. Las consultas de selección se utilizan para seleccionar los datos necesarios.

Una consulta de selección es un objeto de base de datos que expone información a la vista de hoja de datos. La consulta no almacena datos, pero contiene datos que se almacenan en tablas. Una consulta puede mostrar datos de una o más tablas, de otras consultas o de dos combinaciones.

Beneficios de las solicitudes

La consulta le permite realizar las siguientes tareas.

    Visualiza valores solo de los campos que te interesan. Cuando abre la tabla, se muestran todos los campos. Puede guardar una consulta que solo devuelva algunos de ellos.

    Nota: La consulta solo devuelve datos, no los almacena. Cuando guarda una solicitud, no guarda una copia de los datos relevantes.

    Combine datos de múltiples fuentes. En una tabla, generalmente solo puede ver la información que está almacenada en ella. La consulta le permite seleccionar campos de diferentes fuentes y especificar exactamente cómo desea combinar la información.

    Utilice expresiones como campos. Por ejemplo, una función que devuelve una fecha puede actuar como un campo y una función de formato puede controlar el formato de los valores de los campos en los resultados de la consulta.

    Vea las entradas que coincidan con los criterios que especifique. Cuando abre la tabla, se muestran todos los registros. Puede guardar una consulta que solo devuelva algunos de ellos.

Pasos básicos para crear una consulta de selección

Puede crear una consulta de selección mediante el asistente o el diseñador de consultas. Algunos elementos no están disponibles en el asistente, pero puede agregarlos más tarde desde el diseñador. Aunque son métodos diferentes, los pasos básicos son los mismos.

    Seleccione las tablas o consultas que desee utilizar como orígenes de datos.

    Especifique los campos de las fuentes de datos que desea incluir en los resultados.

    También puede establecer condiciones que restrinjan el conjunto de consultas de registros devueltas.

Una vez que haya creado una consulta de selección, ejecútela para ver los resultados. Para ejecutar una consulta de selección, ábrala en la vista Hoja de datos. Una vez que guarde la consulta, puede usarla más tarde (por ejemplo, como fuente de datos para un formulario, informe u otra consulta).

Crear una consulta de selección mediante el Asistente para consultas

El asistente le permite crear automáticamente una consulta de selección. Cuando usa un asistente, no tiene el control completo de todos los detalles del proceso, pero la solicitud generalmente se genera más rápido de esta manera. Además, el asistente a veces detecta errores simples en la solicitud y le pide que elija otra acción.

Capacitación

Si utiliza campos de orígenes de datos que no están relacionados, el Asistente para consultas le solicita que cree relaciones entre ellos. él abrirá ventana de relación, sin embargo, si realiza algún cambio, deberá reiniciar el asistente. Por lo tanto, antes de ejecutar el asistente, tiene sentido crear inmediatamente todas las relaciones que requerirá su consulta.

Para obtener más información sobre cómo crear relaciones entre tablas, consulte la Guía de relaciones entre tablas.

Uso del Asistente para consultas

    en la pestaña Creación en grupo Peticiones presiona el botón Asistente para consultas.

    En el cuadro de diálogo Nueva solicitud seleccione un artículo Solicitud sencilla y presiona el boton OK.

    Ahora agregue los campos. Puede agregar hasta 255 campos de 32 tablas o consultas.

    Para cada campo, realice los siguientes dos pasos:


  1. Si no ha agregado ningún campo numérico (campos que contienen datos numéricos), vaya al paso 9. Al agregar un campo numérico, deberá elegir si la consulta devolverá detalles o totales.

    Haz una de las siguientes:


  2. En el cuadro de diálogo Resultados Especifique los campos obligatorios y los tipos de datos de resumen. Solo los campos numéricos estarán disponibles en la lista.

    Para cada campo numérico, seleccione una de las siguientes funciones.

    1. suma- la consulta devolverá la suma de todos los valores especificados en el campo.

      Promedio- la consulta devolverá el valor promedio del campo.

      mínimo- la consulta devolverá el valor mínimo especificado en el campo.

      máx.- la consulta devolverá el valor máximo especificado en el campo.


  3. Si desea que los resultados de la consulta muestren la cantidad de registros en la fuente de datos, seleccione la casilla de verificación correspondiente Contando el número de registros en (nombre de la fuente de datos).

    Hacer clic OK para cerrar el diálogo Resultados.

    Si no agregó ningún campo de fecha y hora a su consulta, vaya al paso 9. Si agregó campos de fecha y hora a su consulta, el Asistente de consultas le pedirá que elija cómo desea agrupar los valores de fecha. Suponga que agregó un campo numérico ("Precio") y un campo de fecha y hora ("Transaction_time") a su consulta, y luego en el cuadro de diálogo Resultados indicó que desea mostrar el valor promedio para el campo numérico "Precio". Dado que agregó un campo de fecha y hora, puede calcular los totales para cada valor único de fecha y hora, como cada mes, trimestre o año.


    Seleccione el período que desea usar para agrupar los valores de fecha y hora y luego haga clic en Más.

    En la última página del asistente, asigne un nombre a la consulta, indique si desea abrirla o editarla y haga clic en Listo.

    Si elige abrir la consulta, mostrará los datos seleccionados en la vista Hoja de datos. Si elige editar la consulta, se abrirá en la vista de diseño.

Crear una consulta en la vista de diseño

En la vista Diseño, puede crear manualmente una consulta de selección. En este modo, tiene más control sobre el proceso de creación de consultas, pero es más fácil cometer errores y lleva más tiempo que en el asistente.

Crear una solicitud

Paso 1: agregar fuentes de datos

En el modo de diseño, las fuentes de datos y los campos se agregan en diferentes etapas porque el cuadro de diálogo se usa para agregar fuentes. Agregar una tabla. Sin embargo, siempre puede agregar más fuentes más adelante.

Conexión automática

Si las relaciones ya están definidas entre las fuentes de datos que se agregan, se agregan automáticamente a la consulta como uniones. Las uniones definen cómo se deben combinar los datos de fuentes relacionadas. Access también crea automáticamente una combinación entre dos tablas si contienen campos con tipos de datos compatibles y uno de ellos es una clave principal.

Puede personalizar las conexiones agregadas por Access. Access elige el tipo de conexión que crea en función de la relación que coincida. Si Access crea una combinación pero no se define ninguna relación para ella, Access agrega una combinación interna.

Reutilización de la misma fuente de datos

En algunos casos, puede unir dos copias de la misma tabla o consulta, lo que se denomina autounión, y unirá registros de la misma tabla si hay valores coincidentes en los campos unidos. Por ejemplo, supongamos que tiene una tabla de Empleados donde el campo "Envíos" para el registro de cada empleado muestra la identificación de su gerente en lugar de su nombre. Puede usar una autounión para mostrar el nombre del gerente en el registro de cada empleado.

Cuando agrega una fuente de datos por segunda vez, Access terminará el nombre de la segunda instancia con "_1". Por ejemplo, si vuelve a agregar la tabla "Empleados", su segunda instancia se llamará "Empleados_1".

Paso 2: conectar fuentes de datos relacionadas

Si las fuentes de datos agregadas a la consulta ya tienen relaciones, Access crea automáticamente una combinación interna para cada relación. Si se utiliza la integridad de datos, Access también muestra un "1" sobre la línea de combinación para mostrar qué tabla está en el lado "uno" del elemento de relación de uno a varios y el símbolo de infinito ( ) para mostrar qué tabla está en el lado "varios".

Si agrega otras consultas a una consulta y no crea relaciones entre ellas, Access no crea uniones automáticas entre ellas o entre consultas y tablas que no están relacionadas. Si Access no crea conexiones cuando agrega fuentes de datos, normalmente tiene que crearlas manualmente. Las fuentes de datos que no están conectadas a otras fuentes pueden generar problemas en los resultados de las consultas.

También puede cambiar el tipo de combinación de combinación interna a combinación externa para que la consulta incluya más registros.

Agregar una conexión

Cambiar conexión

Después de crear conexiones, puede agregar campos de salida: contendrán los datos que deben mostrarse en los resultados.

Paso 3: Agregar campos de visualización

Puede agregar fácilmente un campo desde cualquier fuente de datos agregada en el paso 1.

    Para hacer esto, arrastre el campo desde la fuente en el área superior de la ventana del Diseñador de consultas hasta la fila Campo formulario de solicitud (en la parte inferior de la ventana del diseñador).

    Cuando agrega un campo de esta manera, Access completa automáticamente la fila mesa en la tabla del diseñador según la fuente de datos del campo.

    Consejo: Para agregar rápidamente todos los campos a la fila Campo de un diseño de consulta, haga doble clic en el nombre de la tabla o consulta en el panel superior para seleccionar todos los campos y luego arrástrelos todos a la vez hacia abajo en el formulario.

Uso de una expresión como campo de visualización

Puede utilizar una expresión como campo de salida para los cálculos o generar resultados de consulta con una función. Las expresiones pueden usar datos de cualquier fuente de consulta, así como funciones como Format o InStr, constantes y operadores aritméticos.

    En una columna vacía de la tabla de consulta, haga clic en la fila Campo haga clic con el botón derecho y seleccione el elemento del menú contextual Escala.

    en campo Escala escriba o pegue la expresión deseada. Antes de la expresión, escriba el nombre que desea usar para el resultado de la expresión, seguido de dos puntos. Por ejemplo, para designar el resultado de una expresión como "Última actualización", preceda la frase Última actualización:.

    Nota: Las expresiones se pueden utilizar para realizar una variedad de tareas. Su consideración detallada está más allá del alcance de este artículo. Para obtener más información sobre la creación de expresiones, consulte el artículo Creación de expresiones.

Paso 4: Especifique las condiciones

No es obligatorio.

Usando condiciones, puede limitar la cantidad de registros que devuelve la consulta seleccionando solo aquellos registros cuyos valores de campo cumplan con los criterios especificados.

Definición de condiciones para un campo de salida

    En la tabla del diseñador de consultas en la fila Condición de selección campo cuyos valores desea filtrar, ingrese una expresión que los valores en el campo deben cumplir para ser incluidos en el resultado. Por ejemplo, para incluir solo registros con "Ryazan" en el campo "Ciudad" de su consulta, escriba Riazán en línea Condición de selección debajo de este campo.

    Se pueden encontrar varios ejemplos de expresiones de condiciones de consulta en el artículo Ejemplos de condiciones de consulta.

    Especificar condiciones alternativas en la línea o debajo de la linea Condición de selección.

    Cuando se especifican condiciones alternativas, se incluye un registro en los resultados de la consulta si el valor del campo correspondiente cumple alguna de las condiciones especificadas.

Condiciones para varios campos

Las condiciones se pueden establecer para varios campos. En este caso, para incluir una entrada en los resultados, se deben cumplir todas las condiciones de la fila correspondiente. Condiciones de selección o O.

Establecer condiciones basadas en un campo que no está incluido en la salida

Puede agregar un campo a una consulta, pero no incluir sus valores en la salida. Esto permite que el contenido del campo se use para limitar los resultados, pero no se muestre.

    Agregue un campo a la tabla de consulta.

    Desmarque la casilla correspondiente Show.

    Establezca las condiciones como para el campo de salida.

Paso 5: Calcular totales

Este paso es opcional.

También puede calcular totales para datos numéricos. Por ejemplo, es posible que desee ver el precio promedio o las ventas totales.

Para calcular los totales en la consulta, se utiliza la cadena Total. Cadena predeterminada Total no se muestra en la vista de diseño.

    Con la consulta abierta en el diseñador, en la pestaña Diseño, en el grupo Mostrar/Ocultar, haga clic en Resultados.

    Access mostrará la cadena Total en el formulario de solicitud.

    Para cada campo obligatorio en una fila Total seleccione la función deseada. El conjunto de funciones disponibles depende del tipo de datos en el campo.

    Para obtener más información sobre las funciones de la fila "Total" en las consultas, consulte el artículo Sumar o contar valores en una tabla usando la fila "Total".

Para ver los resultados de la consulta, en la pestaña Diseño, haga clic en Correr. Access muestra los resultados de la consulta en la vista Hoja de datos.

Para volver al modo de diseño y realizar cambios en la consulta, haga clic en casa > Vista > Constructor.

Personalice campos, expresiones o condiciones y vuelva a ejecutar la consulta hasta que devuelva los datos que desea.

Crear una consulta de selección en una aplicación web de Access

Para que los resultados de la consulta estén disponibles en el navegador, debe agregar una vista de consulta en la pantalla de selección de tablas. Para agregar una nueva vista al encabezado en la pantalla de selección de mesa:


Tema: Creación de enlaces entre tablas. Creación de una consulta de selección, con un parámetro y una consulta final.

Abra la base de datos creada en el laboratorio anterior. Decanato de la TF .

Creación de enlaces de tabla

Seleccionar un objeto en la ventana de la base de datos mesas . Haga clic en el botón " Esquema datos » en la barra de herramientas o ejecute el comando « Servicio »  « Esquema datos ' utilizando el menú de comandos. La ventana " Esquema datos ' y ventana ' Apéndice mesas » (fig. 18).

Arroz. 18. Cuadro de diálogo Esquema de datos y Cuadro de diálogo Agregar tabla

En la ventana " Apéndice mesas » en la pestaña « mesas » Se enumeran todas las tablas de la base de datos. Para crear enlaces entre tablas, debe moverlos desde " Apéndice mesas » en la ventana « Esquema datos ". Para mover una tabla, selecciónela con un clic del mouse y haga clic en " Agregar ". Después de transferir las tablas necesarias, cierre la ventana " Apéndice mesas ».

Mover todas las tablas a la ventana " Esquema datos ". Cambie el tamaño de las ventanas de la tabla para que todo el texto sea visible (Figura 19).

Para crear una relación entre tablas estudiantes y Calificaciones de acuerdo con esquema de datos necesitas mover el cursor del mouse al campo Código estudiantil en la mesa estudiantes y con el botón del mouse presionado, arrastre este campo al campo Código estudiantil en la mesa Calificaciones y luego suelte el botón del ratón. La ventana " El cambio conexiones » (Fig. 20).

Marque la casilla en el " Seguridad integridad datos haciendo clic en él. Establezca las casillas de verificación en las propiedades " en cascada actualizar relacionado campos " y " en cascada eliminación relacionado campos ". Esto solo editará registros en la tabla. estudiantes , y en la tabla Calificaciones estas acciones con registros relacionados se realizarán automáticamente.

Para crear un enlace, haga clic en " Crear ».

Arroz. 19. La apariencia del esquema de datos de la base de datos " Decanato de la TF» antes de vincular

Arroz. 20. Cuadro de diálogo para configurar los parámetros de la conexión entre los campos de las tablas

Del mismo modo, de acuerdo con esquema de datos se crean enlaces entre las tablas restantes (Fig. 21).

Arroz. 21. Esquema de datos de la base de datos " Decanato de la TF»

Responder al cerrar la ventana del esquema de datos a la pregunta sobre cómo guardar el diseño.

Las relaciones creadas entre las tablas de la base de datos se pueden cambiar.

Para cambiar los enlaces, debe llamar a la ventana " Esquema datos ". Después de eso, coloque el cursor del mouse en el enlace que desea cambiar y haga clic con el botón derecho. Aparecerá un menú contextual (Fig. 22):

Arroz. 22. Menú contextual del enlace

Si elige el comando " Borrar ”, la conexión se eliminará después de la confirmación. Si necesita cambiar la conexión, seleccione el comando " Cambio conexión ". Después de eso, en la ventana que aparece El cambio conexiones » (en su parte superior) seleccione los campos de las tablas que desea vincular y haga clic en el botón « Crear ».

Peticiones

Las consultas se utilizan para seleccionar o buscar datos de una o más tablas. Con consultas, puede ver, analizar y modificar datos de varias tablas. También se utilizan como fuente de datos para formularios e informes. Las consultas le permiten calcular totales y mostrarlos en un formato compacto, así como realizar cálculos en grupos de registros.

Desarrollaremos solicitudes en el modo. Constructor .

V Acceso Puede crear los siguientes tipos de solicitudes:

    Solicitud de muestra . Es el tipo de solicitud más utilizado. Las consultas de este tipo devuelven datos de una o más tablas y los muestran como una tabla. Las consultas de selección también se pueden usar para agrupar registros y calcular sumas, promedios, contar registros y buscar otros tipos de totales. Para cambiar las condiciones de selección, debe cambiar la consulta.

    Solicitud con parámetros . Esta es una consulta que, cuando se ejecuta, muestra en su propio cuadro de diálogo un aviso para que se inserten los datos o el valor en el campo. Este dato o valor puede cambiar cada vez que se realiza la solicitud.

    Solicitud cruzada . Se utiliza para cálculos y presentación de datos en una estructura que facilita su análisis. Una consulta cruzada calcula la suma, el promedio, el número de valores o realiza otros cálculos estadísticos, después de lo cual los resultados se agrupan en una tabla en dos conjuntos de datos, uno de los cuales define los encabezados de columna y el otro los encabezados de fila.

    Solicitud de cambio . Esta es una consulta que cambia o mueve múltiples registros en una sola operación. Hay cuatro tipos de solicitudes de cambio:

1. Para eliminar un registro. Esta consulta elimina un grupo de registros de una o más tablas.

2. Para actualizar el registro. Realiza cambios generales en un grupo de registros en una o más tablas. Le permite modificar datos en tablas.

3. Para agregar entradas. Agrega un grupo de registros de una o más tablas al final de una o más tablas.

4. Para crear una tabla. Crea una nueva tabla basada en todos o parte de los datos de una o más tablas.

    Peticiones sql . Creado usando instrucciones de idioma sql utilizado en base de datos .

Me gustaría poder crear una consulta parametrizada en MS Access 2003 y pasar los valores de ciertos elementos de formulario a esa consulta y luego obtener el conjunto de resultados correspondiente y hacer algunos cálculos básicos sobre ellos. Describiré brevemente cómo hacer que los parámetros de consulta se completen con elementos de formulario. Si necesito usar VBA, está bien.

5 respuestas

Las referencias a controles en un formulario se pueden usar directamente en consultas de Access, aunque es importante definirlas como parámetros (de lo contrario, los resultados en versiones recientes de Access pueden ser impredecibles si alguna vez fueron confiables).

Por ejemplo, si desea filtrar una consulta basada en el control LastName en MyForm, usaría esto como criterio:

Apellido = Formularios!MiFormulario!Apellido

PARÁMETROS [!MiFormulario!] Texto(255); SELECCIONE tblCustomers.* DESDE tblCustomers DONDE tblCustomers.LastName=!!;

Sin embargo, me gustaría preguntar por qué necesita una consulta almacenada para este propósito. ¿Qué haces con los resultados? ¿Mostrarlos en un formulario o informe? Si es así, puede hacer esto en el origen de registro del formulario/informe y dejar la consulta guardada sin cambios con los parámetros para que pueda usarse en otros contextos sin mostrar solicitudes para completar los parámetros.

Por otro lado, si está haciendo algo en el código, simplemente escriba SQL sobre la marcha y use el valor literal del control de formulario para crear la cláusula WHERE.

Aquí hay un fragmento de código. Actualiza la tabla usando el parámetro txtHospital:

Establecer db = CurrentDb Establecer qdf = db.QueryDefs("AddHospital") qdf.Parameters!txtHospital = Trim(Me.HospName) qdf.ReturnsRecords = False qdf.Execute dbFailOnError intResult = qdf.RecordsAffected

Aquí hay un ejemplo de SQL:

PARÁMETROS txtTexto Hospital(255); INSERTAR EN tblHospitals() VALORES()

Hay tres formas tradicionales de solucionar este problema:

  1. Establezca el parámetro en un valor para que se solicite al usuario un valor cuando se ejecute la consulta.
  2. Campo de enlace en el formulario (posiblemente oculto)
  3. Cree una consulta sobre la marcha y no utilice parámetros.

Creo que es incorrecto para mí que tengas que escribir algo como [? Ingrese el código ISO del país] o referencias de campo en su formulario como: !! .

Esto significa que no podemos reutilizar la misma consulta en más de un lugar porque diferentes campos proporcionan datos, o tenemos que confiar en que el usuario no confunda la entrada al ejecutar una consulta. Por lo que recuerdo, puede ser difícil usar el mismo valor más de una vez con un parámetro ingresado por el usuario.

Por lo general, elegí la última opción, creé la solicitud sobre la marcha y actualicé el objeto de solicitud según sea necesario. Sin embargo, es común para un ataque de inyección SQL (ya sea por accidente o a propósito, conociendo a mis usuarios) y es simplemente indecente.

"Ed. Start - para completar el ejemplo dim qryStartDate como fecha dim qryEndDate como fecha qryStartDate = #2001-01-01# qryEndDate = #2010-01-01# "Ed. Terminar "COTIZANDO "stallyon": Pasar parámetros a una consulta en VBA" es realmente bastante simple: "Primero estableceremos algunas variables: Dim qdf As Querydef Dim rst As Recordset" luego abriremos la consulta: Set qdf = CurrentDB.QueryDefs(qryname) "Ahora asignaremos valores a la consulta usando la opción de parámetros: qdf.Parameters(0) = qryStartDate qdf.Parameters(1) = qryEndDate "Ahora convertiremos el querydef en un conjunto de registros y ejecútelo Establecer rst = qdf.OpenRecordset "Ejecutar código en el conjunto de registros "Cerrar todos los objetos rst.Cerrar qdf.Cerrar Establecer rst = Nada Establecer qdf = Nada

(No he probado esto yo mismo, solo algo que he recopilado en mis viajes porque quería hacer esto de vez en cuando pero terminé usando uno de mis kludges mencionados anteriormente)

editar Finalmente tuve una razón para usar esto. Aquí está el código real.

"... Dim qdf As DAO.QueryDef Dim prmOne As DAO.Parameter Dim prmTwo As DAO.Parameter Dim rst as recordset "... "abrir la consulta: Establecer qdf = db.QueryDefs("my_two_param_query") "parámetros llamados param_one y "param_two" vinculan su DAP.Parameters a la consulta Set prmOne = qdf.Parameters!param_one Set prmTwo = qdf.Parameters!param_two "establece los valores de los parámetros prmOne = 1 prmTwo = 2 Set rst = qdf.OpenRecordset (dbOpenDynaset, _ dbSeeChanges) "... trate el conjunto de registros como normal "asegúrese de limpiar después de usted mismo Establecer rst = Nada Establecer prmOne = Nada Establecer prmTwo = Nada Establecer qdf = Nada

DoCmd.SetParameter "frontMthOffset", -3 DoCmd.SetParameter "endMthOffset", -2 DoCmd.OpenQuery "QryShowDifference_ValuesChangedBetweenSELECTEDMonths"

donde el SQL de la consulta de Access incluye el SQL real. Por ejemplo

"seleccione bla de mytable donde dateoffset="

¡Todo funciona!

Tomemos un ejemplo. consulta parametrizada se ve así:

Seleccione Tbl_Country.* From Tbl_Country WHERE id_Country = _ [?ingrese el código ISO del país]

y le gustaría poder obtener ese valor ([? ingrese... país] uno) desde un formulario donde tiene controles y algunos datos. Bueno... podría ser posible, pero requiere algo de normalización de código.

Una solución sería darle a los controles de formulario algo de lógica, como fid_Country para el control que contendrá el valor de id_Country. Su consulta se puede representar como una cadena:

Qr = "Seleccione Tbl_País.* Desde Tbl_País DONDE id_País = "

Después de haber ingresado todos los datos solicitados en el formulario, haga clic en el botón "solicitar". La lógica observará todos los controles y verificará si están presentes en la solicitud, eventualmente reemplazando el parámetro con el valor del control:

Dim ctl como control para cada ctl en Me.controls If instr(qr,"[" & ctl.name & "]") > 0 Then qr = replace(qr,"[" & ctl.name & "]",ctl .valor) Fin si Siguiente i

En este caso, tendrá una consulta completamente actualizada, en la que los parámetros se reemplazan con datos reales. Según el tipo de fid_country (cadena, GUID, fecha, etc.), puede ser necesario agregar comillas dobles adicionales o no para obtener la consulta final, así:

Qr = "Seleccione Tbl_País.* Desde Tbl_País DONDE id_País = ""GB"""

Esta es una consulta totalmente compatible con Access que puede usar para abrir un conjunto de registros:

Establecer rsQuery = currentDb.openRecordset(qr)

Creo que has terminado aquí.

Este tema es fundamental cuando su objetivo es desarrollar aplicaciones de Access. Debe ofrecer a los usuarios una forma estándar de consultar datos desde su GUI, no solo para ejecutar consultas, sino también para filtrar formularios continuos (tal como lo hace Excel con la opción "autofiltro") y controlar las opciones de informe. ¡Buena suerte!

La consulta de selección de teoría le permite seleccionar datos de una o más tablas de acuerdo con una determinada condición. Como resultado de la ejecución de la consulta, se muestra en pantalla una tabla con los datos seleccionados. Las consultas se pueden crear utilizando declaraciones SQL o utilizando una hoja de consulta. En este caso, la instrucción SQL que implementa esta consulta se crea automáticamente.

Teoría Para crear una consulta, debe abrir la base de datos, ir a la pestaña Consultas y seleccionar "Crear una consulta en modo diseño"

Ejemplo En la base de datos de la oficina del decano, debe encontrar las direcciones (número de dormitorio y habitación) de todas las niñas del grupo 9701. Muestra los apellidos en orden alfabético, número de dormitorio y habitación. Para crear una consulta, debe abrir la base de datos, ir a la pestaña Consultas y seleccionar "Crear una consulta en modo diseño"

Ejemplo Aparecerán dos ventanas en la pantalla: un formulario de consulta y una ventana para agregar tablas. En la ventana para agregar tablas, solo se seleccionan aquellas tablas cuyos campos son necesarios en la consulta.

Ejemplo Los campos Apellido, género, grupo están en la tabla "Estudiantes", los campos número de dormitorio y habitación están en la tabla "Horm". Por lo tanto, en la ventana Agregar tabla, seleccione estas tablas y haga clic en el botón Agregar. Luego haga clic en el botón Cerrar. Resultado:

Ejemplo Como resultado de la ejecución de la consulta, debe existir una tabla que contenga los campos Apellido, Número de dormitorio y Habitación. Arrastre estos campos desde las tablas en la parte superior del formulario hasta la parte inferior con la ayuda de LMB.

Resultado de ejemplo: la línea del nombre de la tabla y la línea de visualización se rellenan automáticamente. Un pájaro significa que el valor del campo se muestra en la pantalla. Para mostrar los apellidos en orden alfabético, seleccione el campo Apellido en la fila Ordenar de forma ascendente.

Ejemplo Necesitamos filtrar por los campos Sexo y Grupo. Por lo tanto, arrastraremos estos campos de las tablas a la fila Campo. No es necesario que estos campos se muestren en la pantalla, por lo que eliminaremos el pájaro en la línea Mostrar. Resultado:

Ejemplo Rellenemos la línea Condición de selección. En esta línea, para el campo Género, especifique zh (ver tabla), y para el campo Grupo, especifique 9701. Resultado: Estos campos son de tipo texto. Las comillas dobles se agregan automáticamente. Haga clic para completar la solicitud.

Compilación de condiciones de filtro Las condiciones de filtro son restricciones colocadas en una consulta para determinar con qué registros trabajará. En condiciones de selección: el valor de un campo de tipo fecha/hora se encierra entre signos de número (#). Por ejemplo, #05. 02. 2009# el valor de un campo de tipo texto está entre comillas dobles rectas ("). Para combinar dos campos de tipo texto, se utiliza el operador &. El nombre del campo está entre corchetes (). La condición de selección está escrito en el formulario de solicitud en la línea "Condición de filtro" en ese campo en el que se realiza la comparación.

Comprobación de un rango de valores Para probar la igualdad, se puede omitir el signo =. Condición de selección Resultado de selección = "Ivanov" Selección de registros que contienen apellidos que comienzan con "Ivanov" y hasta el final del alfabeto en el campo "Apellido" Entre Selección de registros que contienen en el campo "Fecha" #02. 99# y fechas entre el 2 de febrero de 1999 y el 1 de diciembre de 1999 #01. 12. 99# No "EE. UU." Selección de registros que contengan en el campo "País" cualquier país excepto EE. UU.

Combinación de criterios de selección mediante los operadores Y y O Si se ingresan expresiones en varias celdas de Criterios de selección, se combinan automáticamente mediante los operadores Y u O. Si las expresiones están en celdas diferentes pero en la misma línea, Microsoft Access usa el operador Y

Combinación de criterios de selección mediante los operadores and y or Si las expresiones se encuentran en líneas diferentes del formulario de consulta, Microsoft Access utiliza el operador Or.

La parte (Me gusta) del valor del campo El operador Me gusta funciona de la misma manera que los patrones para buscar archivos. Resultados de la selección de expresiones Como "C*" Los nombres comienzan con la letra C Como "[A-D]*" Los nombres van de la A a la D Como "*tr*" Los nombres contienen una combinación de las letras "tr" Como "? ?" Los nombres consisten cuatro letras

Valor de campo vacío Expresión Los resultados del filtrado son nulos Filtrado por un campo que contiene un valor nulo, es decir, está vacío " " Filtrado por un campo que contiene una cadena de longitud cero

Solicitud con parámetro Parámetro – información para la solicitud, ingresada desde el teclado. Se utiliza en una condición de selección. El texto del mensaje se indica entre corchetes. Al final, se requiere ":" Cuando se ejecuta una consulta de este tipo, se muestra la siguiente ventana: Resultado.

En el caso más simple, la consulta implementa la selección de una tabla de los campos obligatorios, los registros correspondientes a las condiciones de selección especificadas y la visualización de los resultados de la consulta.

Diseño de consultas de selección con condiciones de selección

Consideremos las consultas de selección en Access usando el ejemplo de obtener información de la tabla PRODUCTO de la base de datos Suministro de mercancías.

Tarea 1. Supongamos que es necesario seleccionar una serie de características de un producto por su nombre.

  1. Para crear una consulta en la ventana de la base de datos, seleccione la pestaña de la cinta - Creación(Crear) y en grupo Peticiones(Consultas) clic Consultor de construcción(Diseño de Consulta). Se abrirá una ventana de consulta de selección vacía en la vista Diseño: SolicitudN(ConsultaN) y cuadro de diálogo Agregar una tabla(Mostrar Tabla) (Fig. 4.2).
  2. En la ventana Agregar una tabla(Mostrar tabla) seleccione la tabla PRODUCTO y haga clic en el botón Agregar(Agregar). La tabla seleccionada se mostrará en el área de esquema de datos de consulta. Cerrar la ventana Agregar una tabla(Mostrar tabla) presionando el botón cerca(Cerca).

Como resultado de las acciones realizadas en la ventana del diseñador de consultas (Fig. 4.1), aparecerá el esquema de datos de consulta en el panel superior, que incluye las tablas seleccionadas para esta consulta. En este caso, una tabla PRODUCTO. La tabla está representada por una lista de campos. La primera línea de la lista de campos de la tabla, marcada con un asterisco (*), indica el conjunto completo de campos de la tabla. El panel inferior es un formulario de solicitud para completar.

Además, aparece una nueva pestaña y se activa automáticamente en la cinta (Herramientas de consulta | Diseño) (en la Fig. 4.3 se muestra en parte de esta pestaña), en la que se resalta en color el tipo de consulta creada: Muestra(Seleccione). Por lo tanto, de forma predeterminada, siempre se crea una consulta de selección. Los comandos de esta pestaña proporcionan herramientas para realizar las acciones necesarias al crear una consulta. Esta pestaña se abre cuando se crea una nueva consulta en modo diseño o se edita una existente.

  1. Para eliminar cualquier tabla del esquema de datos de consulta, coloque el cursor del mouse sobre ella y presione la tecla . Para agregar - haga clic en el botón Mesa de exhibición(Mostrar tabla) en un grupo Configuración de consulta Pestaña (Configuración de consulta) Trabajar con solicitudes | Constructor(Herramientas de consulta | Diseño) o ejecute el comando Agregar tabla(Mostrar tabla) en el menú contextual llamado en el esquema de datos de consulta.
  2. En la ventana del constructor (Fig. 4.4), arrastre secuencialmente desde la lista de campos de la tabla PRODUCTO los campos COMPRAR_TOV, PRECIO, DISPONIBILIDAD_TOV en las columnas del formulario de solicitud en la fila Campo(campo).
  3. Para incluir los campos deseados de la tabla en las columnas apropiadas de la consulta, puede usar las siguientes técnicas:
    • en la primera línea del formulario de solicitud Campo(Campo) haciendo clic con el mouse, haga que aparezca el botón de lista y seleccione el campo deseado de la lista. La lista contiene los campos de las tablas representadas en el esquema de datos de consulta;
    • haga doble clic en el nombre del campo de la tabla en el esquema de datos de consulta;
    • Para incluir todos los campos en una tabla, puede arrastrar o hacer doble clic en el símbolo * (asterisco) en la lista de campos de la tabla en el esquema de datos de consulta.
  4. Si arrastró por error un campo innecesario en el formulario de solicitud, elimínelo. Para hacer esto, mueva el cursor al área de marcado de la columna desde arriba, donde tomará la forma de una flecha negra apuntando hacia abajo, y haga clic en el botón del mouse. La columna se resaltará. Presione la tecla o ejecuta el comando Quitar columnas(Eliminar columnas) en un grupo Configuración de consulta(Configuración de consultas).
  5. En línea Salida en pantalla(Mostrar) verifique los campos, de lo contrario no se incluirán en la tabla de consulta.
  6. escribir en línea Condiciones de selección(Criterios) nombre del producto, como se muestra en el formulario de solicitud en la fig. 4.4. Dado que la expresión en la condición de selección no contiene un operador, el operador = se usa de forma predeterminada. El valor de texto utilizado en la expresión se ingresa entre comillas dobles, que se agregan automáticamente.
  7. Ejecute la consulta haciendo clic en el botón Ejecutar o en el botón Ver en el grupo Resultados. Aparecerá en pantalla una ventana de consulta en modo tabla con un registro de la tabla PRODUCTO que cumpla las condiciones de selección especificadas.

COMENTARIO
La ventana de consulta de vista de tabla es similar a la ventana de vista de tabla de base de datos. A través de algunas tablas de la consulta se pueden modificar los datos de la tabla base subyacente a la consulta. Una consulta vista en la vista Hoja de datos, a diferencia de una tabla de base de datos de Access 2010, no tiene una columna Haga clic para agregar(Haga clic para agregar), diseñado para cambiar la estructura de la tabla. En este modo, en la pestaña de la cinta casa(Inicio) están disponibles los mismos botones que al abrir una tabla de base de datos.

  1. Si cometió un error al ingresar un nombre de producto complejo, el producto no se encontrará en la tabla. Uso de operadores de plantilla: asterisco (*) y signo de interrogación (?) (estándar ANSI-89, utilizado para consultas de forma predeterminada) o signo de porcentaje (%) y guión bajo (_) (ANSI-92, recomendado como estándar para SQL Server) , facilita encontrar las cuerdas correctas y evita muchos errores. Ingrese Case* o Case% en lugar del nombre completo del producto. Complete la solicitud. Si en el campo de nombre del producto un valor comienza con la palabra "Caso", el resultado de la consulta será el mismo que en el caso anterior. Después de ejecutar la consulta, la expresión ingresada se complementará con el operador Me gusta "Cuerpo*". Este operador le permite utilizar caracteres comodín al buscar en campos de texto.
  2. Si necesita buscar varios elementos, utilice el operador En. Le permite probar la igualdad con cualquier valor de la lista, que se especifica entre paréntesis. Anote en la línea de condiciones de selección In (“MiniTower case”;”HDD Maxtor 20GB”;”FDD 3.5″). La tabla de consulta mostrará tres filas. La instrucción In no permite caracteres comodín.
  3. Guarde la consulta haciendo clic en la pestaña Archivo(Archivo) y ejecutando el comando Ahorrar(Ahorrar). En la ventana Preservación(Guardar como) ingrese un nombre de consulta Ejemplo1. Tenga en cuenta que el nombre de la consulta no debe coincidir no solo con los nombres de las consultas existentes, sino también con los nombres de las tablas de la base de datos.
  4. Cierre la solicitud actual usando el comando del menú contextual cerca(Cerrar) o haciendo clic en el botón de la ventana de consulta cerca(Cerca).
  5. Ejecute la consulta guardada resaltando la consulta en el panel de navegación y seleccionando el comando del menú contextual Abierto(Abierto).
  6. Para editar una consulta, selecciónela en el área de navegación y ejecute el comando en el menú contextual Constructor(Vista de diseño).

Tarea 2. Que sea necesario elegir bienes cuyo precio no supere los 1000 rublos, y el IVA no supere el 10%, y también elegir bienes cuyo precio sea superior a 2500 rublos. El resultado debe contener el nombre del producto (NOMBRE_TOV), su precio (PRICE) y el IVA (RATE_VAT).

  1. Cree una nueva consulta en modo de diseño, agregue la tabla PRODUCTO. En la ventana del constructor (Fig. 4.5), arrastre secuencialmente desde la lista de campos en la tabla GOODS al formulario de consulta los campos LEARN_TOV, PRICE, RATE_VAT.
  2. anote Condiciones de selección(Criterios), como se muestra en el formulario de solicitud en la Fig. 4.5. Entre las condiciones escritas en la misma línea, se realiza una operación AND lógica. Entre las condiciones escritas en diferentes líneas, se realiza la operación lógica OR.
  3. Ejecute la consulta, haga clic en el botón Correr(correr) en grupo resultados(resultados). Aparecerá en pantalla una ventana de consulta en modo tabla con los registros de la tabla PRODUCTO que cumplan las condiciones de selección especificadas.
  4. Guarde la solicitud ejecutando el comando correspondiente en el menú contextual de la solicitud, que se llama cuando el cursor se coloca en el encabezado de la solicitud. Dale un nombre Ejemplo2.

Tarea 3. Que sea necesario seleccionar todas las facturas de un periodo determinado. El resultado debe contener el número de factura (NOM_NAK), el código de almacén (CODE_SK), la fecha de envío (DATE_SHIPP) y el valor total de la mercancía enviada (AMOUNT_INC).

  1. Cree una nueva consulta en modo diseño, agregue la tabla FACTURA. En la ventana del diseñador, arrastre secuencialmente todos los campos obligatorios de la lista de campos de la tabla FACTURA al formulario de solicitud.
  2. Para el campo DATE_OTGR en la línea Condiciones de selección(Criterios) anotar Entre #11.01.2008# Y #31.03.2008#. El operador Entre especifica un intervalo de fechas (en ANSI-92, se utilizan comillas simples ' en lugar del signo #). Además, este operador le permite especificar un intervalo para un valor numérico.

Para solucionarlo, mira el video tutorial:

Campos calculados en consultas de Access.