¿Cómo relaciono 5 tablas en un formulario con pestañas?

Soy un aprendiz empírico y es mi primer trabajo en la plataforma Access, he tenido varios problemas y lo he solucionado, es un formulario con pestañas, he creado varias tablas, datos personales, datos familiares, información académica, información profesional etc, cada uno en una pestaña diferente, el formulario tiene confirmación de cambios si/no, edad automática y un subformulario que guarda datos de modificación hora, fecha ., logre poner todos los datos en un formulario con una consulta, pero ahora me forma conflicto si no edito todas tablas "pestañas" en este caso, no me forma una relación, y si elimino un registro o los registros me los elimina del formulario y de la consulta pero no de la tabla principal, en fin estoy un poco enredado si puedo poner el ejemplo para que lo observes no se..

1 respuesta

Respuesta
1
De entrada comentarte que (en mi opinión) tienes mal estructurada la información. A mi me parece que, salvo aquellos datos que pueden contener varios registros, todos deben ir a una misma tabla (y tu dices tener 5).
Cualquier dató único lo debes poner en la tabla principal (nombre, fecha nacimiento, dirección, etc)
Los datos relativos a información académica podrían ser una tabla aparte, ya que se un mismo registro de la tabla principal puede tener varios registros en esa tabla, al igual que una tabla de información profesional (puesto que puede haber trabajado en diversos sitios)
Una vez diseñadas esas tablas, de trata de tener el formulario basado en la tabla principal y los subformularios (basados en las tablas "por debajo") vinculados por el campo que identifica al registro de la tabla principal.
No se si me explico...
La verdad intente hacerlo con subformulario pero con este código que tengo para aceptar los cambios y guardar la información de los cambios solo lo hace con el origen de control principal cuando hago cambios en un subformulario no me pregunta si deseo hacer los cambios actuales.
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Respuesta As Integer
'If Me.Dirty Then
Respuesta = MsgBox("El registro ha sido modificado" & vbCrLf & vbCrLf & _
"¿Deseas guardar los cambios?", vbQuestion + vbYesNo, "DATOS MODIFICADOS")
If Respuesta = vbNo Then
Me.Undo 'No relizo los cambios
Else
'Realizo los cambios
If Nz(NomTecnicoModificacion, "") = "" Then
NomTecnicoModificacion = fOSUserName()
End If
Me!SubFormUltimaModificacion.Form!NomTecnico = NomTecnicoModificacion
Me!SubFormUltimaModificacion.Form!FechaModificacion = Date
Me!SubFormUltimaModificacion.Form!HoraModificacion = Time
End If
'End If
End Sub
Como hago para que este código tome todo el formulario y subformularios como uno solo. Y me realice la misma opción.
Si el subformulario tiene un origen del registro (es decir: no es independiente), los cambios se guardaran automáticamente en el momento de que el subformulairo pierda el enfoque. Eso es, te muevas a un control del formulario principal, muevas el registro (del formulario o del subformulario) o cierres el formulario.
Xavi

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas