许多访问用户都没有意识到它具有内置的进度表,该进度表可以显示各个进程的相对完成百分比。 它是相当有限的,但尽管如此,它确实提供了视觉反馈,指示特定任务的完成百分比。 激活后,仪表本身就位于状态栏的左上角,并通过SysCmd()方法进行控制。 它简单易用,仅需3个步骤即可实现,下面列出了这些步骤。 完成这些步骤之后,一个涉及记录集内字段更新的代码段将演示其用法。
- 使用acSysCmdInitMeter操作参数,描述性文本和一个值参数(即仪表的最大值)来启动仪表。
- 使用acSysCmdUpdateMeter操作参数和一个值参数来定期更新仪表,该参数指示当前任务的相对进度。
- 使用acSysCmdClearStatus删除仪表。
'The following code will loop through all Records in tblEmployee
and Update the value in a newly created Field called [Full Name]
to [FirstName] & " " & [LastName]. The relative completion percentage
of this operation will be displayed in our Progress Meter.
Dim MyDB As DAO.Database, MyRS As DAO.Recordset
Dim varReturn, intCounter As Long, dblNum, intNoOfRecs As Long
Set MyDB = CurrentDb()
Set MyRS = MyDB.OpenRecordset("tblEmployee", dbOpenDynaset)
MyRS.MoveLast: MyRS.MoveFirst
intNoOfRecs = MyRS.RecordCount 'Initialize the Progress Meter, set Maximum Value = intNoOfRecs
varReturn = SysCmd(acSysCmdInitMeter, "Updating...", intNoOfRecs)
Do While Not MyRS.EOF
With MyRS
.Edit
![Full Name] = ![FirstName] & " " & ![LastName]
intCounter = intCounter + 1
'Update the Progress Meter to (intCounter/intNoOfRecs)%
varReturn = SysCmd(acSysCmdUpdateMeter, intCounter) .Update
.MoveNext
End With
Loop 'Remove the Progress Meter
varReturn = SysCmd(acSysCmdClearStatus)
MyRS.Close
注意:如果更新大的记录集,您可能希望使用DoEvents定期将控件放弃给Windows环境。
如果有人对如何执行此操作感兴趣,请告诉我,
From: https://bytes.com/topic/access/insights/645816-how-use-progress-meter-access
本文介绍在Access中如何使用内置的进度条显示操作的完成百分比。通过三个步骤即可激活和控制进度条,包括初始化、更新和清除。并提供了一个代码示例,演示了在记录集中更新字段的同时,如何使用进度条反映操作的进度。
2505

被折叠的 条评论
为什么被折叠?



