Vba 表单复选框更新后访问2010更新表字段

Vba 表单复选框更新后访问2010更新表字段,vba,checkbox,ms-access-2010,Vba,Checkbox,Ms Access 2010,我有一个access 2010数据库,用于跟踪设备的安装情况 一个表(tblSerial_编号)包含所有设备零件号和序列号,带有是/否字段类型,以指示是否已安装 第二个表(TBLINInstallation)跟踪安装数据,即日期、位置、零件、序列号等 我有一个基于tblInstallation的表单,供最终用户输入填充tblInstallation所需的所有信息 我的问题是,我希望在同一表单上有一个复选框来更新tblSerial_编号中的Installed字段 因此,对于复选框,我有一个更新后事

我有一个access 2010数据库,用于跟踪设备的安装情况

一个表(tblSerial_编号)包含所有设备零件号和序列号,带有是/否字段类型,以指示是否已安装

第二个表(TBLINInstallation)跟踪安装数据,即日期、位置、零件、序列号等

我有一个基于tblInstallation的表单,供最终用户输入填充tblInstallation所需的所有信息

我的问题是,我希望在同一表单上有一个复选框来更新tblSerial_编号中的Installed字段

因此,对于复选框,我有一个更新后事件子项,其代码如下

Private Sub chkInstalled_AfterUpdate()
CurrentDb.Execute "UPDATE tblSerial_Numbers " & _
              "SET Installed = " & Nz(Me.chkInstalled) & _
              " WHERE Serial_Number = " & Nz(Me.cboSerNum)
End Sub
这应该使用表单组合框(cboSerNum)中指定的序列号将tblSerial_编号中的“Installed”(已安装)设置为表单上的任何复选框,但它不起作用。也没有错误

感谢您的帮助

更新:


语法错误已经解决,更新tblSerial_编号中的Installed字段仍然不起作用。

我已经能够解决这个问题

问题的核心是tblInstallation中的SerNum字段。这是从tblSerial_编号中查找的。cboSerNum中的值是tblSerial_编号中记录的主键(自动编号),而不是设备的实际序列号

SQL查询的一个简单修改修复了tblSerial_编号中安装字段的更新

 Private Sub chkInstalled_AfterUpdate()
 CurrentDb.Execute "UPDATE tblSerial_Numbers " & _
                   "SET Installed = " & Nz(Me.chkInstalled) & _
                   " WHERE ID = " & Nz(Me.cboSerNum)
 End Sub
这是我的最终代码(只是让它看起来更传统)


您之前没有空格字符,^我们有一个赢家丁丁丁丁丁内森,他修复了语法错误。。。但是更新查询没有更改tblSerial_numbers是文本类型的序列号中已安装字段的状态。是否同时为me.chkInstalled和me.cboSerNum设置了值?
 Private Sub chkInstalled_AfterUpdate()

 CurrentDb.Execute "UPDATE tblSerial_Numbers " & _
                   "SET tblSerial_Numbers.[Installed] = " & Me.chkInstalled & _
                   " WHERE tblSerial_Numbers.[ID] = " & Me.cboSerNum & ";"

 End Sub