Consulta de Referencias cruzadas en Access con parámetros
896
post-template-default,single,single-post,postid-896,single-format-standard,ajax_fade,page_not_loaded,,vertical_menu_enabled,qode-title-hidden,side_area_uncovered_from_content,qode-theme-ver-11.0,qode-theme-bridge,wpb-js-composer js-comp-ver-5.0.1,vc_responsive
Consulta de referencias cruzadas en Access con parámetros

Consulta de Referencias cruzadas en Access con parámetros

Es frecuente hacer una consulta SQL de referencias cruzadas en Access basada en una primera consulta que prepara los datos y los filtra en función de unos parámetros.

Consulta con parámetros en un formulario

La 1ª consulta con parámetros funciona bien pero la 2ª da un error al ejecutarse del tipo: “El motor de base de datos Microsoft Jet no reconoce … como un nombre de campo o expresión válidos”.

Error en consulta de referencias cruzadas con microsoft access

Hay que hacer lo siguiente:

  1. Suponemos que la 1ª consulta se basa en dos campos de fecha que están en un formulario y los campos se llaman: [Desde Fecha] y [Hasta Fecha]
  2. La primera consulta, la de selección, usa este dos campos para filtrar los datos.
  3. En la segunda consulta una vez construida y estando en el modo de diseño se debe ir a la barra de menús superior e ir a la opción Consulta->Parámetros y aparece una tabla de doble entrada donde pone Parámetro y Tipo de datos.
  4. Insertaremos tantas filas como parámetros tengamos, en nuestro caso serán dos:
    • [Formularios]![NombreFormulario][Desde Fecha], tipo de datos Fecha/Hora
    • [Formularios]![NombreFormulario][Hasta Fecha], tipo de datos Fecha/Hora
  5. Ahora podremos ejecutar la consulta sin que de errores.

Si los parámetros no están en un formulario si no directamente en la primera consulta el procedimiento en la 2ª consulta es el mismo. Para un criterio directo como True, False, mayor o menor, etc. no hace falta crear parámetros en la segunda consulta.

Consulta con parámetros en la primera consulta

Si lo que tenemos es un parámetro directo en la primera consulta el procedimiento es el mismo que en el punto anterior. La diferencia está que cuando vamos a Consulta>Parámetros en la primera columna pondremos el nombre del parámetro.

En la imagen inferior se puede ver como son las consultas y los parámetros. Como aclaración diré que la primera consulta del ejemplo es una consulta de agrupación en vez de un consulta normal. Esto no es relevante para el método pero mejor aclararlo. Con consultas normales se debe hacer lo mismo.

Consulta de referencias cruzadas en Access con parámetros
1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5,00 out of 5)
Cargando…
Tags:
6 Comments
  • Minolas
    Posted at 22:54h, 29 enero

    OK, PERFECTO!
    Funciona. Ya había perdido 1 semana intentando hacer este filtro por fecha de multitud de formas.
    Gracias por la respuesta 🙂

  • Alex Borrás
    Posted at 11:00h, 30 enero

    Me alegro de que te haya sido útil este tip de Access

  • Roberto
    Posted at 12:52h, 29 marzo

    Hola. He probado el procedimiento que expones y funciona. La consulta la hace correctamente sin errores, y si abro un formulario para ver la consulta en formato tabla la abre, pero si inserto ese formulario con la consulta de referencias cruzadas como subformulario en otro formulario, el subformulario de la consulta sale en blanco. ¿Sabes porqué?.
    Gracias

  • Alex Borrás
    Posted at 18:49h, 19 abril

    Eso de poner la consulta de referencias cruzadas en un subformulario no lo he probado. Es un tema complejo porque una tabla de referencias cruzadas tiene columnas variables y eso hace difícil tanto ponerlo en formularios como en informes. Si quieres pásame un mdb de ejemplo con la consulta y el formulario/subformulario y le doy un vistazo

  • AquilezBaezaarturo
    Posted at 02:37h, 13 septiembre

    BUENAS NOCHES AL HACER UN INFORME ME PIDE VARIAS VECES QUE PONGA EL VALOR DEL PARAMETRO, POR QUE LO HACE?

  • Alex Borrás
    Posted at 07:29h, 13 septiembre

    Eso es porque no encuentra la segunda consulta no encuentra buen definido el parámetro. Sigue los pasos y en teoría no te debe fallar.

Deja un comentario

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies