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

MSAccess: Write one value to multiple records

我有一个包含多条记录的表格。记录来自查询,而查询的条件则来自表单。到目前为止,一切都很好。工作正常。

现在我在 header 中有一个文本框 (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,如果您想知道的话。)。

我做错了什么以及如何解决这个问题?

您可以使用 .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 来避免它们,但是您会明显地浏览表单上的所有项目。