BBDD DE CANDIDATOS: relaciones de tablas y formulario

9 envíos / 0 nuevos
Último envío
ALICIARG
Imagen de ALICIARG
Offline
última acción: Hace 4 años 8 meses
alta: 25/08/2016 - 12:13
Puntos: 555
BBDD DE CANDIDATOS: relaciones de tablas y formulario

Hola:

Tengo una BBDD que estoy diseñando de Candidatos para mi empresa. Tengo 2 dudas:

1.No se si está bien diseñada en cuanto a Claves y Relaciones entre Tablas. 

2. No soy capaz de hacer un formulario en el que vea los registros que hay la tabla.

Gracias de antemano.

AdjuntoTamaño
Binary Data BBDD DE PROMOTORAS Y AZAFATAS904 KB

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 día 4 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Hola:1- Claves y RelacionesLa

Hola:

1- Claves y Relaciones

La Clave principal de la tabla simplemente debe cumplir que sea un valor único que identifique el registro.

Veo que has utilizado el documento de identidad como identificador único de tus candidatos. Pues bien, si cada persona va a aparecer sólo una vez y siempre vas a tener el dato del documento de identidad. No podrás apuntar a alguien que por ejemplo no recuerde su número de documento de identidad y te lo quiera enviar mañana.

A mí me gusta utilizar campos autonuméricos para las claves principales, y lo hago siempre sin pensar, pero no es necesario hacerlo así. A mí me gusta porque un número ocupa menos memoria que un texto y en según qué condiciones Access opera más rápido, pero ya digo que lo hago más por costumbre que por necesidad real porque el rendimiento trabajando en local no suele ser un problema. 

 

2-Formulario para mostrar los registros:

Lo único que me llama la atención en la consulta de origen para los datos del formulario es la relación entre el candidato y sus tablas relacionadas: formación, provincia, municipio, país, etc.

Tal y como lo tienes sólo se mostrarán los datos donde el valor en las tablas coincida, es decir, que si un candidato no tiene dato de provincia no aparecerá en el formulario. Tampoco aparecerá si no tiene datos de formación.

datos de origen del formulario

Entiendo que en el formulario querrás que aparezca un candidato en cuanto tengas algún dato, así que yo modificaría la consulta de origen del formulario y cambiaría las relaciones que aparecen allí.

elegiría la opción de "TODOS los registros de 01_01_candidatos y sólo aquellos registros de ... donde los campos combinados sean iguales"

lo dejaría algo así:

 

 

 

------
Ya sé Excel, pero necesito más.

ALICIARG
Imagen de ALICIARG
Offline
última acción: Hace 4 años 8 meses
alta: 25/08/2016 - 12:13
Puntos: 555
BBDD DE CANDIDATOS: formulario erro ID paises

Eres un crack, Paco Mejía. 

Adjunto de nuevo la base. 

Cuando intento incluir un nuevo registro me da error pidiéndome el id_país...

 

AdjuntoTamaño
Binary Data bbdd_promotoras.accdb1.28 MB
pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 día 4 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Parece que en los datos de

Parece que en los datos de origen del formulario tienes la tabla "02_GRUPO Enclave" que tiene relación uno a muchos.

sin embargo tienes un formulario para esos datos de Enclave, así que entiendo que no lo necesitas en el origen de tu formulario principal.

Si intentas guardar un registro de candidatos no sabe qué hacer con el lado mucho y por eso dice que necesita un valor para el campo documento en las otras tablas.

datos origen uno a muchos

bueno, he quitado esta tabla Enclave del origen del formulario principal y parece que me deja crear nuevos registros sin este fallo.

 

Luego me aparece el fallo del país que comentas

Mirando las relaciones entre estas dos tablas en las relaciones de la base de datos veo que no tienes activado "exigir integridad referencial", entonces, como no tiene que haber integridad (puede no coincidir), Access no va a presuponer que el valor de una tabla tiene que ser igual al de la otra así que por eso te lo pregunta. Activa la integridad referencial en la relación entre tus tablas

