我正在创建一个资产管理数据库,其中包含2个表(Assets和AssetMovements)和一个表单(Assets).
我需要保留每个资产移动的记录,因此每次将新资产添加到资产表或修改现有资产记录的“位置”值时,都应将记录保存到AssetMovements表中. AssetMovements表就是用来记录事务的.
我需要保留每个资产移动的记录,因此每次将新资产添加到资产表或修改现有资产记录的“位置”值时,都应将记录保存到AssetMovements表中. AssetMovements表就是用来记录事务的.
我怎样才能做到这一点?我会很感激我能得到的任何指示,或者是否有人可以提出更好的方法来保持运动记录.
谢谢.
解决方法
该按钮具有单击时触发的单击事件.使用VBA编写单击按钮时执行的一些代码.
单击该按钮时,您将记录保存到资产.然后使用查询将该记录复制到AssetMovements表.所以,代码看起来像这样:
单击该按钮时,您将记录保存到资产.然后使用查询将该记录复制到AssetMovements表.所以,代码看起来像这样:
Dim OldLocation As String Private Sub CmdSave_Click() DoCmd.RunCommand acCmdSaveRecord End Sub Private Sub Form_AfterUpdate() Dim strsql If OldLocation <> Location.Value Then strsql = "INSERT INTO AssetMovements SELECT T1.* FROM Assets WHERE Assets.ID = " strsql = strsql & Me.ID CurrentDb.Execute strsql End If End Sub Private Sub Form_BeforeUpdate(Cancel As Integer) OldLocation = Me.Location.OldValue End Sub Private Sub Form_Current() OldLocation = Me.Location.Value End Sub
然后,这将使用唯一ID(我在AssetID中猜到)将表单的当前记录复制到AssetMovement表.