从过滤表格中标记记录

时间:2013-06-17 16:59:26

标签: sql vba ms-access ms-access-2007 access-vba

我已将我的表单设置为过滤,以确保只有需要邮寄的客户才会加载到此表单中。

  

[完成] =否和[呼叫1] =“错误号码”或[完成] =否和[呼叫2] =“错误号码”或[完成] =否和[呼叫3] =“无应答”或[完成] =否和[呼叫3] =“不可用”或[完成] =否和[呼叫3] =“错误号码”

然后我完成了邮件合并,打印出信件和信封。我将字段“完整”设置为Yes/No默认为No。我想有一个按钮,将所有这些过滤到这个表单的记录标记为Yes以便完成,这样在他们完成邮件合并之后我们就不会再这样了。

我的问题是如何在不执行整个表的情况下仅标记这些记录?

提前感谢您对此事的任何帮助。

1 个答案:

答案 0 :(得分:3)

当打开的表单具有活动过滤器时,该表单的.RecordsetClone将返回已过滤的记录集。因此,更新[Completed]标志的按钮可以执行以下操作:

Private Sub btnUpdateCompleted_Click()
Dim rst As DAO.Recordset
Set rst = Me.RecordsetClone
If Not (rst.BOF And rst.EOF) Then
    rst.MoveFirst
    Do While Not rst.EOF
        rst.Edit
        rst!Completed = True
        rst.Update
        rst.MoveNext
    Loop
End If
Set rst = Nothing
End Sub