@CodeSlave的答案可能没有满足您的需要,原因是您需要的VBA方法是requery,而不是刷新。刷新将显示对现有记录所做的更改,但只有重新查询才会显示新添加的记录。
这是代码的更简洁版本(将其放入模块中,以便您可以从任何形式调用它):
Public Sub RequeryOpenForms()
Dim f as Form
For Each f In Access.Forms
f.Requery
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
注意:不幸的是,重新查询会产生丢失当前所选记录的副作用。如果有很长的记录列表,这对于用户来说尤其令人沮丧,因为他们可能必须向下滚动很长一段距离才能找到他们之前查看的记录。
像这样的事情怎么办?
Sub AllForms()
Dim obj As AccessObject
dim dbs As Object
Dim i As Integer
dim intFormCount as Integer
Set dbs = Application.CurrentProject
intFormCount = dbs.AllForms.Count - 1
For i = 0 To intFormCount
If dbs.AllForms(i).isloaded = True Then
dbs.AllForms(i).refresh
End If
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37178 次 |
| 最近记录: |