MSAccess:将一个值写入多个记录

时间:2018-07-05 12:12:01

标签: vba ms-access access-vba ms-access-2016

我有一个包含多个记录的表格。记录来自查询,相反,查询条件来自表格。到目前为止,一切都很好。效果很好。

现在我在标题中有一个文本框( tbx_Uebergabe_Std ),希望将其值写入全部 Uebergabe_SS ) >显示的记录是单击命令按钮时的记录( cbt_Ubergabe )。我尝试过的:

Private Sub cbt_Ubergabe_Click() Me.Uebergabe_SS.Value = Me.tbx_Uebergabe_Std.Value End Sub

这只会更改最上面记录的值。这里的问题可能是,用于显示记录中的值的文本字段与字段本身的名称相同。

所以我想我可以通过以下方式直接从查询( qry_Dose )中写入记录:

Public Sub cbt_Ubergabe_Click() qry_Dose.Uebergabe_SS.Value = Me.tbx_Uebergabe_Std.Value End Sub

但这只会导致运行时错误(如果您想知道,则是424。)。

我做错了什么以及如何解决?

1 个答案:

答案 0 :(得分:2)

您可以使用表单.RecordsetClone属性来遍历所有项目:

Public Sub cbt_Ubergabe_Click()
    With Me.RecordsetClone
        .MoveFirst
        Do While Not .EOF
            .Edit
            !Uebergabe_SS.Value = Me.tbx_Uebergabe_Std.Value
            .Update
            .MoveNext
        Loop
    End With
End Sub

请注意,这可能会导致锁定冲突。您可以尝试使用.Recordset来避免出现这些错误,但是您将可以在表单上的所有项目中看到。