【发布时间】:2018-02-19 22:54:37
【问题描述】:
我有一个包含 2 个子表单的表单。一个子表单有一个 30 分钟的计时器来刷新运行良好的数据。另一个子表单有以下代码在设定的时间发送电子邮件
If DLookup("SCHEDULEDATETIME", "TBLSCHEDULERNEW", "SCHEDULETYPE='AWAITREG'") >= Date Then
End
End If
If TimeValue(Now()) > #9:00:00 AM# Then
Set oApp = CreateObject("Outlook.application")
Set oMail = oApp.CreateItem(olMailItem)
oMail.Body = "email"
oMail.Subject = "Test Subject"
oMail.To = "xxx@xxx.com"
oMail.Send
Set oMail = Nothing
Set oApp = Nothing
End If
strsql = "update TBLSCHEDULERNEW set SCHEDULEDATETIME =trunc(sysdate) WHERE SCHEDULETYPE='AWAITREG';"
With MyCon
.Open "xxx", "xxx", "xxx"
.Execute strsql
.Close
End With
我有额外的代码来检查今天是否已经发送了电子邮件,这工作正常
这只运行一次。我必须在设计视图中打开表单,然后再次打开表单视图,代码才能开始工作。为什么会这样?
我需要以这种方式而不是 SendObject 来安排电子邮件发送,因为我需要附加一个格式化的 Excel 电子表格。
编辑 - 我现在不认为这与发送电子邮件有任何关系,因为似乎根本就调用了代码 - 我只用 msgbox 进行了测试。
【问题讨论】:
-
请分享所有代码。当前代码不包含任何内容,只能运行一次。
-
@ErikvonAsmuth 完成。
-
我仍然没有看到任何关于如何调用代码的细节,以及为什么这只应该发生一次。
-
@ErikvonAsmuth 该子表单的计时器为 60000。On Timer 事件有一行 SendAwaitingRegReport 调用我的问题中的代码。
-
你没有包括那个。为什么它只会运行一次?