0

我有一个未绑定的文本框,我想在其中输入一个数字,然后它将进入一个表单。当我这样做时,我也想以另一种形式更改复选框的状态。所以它就像库存。当我将此项目添加到此框时,我需要更改复选框值,因为它不再在库存中。所以我的表格是“信息”,复选框被命名为“ChkboxAvailableUse”。我也有与套件编号和位置相关的复选框。因此,当我在名为“AssignKit”的未绑定文本框中输入数字时,我希望该数字在“信息”表单和“InvKitNumber”文本字段中查找相同的套件编号,然后将该记录复选框(ChkboxAvailableUse)更改为改为假。我希望这是有道理的。我有我认为可以在下面工作的代码行。任何帮助都会很棒。谢谢

CurrentDb.Execute " UPDATE Info SET ChkboxAvailableUse = FALSE WHERE InvKitNumber = " & Me.AssignKit & ""
4

2 回答 2

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

我希望这会有所帮助,如果您需要我帮忙,请告诉我。

于 2013-07-13T18:04:38.713 回答
0

sql UPDATE 语句更新表中的字段。表格没有复选框,表格有,我假设该字段(在表格中)不称为ChkboxAvailableUse

如果该字段名为 AvailableUse,那么您将使用以下内容更新该字段:

CurrentDb.Execute "UPDATE Info SET AvailableUse = FALSE WHERE InvKitNumber = " & Me.AssignKit

然后您可以ReQuery使用(其他)表单(或表单上的控件),以便它反映这些更改。

于 2013-07-12T15:05:52.303 回答