ms-access – MS Access:只需单击一下按钮,即可将表单数据保存到2个表中

我正在创建一个资产管理数据库,其中包含2个表(Assets和AssetMovements)和一个表单(Assets).
我需要保留每个资产移动的记录,因此每次将新资产添加到资产表或修改现有资产记录的“位置”值时,都应将记录保存到AssetMovements表中. AssetMovements表就是用来记录事务的.

我怎样才能做到这一点?我会很感激我能得到的任何指示,或者是否有人可以提出更好的方法来保持运动记录.
谢谢.

解决方法

该按钮具有单击时触发的单击事件.使用VBA编写单击按钮时执行的一些代码.
单击该按钮时,您将记录保存到资产.然后使用查询将该记录复制到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表.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些