|
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 póco 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 mas 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 util si la segunda tabla tiene datos de caracter accesorio, secundario o complementario de la primera
Espero que te sea de ayuda
|