Access - CONSULTA, FILTRO, REGISTROS...¿Cómo los capturo?

 
Vista:

CONSULTA, FILTRO, REGISTROS...¿Cómo los capturo?

Publicado por Marta Bocanegra (47 intervenciones) el 08/08/2002 03:24:45

En un subformulario muestro la siguiente consulta:

Select * from ConsultaSub Where ([Ambito_ID]= 2 Or [Ambito_ID]= 19)

[Ambito_ID]= 2 => Andalucía
[Ambito_ID]= 19 => Valencia

Si en el subformulario aplico un filtro por selección en uno de las filas de la columna Materias, eso equivale a hacer la siguiente consulta:

Select * from ConsultaSub Where ([Ambito_ID]= 2 Or [Ambito_ID]= 19) And ([Materia_ID] = 38)

donde [Materia_ID] = 38 => Turismo

con lo cual, de unos 3.000 registros que tiene la BD me aparecen en el formulario, digamos que 20...

Resumiendo:
1) Hago una consulta y obtengo una serie de registros.
2) A esos registros obtenidos les aplico un filtro y obtengo un subconjunto de los registros obtenidos en (1)

La pregunta es ¿cómo puedo ?capturar? ese conjunto de registros para utilizarlos en otro formulario?

Hay que tener en cuenta que la tabla ConsultaSub la obtengo por medio de una consulta de creación de tablas.

Espero haberme explicado con precisión.

Un saludo,
Marta.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CONSULTA, FILTRO, REGISTROS...¿Cómo los capturo

Publicado por Juan Amorós (489 intervenciones) el 08/08/2002 12:25:18
Marta:
Puedes crearte, mediante código, o a través de macro, una consulta con los resultados obtenidos (o una tabla) que, obviamente, primero elimines y después crees.
Saludos
Juan Amorós
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONSULTA, FILTRO, REGISTROS...¿Cómo los capturo

Publicado por Victoria (1530 intervenciones) el 08/08/2002 13:43:36
Hola
Toma la consulta final, con las tres condiciones, y úsala como Origen de los datos de tu nuevo formulario
Si es que te he entendido bien
Victoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONSULTA, FILTRO, REGISTROS...¿Cómo los capturo

Publicado por Marta (47 intervenciones) el 08/08/2002 18:40:48
Hola, Victoria:

Eso es precisamente lo que quiero hacer, pero no sé dónde localizar el código generado por el filtro que le aplico. El código de la SQL sí que lo tengo, puesto que se lo doy yo, pero el código del filtro no, ya que los registros son filtrados no a través de código si no por medio del embudo de la barra de herramientas, que también aparece en un menú contextual personalizado.

Lo que quiero es conseguir ese código, quitar los registros que tengan la clave duplicada y utilizarlo como origen de datos... ¿pero dónde está el código que genera el embudo?

Marta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONSULTA, FILTRO, REGISTROS...¿Cómo los capturo

Publicado por Victoria (1530 intervenciones) el 08/08/2002 22:58:01
Hola Marta
Pienso, por lo que dices aquí, que tanto filtro te lia un poco
Mira, solo has de abrir un formulario y ponerle en la propiedad Origen de los datos esto:
Select * from ConsultaSub Where ([Ambito_ID]= 2 Or [Ambito_ID]= 19) And ([Materia_ID] = 38)

Un truco para que no trabajes mucho: genera con el asistente un formulario basado en tu consulta: ConsultaSub, para que te tome los controles que necesitas, despues vete al diseño del form y cambia el origen de los datos por :
Select * from ConsultaSub Where ([Ambito_ID]= 2 Or [Ambito_ID]= 19) And ([Materia_ID] = 38)

y ya lo tienes
Para acceder a este form, pon, en donde lo desees, un botón y en su evento ClicK
DoCmd.OpenForm nombreTuFormulario
Si aún así no lo conisgues, me escribes y seguimos
Victoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONSULTA, FILTRO, REGISTROS...¿Cómo los capturo

Publicado por Marta (47 intervenciones) el 08/08/2002 23:27:41
Gracias, Victoria, por tu amabilidad y tu paciencia. Tal vez no me explico bien. Vamos a ver si a la tercera lo consigo.

1) Tengo una serie de cuadros de lista con selección múltiple simple. A partir de los items que elige el usuario monto la SQL y saco el resultado en un subformulario en vista hoja de datos.

2) En ese formulario me pueden salir, por ejemplo, para un mismo ámbito geográfico, distintas materias que pueden repetirse puesto que a cada materia pueden corresponderle distintos beneficiarios.

3) Es en ese subformulario donde el usuario puede filtrar los registros que aparecen en él para delimitar aún más la selección que ha hecho previamente. Este filtrado lo realiza con pulsando el botón derecho del ratón para que aparezca un menú contextual. Entonces hace clic sobre una materia, o sobre un beneficiario, o sobre cualquier otro campo de los que aparecen, pero ese filtrado lo hace, repito, con el famoso embudito y no a través de código.

4) Lo que yo quiero hacer es conservar el código que ha generado el embudo (ésto es lo que no sé dónde localizarlo) para que los datos que aparecen en el subformulario (seleccionados a través de los cuadros de lista y filtrados con el embudo) pueda mostrarlos en otro subformulario distinto. A partir de aquí, el proceso toma otro camino....

Espero haberme explicado un poquito mejor. Te agradezco tú interés y la ayuda que prestas a través de este foro. Siempre se aprende algo nuevo al leer tus respuestas.

Gracias,

Marta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONSULTA, FILTRO, REGISTROS...¿Cómo los capturo

Publicado por Victoria (1530 intervenciones) el 09/08/2002 14:57:40
Hola
Creo que si te habia entendido, pero...
Mira, la sql de la aplicacion del filtro queda almacenada en la propiedad Filter del formulario en el cual lo aplicas
Puedes recuperarla asignando a una variable esto:
Dim variable
variable=Me.Filter
Si la quieres ver, has de ir a la hoja de propiedades del form, pestaña Datos, línea: Filtro
Ambas trabajamos de distinta forma; yo te dije como hacerlo mediante código, eso es todo, aún así, te envio un ejemplo con tres formas de filtar y si hay problemas, me escribes
Victoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar