gpt4 book ai didi

ms-access - 除非您将鼠标移到某个控件上,否则 Access 不会停止 "Calculating . . . "

转载 作者:行者123 更新时间:2023-12-02 22:25:16 30 4
gpt4 key购买 nike

我们在客户的网站上遇到了此故障。

在一台工作站(Access2K3,恰好有触摸屏)上,在其中一个关键表单上,用户报告它挂起或卡住,并在左下角显示“正在计算...”。

我们查看了一下,发现这是真的,只是我们注意到您可以通过稍微晃动鼠标来再次“释放”屏幕。然后将抖动范围缩小到一个特定的文本框。只要将鼠标移到该文本框上,就可以释放屏幕,一切正常。

文本框显示一些只读财务数据。当然,文本框在释放后是空白的,之后就会显示正确的数据。

此控件以及任何其他控件没有 MouseMove、MouseDown 或 MouseUp 事件。不可否认,文本框的控制源并不简单,它由 IF 组成,还使用 ​​VBA 函数。然而,类似类型的复杂控制源在应用程序的其他地方重复出现,并且不会导致问题,甚至这种特定的控制在其他机器上也不会导致问题。

还有其他人经历过这种情况吗?

也可用于调试目的 - 当 Access 报告连续几分钟“计算...”时,是否有任何方法可以逐步找出到底发生了什么?

最佳答案

我在使用条件格式时也遇到过类似的问题。当我遇到这个问题时,我使用两种不同的方法解决了它:

  1. 放弃条件格式并通过代码手动应用格式(即通过依赖控件的 Form_Current 事件、After_Update 事件等)。显然,如果您试图区分连续绑定(bind)表单上的控件,这将不起作用。在这种情况下,我会选择其他选择

  2. 手动添加和删除条件格式本身。我不完全确定为什么会这样,但确实如此。我将向您提供一个展示该技术的快速示例函数:

.

Private Const DefaultHLColor As Long = 10092543 'RGB(255, 255, 153); Light Yellow

'---------------------------------------------------------------------------------------
' Procedure : HighlightRow
' DateTime : 2/22/2008 3:27
' Author : Mike
' Purpose : Highlight the detail section of a continuous form.
' Usage : 1) Add a textbox bound to a unique field (preferrably the primary key)
' to a form set to continuous view.
' 2) Set Enabled = No, Locked = Yes, BackColor = {Detail Section BackColor},
' BackStyle = Normal, SpecialEffect = Flat, ForeColor = BackColor
' 3) Expand the textbox to fill the entire detail section, Send to Back.
' 4) Move it down one pixel ([Ctrl] + [{down arrow key}])
' 5) Add the following to the form's OnCurrent event:
' =HighlightRow([{TextBoxName}])
' Notes : We could simply Refresh the form in the OnCurrent event, but Access
' (2002, at least) does not have a rock solid implementation of conditional
' formatting. The problem with Refreshing the form occurs when we select
' a record (which gets highlighted), then we scroll the form so the
' highlighted record is no longer visible, then select a new record, and
' scroll back to the previous record to see that, sadly, it is still
' highlighted.
'---------------------------------------------------------------------------------------
'
Function HighlightRow(Ctl As TextBox, Optional HLColor As Long = DefaultHLColor) 'vv
On Error GoTo Err_HighlightRow

Application.Echo False
With Ctl
.FormatConditions.Delete
If Ctl.Parent.CurrentRecord <> 0 Then
If Not IsNull(.Value) And Not IsEmpty(.Value) Then
If IsNumeric(.Value) Then
.FormatConditions.Add acFieldValue, acEqual, .Value
Else
.FormatConditions.Add acFieldValue, acEqual, """" & .Value & """"
End If
.FormatConditions(0).BackColor = HLColor
.FormatConditions(0).ForeColor = HLColor
.FormatConditions(0).Enabled = False
End If
End If
End With

Exit_HighlightRow:
Application.Echo True
Exit Function
Err_HighlightRow:
LogError Err.Number, Err.Description, "HighlightRow"
Resume Exit_HighlightRow
End Function

关于ms-access - 除非您将鼠标移到某个控件上,否则 Access 不会停止 "Calculating . . . ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4757889/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com