|
我用你的例子,遇到一个问题,即用StatusBarText设置状态栏文字,但在状态栏上却不起作用,状态栏上老是显示正在计算……,没办法,我只好用DoCmd.Echo来显示状态栏文字,但这样有个问题就是,栏态栏上的文字有点闪。
请问这是什么原因呢,DoCmd.Echo和StatusBarText哪个稳定,效率高呢?
我的代码如下:
Dim i As Long
Dim j As String
Dim str As String
Dim k As Long
Dim rst As Object
Set rst = Me.sub1.Form.Recordset
rst.MoveFirst
k = rst.RecordCount
'为避免出现状态栏上的正在计算…… 以及屏幕闪动,所以添加DoCmd.Echo DoCmd.Echo False
DoCmd.Hourglass True
For i = 1 To k
j = Format(Round(i / k, 2) * 100, "@@@%")
rst.Edit
If i Mod (k / 50) = 0 Then
str = str & "■"
DoCmd.Echo False, j & " " & str '没办法,才用DoCmd.Echo
' Me.cmdA.StatusBarText = j & " " & str 'statusbartext不起作用
End If
rst!单价= Format((rst!成本价 * 0.92), "0")
rst.Update
rst.MoveNext
Next
rst.MoveFirst
Set rst = Nothing
MsgBox "处理完毕!"
DoCmd.Echo True
DoCmd.Hourglass False
|
|