Búsqueda por criterios en interface para los usuarios de la BD

Dudas sobre Tablas, Consultas, Formularios, Informes...
magdacardoner
Nivel 3
Mensajes: 61
Registrado: Mié Nov 29, 2017 2:42 pm

Búsqueda por criterios en interface para los usuarios de la BD

Mensajepor magdacardoner » Jue Ene 11, 2018 8:40 pm

¡Buenas noches y feliz año!
Quisiera saber si con acces es posible hacer una interface en la que, al abrir, el usuario pueda hacer búsquedas por criterios o formularios a la carta, como se hace en la web de idealista o habitaclia, por ejemplo...
Muchas gracias,

Avatar de Usuario
Sveinbjorn
Moderador
Mensajes: 965
Registrado: Sab Oct 24, 2015 10:12 pm

Re: Búsqueda por criterios en interface para los usuarios de la BD

Mensajepor Sveinbjorn » Jue Ene 11, 2018 8:59 pm

Sí es posible, solo necesitas un formulario con X cuadros de lista en los que tengas los distintos valores de cada uno de lso criterios que quieras poner.
Luego puedes tener una consulta referenciada a esos cuadros de lista y tomarla como base para un formulario/informe que te muestre los resultados, siempre que los cuadros de lista sean de selección única; o bien puedes construir los criterios por código y abrir el formulario/informe con esos criterios.

No es especialmente difícil, y si mal no recuerdo, en la web de Neckkito, sección de Aportaciones, tienes algo parecido...

Un saludo
Sveinbjorn El Rojo

magdacardoner
Nivel 3
Mensajes: 61
Registrado: Mié Nov 29, 2017 2:42 pm

Re: Búsqueda por criterios en interface para los usuarios de la BD

Mensajepor magdacardoner » Jue Ene 11, 2018 10:02 pm

Perfecto, ¡gracias! Me pongo a investigar....

magdacardoner
Nivel 3
Mensajes: 61
Registrado: Mié Nov 29, 2017 2:42 pm

Re: Búsqueda por criterios en interface para los usuarios de la BD

Mensajepor magdacardoner » Sab Ene 13, 2018 8:23 pm

Buenas noches,

No he encontrado el ejemplo que me comentabas. De hecho hay varios archivos que no puedo abrir... Sobre todo los links de los pdf...

He hecho un formulario con los cuadros de lista que me interesan y una consulta con todos los datos que deseo para el informe final. Dices que la consulta debe estar referenciada al formulario. Podrías decirme cómo se hace?

Gracias,

Magda

Avatar de Usuario
Sveinbjorn
Moderador
Mensajes: 965
Registrado: Sab Oct 24, 2015 10:12 pm

Re: Búsqueda por criterios en interface para los usuarios de la BD

Mensajepor Sveinbjorn » Sab Ene 13, 2018 10:10 pm

Para vincular un parámetro de una consulta con un control de un formulario, en la fila de criterios puedes escribir:

Código: Seleccionar todo

[Formularios]![NombreFormulario]![NombreControl]


donde NombreFormulario y NombreControl serán los nombres de tu formulario y control (cuadro de texto, lista, combinado...) que contendrá el dato por el que vas a filtrar la consulta.

Te he preparado un ejemplo "a lo rápido", para que lo veas en funcionamiento, porque si usas esta opción, para que la consulta te devuelva resultados sin "problemas", deberás controlar que seleccionen un valor en cada uno de los cuadros.

Hacerlo por código es algo más versátil, pues puedes contemplar que solo escojan valores en uno, dos,..., todos los cuadros de lista, además de la posibilidad de seleccionar varios valores en un mismo cuadro de lista. Puedes ver cómo sería con este ejemplo de Neckkito (es con cuadros combinados, pero el funcionamiento es similar). Y para ver cómo seleccionar varios valores en un cuadro de lista, tienes este otro ejemplo mío en dicha web.

Saludos!
Sveinbjorn El Rojo

Avatar de Usuario
Neckkito
Moderador
Mensajes: 758
Registrado: Dom Oct 25, 2015 3:42 pm

Re: Búsqueda por criterios en interface para los usuarios de la BD

Mensajepor Neckkito » Dom Ene 14, 2018 3:01 pm

magdacardoner escribió:De hecho hay varios archivos que no puedo abrir... Sobre todo los links de los pdf...


En principio todos los links están revisados y deberían funcionar bien. ¿Me podrías poner un ejemplo (o varios) de alguno/s que no puedas abrir, por favor?

Es para revisarlo.

