Buscar registro a partir del valor de formulario

Llevo poco tiempo manejando access y estoy creando una base de datos que entre otras cosas maneja reservas de actividades deportivas.
Mi formulario principal para gestionar las reservas utiliza un control de calendario y dos subformularios.
Uno de los subformularios (Partidas_fecha) muestra las partidas mediante una consulta sobre todas las partidas en base a la fecha seleccionada del control de calendario, en formato hoja de datos.
El otro subformulario (Formulario único) muestra los socios y tiene varios subformularios internos de reservas de cada socio, y partidas incluidas en cada reserva. Pero solo muestra un registro de socio cada vez.
Lo que yo deseo es que cuando seleccione una de los registros de la hoja de datos del subformulario "partidas_fecha" el subformulario de "socios_partida" me muestre los datos de ese socio en concreto.
En un principio he creado 2 cuadros de texto que capturan la fecha y el id del socio. (txt_fechaActiva ; txt_socioActivo)
La consulta del formulario "partidas_fecha" tiene como criterio el valor "txt_fechaActiva" y funciona perfectamente, cuando selecciono una fecha del control de calendario se actualiza el cuadro de texto y la consulta de "partidas_fecha" me actualiza las partidas mostradas en función de esa fecha.
Pero cuando intento usar el mismo método para los socios no ocurre igual, uso como criterio de consulta de socios "txt_socioActivo" el cual he de decir que si se actualiza cuando hago click entre varios de los registros de las partidas del día, pero la consulta de socios se quedaba congelada en el mismo valor inicial incluso aunque le solicitara un requery.
Estoy atascado en este momento y no se muy bien como implementar la consulta, o si bien debería crear algún tipo de filtro o simplemente implementar un evento o botón que automatizara un Buscar registro basado en el valor del "txt_socioActivo" sobre el subformulario de socios al hacer click sobre una de las partidas del día, lo cual tampoco se como realizar.

1 Respuesta

Respuesta
1
Lo que tienes que hacer es un Master-Detail. Si me mandas la Estructura de la bd te ayudaría más. Lo que te propongo es que cuando selecciones en la rejilla Maestra, seleccionas el id ( Registro Conector o Identificador Único que relaciona las 2 tablas entre si) y con ese Id realizas una consulta en la tabla secundaria con los detalles de ese usuario.
Pe.
Tabla_Usuarios. Id_Usuario --> Clave Primaria e Identificador Único de Usuario
Tabla_Direcciones --> Contiene el Id_Usuaria y demás datos relacionados.
select *
from t_usuarios
,t_direcciones
where t_usuarios.Id_usuario = t_direcciones.Id_usuario
PD El Select asterisco no es na buena preactica por ende te recomiendo que consultes solos los campos que necesites en tus formularios.
No se muy bien donde situar ese código.
¿Tengo qué situarlo como criterio de cns_socios? Que es la consulta que me devuelve los datos de todos los socios, o como código dentro del evento activar registro de cns_partidas_fecha.
Los dos formularios son independientes, puesto que no me permite situar el formulario de socios como subformulario de partidas_fecha.
Como he comentado soy bastante novato en esto y aunque entiendo lo que me quieres decir no se donde ni como situarlo para que funcione correctamente.
Con respecto a la estructura de tablas, tengo:
Tabla de socios, cuya key es id_socio
Tabla de reservas, cuya key es id_reserva y se relaciona con socios con otro campo id_socio
tabla partidas , relacionada con campo id_reserva con la tabla de reservas y el key formado por 3 campos ( id_pista;fecha;hora_inicio)
Los formularios los he realizado en base a consultas sobre esas tablas.
No se muy bien que más datos proporcionarte, aparte de la propia base de datos en si.
Gracias
Al realizar la consulta en tu formulario principal es con un método de getid_usuario obtener el usuario que ha deseado el USUARIO. LUego ese id_usuario se lo envías al otro formulario ( en el método new o el que te parezca más fácil) con ese dato en el otro formulario realizas la búsqueda en la tabla secundaria que seria reservas y partida. Allí lograrías un maestro detalle.
Muchas gracias por la ayuda, finalmente logre situar bien el código del master detail, lo estaba usando como criterio cuando solo tenia que situarlo directamente en el código sql de la consulta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas