【发布时间】:2015-11-02 09:16:04
【问题描述】:
我正在遍历记录集以执行一些基本功能或编辑。
通常对于超过 50 条记录的记录集,访问将停止响应。
我在循环命令之前有me.repaint,但窗口总是冻结并且访问标题栏显示:...(未响应)。
知道如何解决这个问题吗?
谢谢。
戴夫。
编辑:添加循环代码
If Me.Dirty = True Then Me.Dirty = False
Dim rs As DAO.Recordset
Set rs = Me.Guardians_Subform1.Form.Recordset
Dim strFirstName, strLastName As String
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do Until rs.EOF = True
rs.Edit
strFirstName = Trim(StrConv(rs!FirstName, 3))
strLastName = Trim(StrConv(rs!LastName, 3))
If rs!FirstName <> strFirstName Then
rs!FirstName = strFirstName
End If
If rs!LastName <> strLastName Then
rs!LastName = strLastName
End If
rs.Update
rs.MoveNext
Me.Repaint
Loop
Else
MsgBox "There are no records in the recordset."
End If
Set rs = Nothing
【问题讨论】:
-
嗨,戴夫,请您提供此代码。我们会更容易为您提供帮助。
-
此外,访问应该能够处理最大为1gig 的记录集。你的记录有多大?
-
最后一个记录集少于 100 条记录。我已经添加了循环代码。谢谢!
-
为什么不只运行一个更新语句来修剪字段值?