根据 Microsoft Access 中的日期自动发送电子邮件

Posted

技术标签:

【中文标题】根据 Microsoft Access 中的日期自动发送电子邮件【英文标题】:Automatic email dependant on date in Microsoft Access 【发布时间】:2015-11-23 16:31:41 【问题描述】:

我目前正在为我的工作创建一个数据库,其中包含公司车队的基本信息。我已经创建了数据库和前表,其中包含汽车、汽车颜色、MOT 日期、纳税日期等变量。

我需要以某种方式让 Access 检测公司汽车的 MOT 日期何时到期,并通过将今天的日期与 MOT 日期字段中输入的日期进行比较,向某人发送电子邮件以通知他们该日期即将到来。

例如,如果今天的日期比 MOT 日期早一周,请发送电子邮件给任何人,通知他们这是到期的。

我需要自动执行此操作,我计划每天打开并刷新工作表,因此它不需要特别花哨并且在没有打开 Access 的情况下执行此操作,我只需要它来执行此任务而无需浏览页面和数据页。

【问题讨论】:

为什么在这个主要是关于 Access 的问题上加上 Excel 标记?该标签应该是第一个... 【参考方案1】:

您可以在启动时执行此操作。只需编写一个查询来选择您想要的记录。然后循环查询并向每个人发送一封电子邮件,然后确保您有一个名为“EmailSent”的字段,您将更新为 True,这样您就不会在第二天向他们发送电子邮件(假设您只想给他们发一次电子邮件)。

您可能只需要这些方面的一些 VBA:

Dim db as Database
Dim rec as Recordset

Set db = CurrentDB
Set rec = db.OpenRecordset("SELECT * FROM MyQueryName")

Do while rec.EOF = False
  'Loop through each record, send them an email
  'Add code to send email here
rec.MoveNext

'Now update the table so these guys don't get emailed again
dim mysql as String
MySQL = "UPDATE MyQueryName SET EmailSent = 'True'"
DoCmd.RunSQL MySQL

以上都是“aircode”,未经测试,但应该让你朝着正确的方向前进。

只需确保 EmailSent = False 是您查询中的一个条件。

【讨论】:

... 有关通过 CDO 发送电子邮件的代码,请参阅相关答案 here。

以上是关于根据 Microsoft Access 中的日期自动发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

我的格式日期功能在 Microsoft Access 中不起作用

您如何计算 Microsoft Access SQL 查询中的连续日期?

Microsoft Access 更新查询

Microsoft Access 2010 中的自定义查询

如何根据 Microsoft Access 中的组合框选择导航到表单

如何将日期添加到 Microsoft Access?