Lo mismo te va a pasar con las relaciones entre otras tablas como la relación de idioma con la experiencia. Siempre que puedas activa la integridad referencial en tu caso creo que puede estar activado en todas tus relaciones.

 

------
Ya sé Excel, pero necesito más.

ALICIARG
Imagen de ALICIARG
Offline
última acción: Hace 4 años 8 meses
alta: 25/08/2016 - 12:13
Puntos: 555
quitar tabla

Paco:

La tabla "02_GRUPO ENCLAVE" tendría la información de cada trabajo que realice el candidato dentro de la empresa. Por este motivo la había relacionado de uno (candidato) a muchos (puede realizar más de un trabajo).

Si no las relaciono y establezco la integridad referencial: ¿como sabe el programa si elimino un trabajador que ha trabajado con la empresa? Se quedaría huerfano el trabajo realizado...

Además, ¿tendría que volver a rellenar el [Documento] en el subformulario?

Como ves, tengo bastantes lagunas de base :-( 

Por otro lado, si activo la integridad referencial en la relación entre las tablas de paises, municipios, idiomas... a la hora de escribir el [documento] en el formulario, no me deja introducir ningún valor...

 

Mil gracias por tu colaboración

ALICIARG
Imagen de ALICIARG
Offline
última acción: Hace 4 años 8 meses
alta: 25/08/2016 - 12:13
Puntos: 555
A punto de abandonar...

... no entiendo demasiadas cosas... De verdad que intento trabajar con tablas relacionadas en vez de hacer una única tabla con todos los datos de cada registro y repetir información pero se me hace muuuy complicado.

Adjunto la base tal y como la tengo hoy. A la hora de introducir los datos en el formulario me dan errores que no se como solucionar:

- El motor de base de datos de Microsoft Access no puede encontrar ningún registro en la tabla "03_2_provincias" con los campos clave "Id_Provincia" coincidentes.

En el subformulario GRUPO _ENCLAVE también me da error al seleccionar al responsable.

Necesito poder documentar los trabajos que hagan cada candidato dentro de la empresa...

Por fa, Paco Mejía, echame una mano.... ¿tienes un mail en el que te podamos contactar?

 

AdjuntoTamaño
Binary Data bbdd_promotoras.accdb1.47 MB
pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 día 4 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
En Access hay que trabajar

En Access hay que trabajar con tablas relacionadas, está pensado para eso.

Tienes que diferenciar por un lado las relaciones en la base de datos, de las relaciones que tienes en la consulta de origen de tu formulario.

En las relaciones entre tablas en la base de datos (Herramientas de base de datos > Relaciones)  yo las definiría todas con integridad referencial y todas con la opción de "donde ambos registros sean iguales", es decir, sin flechas para entendernos.

Luego, en la consulta de origen del formulario sí modificaría las relaciones y pondría esas flechas para mostrar registros que no tengan dato en las tablas relacionadas (contactos que no tengan país por ejemplo)

 

Para contactarme por email puedes utilizar el formulario en http://www.necesitomas.com/contact y te contesto a ese mensaje y vemos cómo podemos colaborar.

 

------
Ya sé Excel, pero necesito más.

ALICIARG
Imagen de ALICIARG
Offline
última acción: Hace 4 años 8 meses
alta: 25/08/2016 - 12:13
Puntos: 555
elegir entre distintas opciones

Paco: 

Si pongo en la relaciones tal y como me indicas, no me deja elegir ni los Estudios Académicos, ni el responsable, ni el Origen de la ficha ...

ALICIARG
Imagen de ALICIARG
Offline
última acción: Hace 4 años 8 meses
alta: 25/08/2016 - 12:13
Puntos: 555
Curso Superaprovechado

He tenido el placer de realizar un curso con el gran Maestro Paco Megía. Mil gracias por todas tus sugerencias y por compartir tus conocimientos.

Nos vemos en la próxima duda¡