Gracias
Access MVP 2017-2019
http://bit.ly/NckAccess

magdacardoner
Nivel 3
Mensajes: 61
Registrado: Mié Nov 29, 2017 2:42 pm

Re: Búsqueda por criterios en interface para los usuarios de la BD

Mensajepor magdacardoner » Lun Ene 15, 2018 8:01 pm

Neckkito: Los links que no pude abrir (sale una pantalla con Erro 404 Página não encontrada) son los 6 primeros del pdf "Otra mas de filtros".

Avatar de Usuario
Neckkito
Moderador
Mensajes: 758
Registrado: Dom Oct 25, 2015 3:42 pm

Re: Búsqueda por criterios en interface para los usuarios de la BD

Mensajepor Neckkito » Lun Ene 15, 2018 8:10 pm

Perfecto. Ahora lo entiendo. Siguen saliendo las secuelas de la trastada que me hizo GDrive cambiando los enlaces de descarga :?

Si en mi web utilizas el buscador con los nombres de los ejemplos que aparecen el pdf los encontrarás enseguida.

Tomo nota y, en cuando pueda, modifico los enlaces del pdf. Muchísimas gracias por el aviso :D

Un saludo!
Access MVP 2017-2019
http://bit.ly/NckAccess

magdacardoner
Nivel 3
Mensajes: 61
Registrado: Mié Nov 29, 2017 2:42 pm

Re: Búsqueda por criterios en interface para los usuarios de la BD

Mensajepor magdacardoner » Lun Ene 15, 2018 8:56 pm

Hola Sveinbjorn:
Gracias por tu respuesta.
La opción que más me interesa es la última aunque es más compleja de lo que yo necesito. Ya lo tengo todo hecho pero no me filtra, me salen todos.
En tu ejemplo "FORMULARIO BUSCADOR AL TECLEO", el código del evento “Al hacer click” de cmdVer es demasiado complejo, no necesito tanto. Quisiera saber cómo seria el código si FAgenda en lugar de ser un formulario fuera un informe "infInterface1", el criterior en lugar de personas fueran varios "Comarca", "Tipo" ... y TAgenda en lugar de una tabla fuera una consulta "ConsInterface1". No hace falta que avise si no se ha seleccionado nada. Yo lo he puesto así pero no sé como modificar Call AbreFormAgenda(3, miSeleccion)

'Declaramos la variable
Dim miSeleccion As String
'Iniciamos la estructura del filtro
Set ctlList = Me.lstComarca
'Cogemos los valores seleccionados en el cuadro de lista, y los añadimos al filtro
For Each Opcion In ctlList.ItemsSelected
miSeleccion = miSeleccion & ctlList.ItemData(Opcion) & ","
Next Opcion
'Quitamos la última coma (,) del filtro
miSeleccion = Left(miSeleccion, Len(miSeleccion) - 1) & ")"
'Abrimos el mensaje en Modo Consulta y cerramos el Buscador
Call AbreFormAgenda(3, miSeleccion)
DoCmd.Close acForm, Me.Name
End Sub

Por otro lado, probando de hacer el módulo ahora no lo encuentro para borrarlo.
Creo que me he liado un poco....

Gracias,
Magda

Avatar de Usuario
Sveinbjorn
Moderador
Mensajes: 965
Registrado: Sab Oct 24, 2015 10:12 pm

Re: Búsqueda por criterios en interface para los usuarios de la BD

Mensajepor Sveinbjorn » Lun Ene 15, 2018 9:09 pm

En vez del Call... pon simplemente:

Código: Seleccionar todo

DoCmd.OpenForm "infInterface1",acViewPreview,,miSeleccion


Pero fíjate que te falta inicializar con algo (nombre del campo y operador) la variable miSeleccion. En el ejemplo, como voy a buscar los IDs que se corresponden con los seleccionados en el cuadro de lista, lo hago con

Código: Seleccionar todo

miSeleccion="[ID] IN ("

y en el código que pones veo que directamente te la has cargado sin poner otra.

Además, ten en cuenta que si los valores que devuelve tu cuadro de lista son de texto, y por ende vas a buscar en un campo de tipo texto, tendrás que añadir comillas simples antes y después de cada uno de los valores , para que el filtro tenga esta pinta:
[Comarca] IN ('Fisterra','Terra Cha','Deza')
con lo que para cada valor seleccionado tendrías que poner:
miSeleccion = miSeleccion & "'" & ctlList.ItemData(Opcion) & "',"
Sveinbjorn El Rojo


Volver a “Objetos Access”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados