Todoexpertos.com
http://www.todoexpertos.com
La respuesta está en Internet
Información de la pregunta
Título: Formularios y relacion 1:1
Experto: dytcdo
Valoración: 5
Fecha: 08/08/2008


Formularios y relacion 1:1
Hola experto, mi problema es el siguiente: tengo unas relaciones 1:1 y quisiera llenarlas simultaneamente desde un formulario con subformulario, el asunto es que al llenar todos los campos en el subformulario, este entrega la opcion 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 registo) y quiero que el subformulario solo sirva para agregar 1 registro (ya que es 1:1), bueno tambien tengo otra inquietud ¿Puedo limitar tambien a que el subformulario de la posibilidad de agregar 2 registros? (solo 2 o 1 o 2?).
Espero tu sabia respuesta experto
Saludos

Formularios y relacion 1: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 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

Pregunta finalizada. Valoración: 5
Muhas gracias por la ayuda


Volver al mensaje
http://www.todoexpertos.com/categorias/tecnologia-e-internet/bases-de-datos/microsoft-access/respuestas/1892208/formularios-y-relacion-1-1