【发布时间】:2018-07-18 07:14:04
【问题描述】:
我创建了一个类似于提醒的消息框,当我的交换机在我的数据库上打开时会弹出。
消息框告诉我有多少客户在 25 天内没有为他们的订单付款。我已将代码放入交换机的 On Load 部分。
但是,当我点击我的总机时,代码会立即运行,这是预期的,并且会出现消息框,上面写着“有 x 笔未完成的付款在 25 天内尚未支付,您现在想查看这些吗”并且有是或否按钮。
但是当这个框加载并且我点击是时,我的总机和查询同时打开,它会自动将我定向到总机,而不是我想在屏幕上看到的查询。我的目标是打开主菜单,将代码延迟一定的秒数,然后如果我选择是则打开查询。
这是我生成的代码。
Public Sub Form_Load()
Dim time1, time2
time1 = Now
time2 = Now + TimeValue("0:00:05")
Do Until time1 >= time2
time1 = Now()
Loop
Dim OS As Integer
OS = DCount("[Paid]", "[OutstandingPayments]", "DateDiff('d', DateOrder,
Now()) > 25")
If OS = 0 Then
Exit Sub
Else
If MsgBox("There are " & OS & " uncompleted Payments that have not been paid in 25 days" & _
vbCrLf & vbCrLf & "Would you like to see these now?", _
vbYesNo, "You Have Uncomplete Payments...") = vbYes Then
DoCmd.Minimize
DoCmd.OpenQuery "OutstandingPayments", acNormal
Else
Exit Sub
End If
End If
End Sub
基本上,这段代码的作用只是延迟生成的代码,但我认为交换机可以打开显示屏幕,然后代码会运行,然后显示我的消息框。
有没有办法我可以在加载时打开交换机,然后加载它以便我的代码运行以显示我的消息框。
附上 Gif 来说明问题 https://gyazo.com/94f7e56cbe9220673d10a810e5282dda
谢谢。
【问题讨论】: