Modificar registro de tabla desde formulario dependiente de otra tabla.

Tengo dos tablas "T_Contabilidad" y "T_ LibroContable" ambas tablas están relacionadas entre si por el campo Expediente del tipo alfanumérico . La relación es del tipo 1 a 1 con activación de integridad referencial, actualizar en cascada y eliminar en cascada. Los Registros se introducen mediante un formulario "F_AnotacionContable" dependiente de la tabla "T_Contabilidad". En el formulario tengo un botón con una Instrucción SQL para insertar el registro en la tabla "T_LibrroContable".- Hasta ahí todo funciona bien,.- El problema se me plantea cuando surge la necesidad de modificar algún registro. La modificación se realiza en el formulario y queda grabada en la tabla origen del formulario, pero no en la otra.

¿Qué puedo hacer para que los cambios también queden grabados en la tabla "T_libroContble"?

1 respuesta

Respuesta
2

Por si te puede dar una idea

Si tengo el formulario Clientes, donde tengo un botón que al pulsarlo, hace lo que creo que hace el tuyo.

Si ahora cambio Madrid por Cartagena

Simplemente con cerrar el formulario

En la tabla Copia me ha cambiado la ciudad. Si hubiera modificado, el cliente, el país, etc, también me lo hubiera modificado. En este caso, en el evento Después de actualizar del formulario le tengo puesto

Private Sub Form_AfterUpdate()
DoCmd.RunSQL "update copia set cliente='" & Me.Cliente & "',ciudad='" & Me.Ciudad & "', pais='" & Me.Pais & "' where cliente='" & Me.Cliente & "'"
End Sub

En el where..., tú tendrías que poner un campo que no se modifique, como podría ser el Idcliente.

Julián, Necesito que me aclares un poco más la instrucción SQL

Yo tengo puesto esto en el evento "después de actualizar" del formulario

DoCmd.RunSQL "update T_libroContabilidad set FechaAnotacion='" & Me.FechaAnotacion & "',Tipo='" & Me.TIPO & "',Concepto='" & Me.Concepto & "',Descripcion='" & Me.Descripcion & "',Debe='" & Me.Debe & "',Haber='" & Me.Haber & "' Where Expediente='" & Me.Expediente & "'"

Cuando se ejecuta la SQL, me sale esto

He comprobado los tipos de campo y son iguales.

¿Puedes decirme donde me he equivocado?

De entrada, si tanto el campo Debe como Haber son numéricos(moneda) que por el nombre creo que sí tienes que ponerlo como

...Debe=" & me.debe & "

...Haber=" & me.Haber & "

Cuando son fechas, caso de FechaAnotacion tienes que ponerlo como

FechaAnotacion=#" & me.fechaanotacion & "#

Los campos de origen y destino no tienen porque llamarse igual, pero sí ser de datos coherentes, es decir, si el campo destino es numérico, el campo origen tiene que ser numérico, si es formato fecha, el campo origen tiene que ser fecha.

José María, ahora que el Betis va a jugar la UEFA, si quieres, repito, si quieres haz una copia, con datos inventados de las dos tablas( sólo las dos) y el formulario. Le echo un vistazo y te digo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas