Formularios y relacion 1:1

Hola experto, mi problema es el siguiente: tengo unas relaciones 1:1 y quisiera llenarlas simultáneamente desde un formulario con subformulario, el asunto es que al llenar todos los campos en el subformulario, este entrega la opción de agregar un nuevo registro (incluso ese registro no se puede agregar por significar un duplicado), el asunto es que que quiero borrar esa posibilidad (de agregar un nuevo registro) y quiero que el subformulario solo sirva para agregar 1 registro (ya que es 1:1), bueno también tengo otra inquietud ¿Puedo limitar también a que el subformulario de la posibilidad de agregar 2 registros? (solo 2 o 1 o 2?).
Espero tu sabia respuesta experto
Saludos

1 respuesta

Respuesta
1
Si tienes la relación entre las trablas 1:1 Access sólo dejará lógicamente añadir datos que cumplan esta relación, el subformulario no debería dejar añadir más datos con ese valor en el índice.
Si quieres que el subformulario se mueva en un sólo registro, y no en toda la tabla (esto te puede solucionar tu problema), ponle el ciclo al registro activo (propiedades, pestaña de otras, ciclo), el subformulario se moverá en el registro activo.
Si lo que quieres hacer es bloquear la entrada de datos del subformulario, pon la propiedad permitir agregar a no.
Lo de la relación 1:2, visto de una manera lógica, es lo mismo que 1:n, se me ocurren varias opciones que pudieras adaptar a tu caso.
La primera es añadir un campo booleano al índice, como sólo toma los valores 1 o 0, te permitirá tener sólo dos registros (necesariamente uno a 1 y otro a 0).
Otra opción un poco más compleja, pero asequible, es que hagas una consulta que cuente los veces que aparece esa relación 1:n en la segunda tabla, y por código manipules la propiedad de permitir agregar a si o no según el valor de esta consulta (esta es la opción que más me gusta, requiere cierto nivel de programación VBA). SELECT ... COUNT ..., If Count > 2 then allowadd = false
Otra opción, sólo para el caso de relación 1:2, es que lo pases a dos tablas 1:1, 1:1, y luego lo unas con una consulta UNION, esto puede ser útil si la segunda tabla tiene datos de carácter accesorio, secundario o complementario de la primera

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas