MS Access VBA暂时突出显示字段

时间:2013-04-30 06:47:21

标签: vba ms-access access-vba

当用户在子表单上的记录之间切换时,我希望另一个字段暂时突出显示以引起用户警告用户已更改。

我认为这样可行:

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Form_Current()
    Form_frm_Codes.txtCodeToAdd = Me.Code.Value
    Form_frm_Codes.txtCodeToAdd.BackColor = RGB(0, 0, 255)
    Sleep (500)
    Form_frm_Codes.txtCodeToAdd.BackColor = RGB(255, 255, 255)
End Sub

睡眠功能倾向于暂停程序半秒钟,但我之前没有看到蓝色变化。

任何想法甚至更好的方法来实现这一目标?

1 个答案:

答案 0 :(得分:1)

而不是使用API​​尝试下面的代码

Private Sub Form_Current()
    Form_frm_Codes.txtCodeToAdd = Me.Code.Value
    Form_frm_Codes.txtCodeToAdd.BackColor = RGB(0, 0, 255)
    delay 5
    Form_frm_Codes.txtCodeToAdd.BackColor = RGB(255, 255, 255)
End Sub

Private Sub delay(seconds As Long)
    Dim endTime As Date
    endTime = DateAdd("s", seconds, Now())
    Do While Now() < endTime
        DoEvents
    Loop
End Sub

或者在睡眠前添加DoEvents以更新屏幕。

Private Sub Form_Current()
    Form_frm_Codes.txtCodeToAdd = Me.Code.Value
    Form_frm_Codes.txtCodeToAdd.BackColor = RGB(0, 0, 255)
    DoEvents
    Sleep (500)
    Form_frm_Codes.txtCodeToAdd.BackColor = RGB(255, 255, 255)
End Sub