我有一个未绑定的文本框,我想在其中输入一个数字,然后它将以表格形式出现。当我这样做时,我也想改变另一种形式的复选框的状态。所以就像库存一样。当我将此项添加到此框时,我需要更改复选框值,因为它不再存在于库存中。所以我的表单是'Info',复选框名为'ChkboxAvailableUse'。我有一个与套件编号和位置相关的复选框。因此,当我在名为“AssignKit”的未绑定文本框中输入数字时,我希望该数字在“信息”表单和“InvKitNumber”文本字段中查找相同的工具包编号,然后将该记录复选框(ChkboxAvailableUse)更改为改为假。我希望这是有道理的。我有我认为可以在下面工作的代码行。任何帮助都会很棒。谢谢
CurrentDb.Execute " UPDATE Info SET ChkboxAvailableUse = FALSE WHERE InvKitNumber = " & Me.AssignKit & ""
答案 0 :(得分:1)
如果您只是想要取消选中或签入表格以匹配您的表单或子目录,那么您可以使用记录集。
Dim myR as Recordset
Dim strSQL as String
'This SELECT string will pull from the assignkit field in the subform
'and will be used find the matching record in the table
strSQL = "SELECT * FROM info WHERE InvKitNumber = '" & Me!subformnamehere.Form.AssignKit & "'"
'This will make your recordeset variable the one record you want to modify
Set myR = db.OpendRecordset(strSQL, dbOpenDynaset)
'Now that the recordset is pointing to that row, you can change the checkbox
'with something like this, and even use an IF statement
myR.Edit
myR![ChkboxAvailable] = True
myR.Update
'Then close the recordeset when done
Set myR = Nothing
我希望这会有所帮助,如果您需要我进行调整,请告诉我。
答案 1 :(得分:0)
sql UPDATE语句更新表中的字段。表格没有复选框,表格没有,我假设字段(在表格中)没有被称为 ChkboxAvailableUse ?
如果该字段名为AvailableUse,那么您将使用以下内容更新此字段:
CurrentDb.Execute "UPDATE Info SET AvailableUse = FALSE WHERE InvKitNumber = " & Me.AssignKit
然后您可以ReQuery
(其他)表单(或表单上的控件),以便它反映这些更改。