Sql MS访问日期触发器模拟

Sql MS访问日期触发器模拟,sql,ms-access,ms-access-2010,Sql,Ms Access,Ms Access 2010,我对Access完全是新手(对SQL server有一些经验) 我不确定在MS Access 2010中是否可能: 如果table.dateField中的一个是今天或更早-需要发送有关该记录的电子邮件 大范围的挖掘并没有带来任何结果,似乎是不可行的,但希望得到团体的意见。 谢谢你如果你的意思是你需要在一个表上执行一个查询,并且该查询将管理发送一封关于每个违规行的电子邮件的执行-那么我认为你不会有太多运气 您可以从access打开电子邮件窗口,但这不会自行发送电子邮件 您的后端使用什么?如果它是灵

我对Access完全是新手(对SQL server有一些经验)

我不确定在MS Access 2010中是否可能: 如果table.dateField中的一个是今天或更早-需要发送有关该记录的电子邮件

大范围的挖掘并没有带来任何结果,似乎是不可行的,但希望得到团体的意见。
谢谢你

如果你的意思是你需要在一个表上执行一个查询,并且该查询将管理发送一封关于每个违规行的电子邮件的执行-那么我认为你不会有太多运气

您可以从access打开电子邮件窗口,但这不会自行发送电子邮件

您的后端使用什么?如果它是灵活的,并且您使用SQL server作为后端,那么您可以使用实际的触发器来调用存储过程来发送所需的电子邮件

除此之外,我能想到的就是

  • 创建一个查询,查找要发送电子邮件的行
  • 创建一个.net可执行文件,该文件接收一组作为参数的信息,并根据这些数据发送所需的电子邮件
  • 在应用程序中的窗体上,使用计时器事件定期执行逻辑以打开查询,使用adodb.recordset之类的命令,循环遍历记录集,并为查询返回的每一行调用.net可执行文件
希望这有帮助

Microsoft Access应用程序没有任何内置功能,可以根据表中记录的状态自动扫描数据库并发送电子邮件。然而,这并不意味着这种功能对于Access数据库中存储的信息“不可行”。事实上,实现这样一个功能可能非常简单:

以下VBScript代码可以作为Windows下的计划任务每天早上运行(通过
cscript.exe
)。它将扫描一张名为[患者]的表格,并向当天有生日的每个人发送“生日快乐”消息

选项显式
作为ADODB连接的尺寸控制
将rst设置为ADODB.Recordset
Dim msg'作为CDO.消息
设置con=CreateObject(“ADODB.Connection”)'新建ADODB.Connection
未结_
“Provider=Microsoft.ACE.OLEDB.12.0;”_
“数据源=C:\Users\Gord\Desktop\Database1.accdb;”
Set rst=CreateObject(“ADODB.Recordset”)'新的ADODB.Recordset
打开_
“选择名字、电子邮件”和_
"来自病人"及_
“其中月份(DOB)=月份(日期())”和_
“和日(DOB)=日(日期())”_
骗局
直到rst.EOF为止
设置msg=CreateObject(“CDO.Message”)'新的CDO.Message
msg.Configuration.Fields.Item(“http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
msg.Configuration.Fields.Item(“http://schemas.microsoft.com/cdo/configuration/smtpserver“”=“mail.example.com”
msg.Configuration.Fields.Item(“http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
msg.Configuration.Fields.Update
msg.To=rst(“电子邮件”).Value
msg.From=”admin@example.com"
msg.Subject=“生日快乐!”
msg.TextBody=“嗨,”&rst(“FirstName”).Value&“希望你今天生日快乐!”
msg.Send
设置msg=Nothing
rst.MoveNext
环
rst.关闭
设置rst=无
结案
设置con=Nothing

Access 2010数据宏具有宏操作。你试过了吗?@GordThompson Tt不符合我的要求我的要求-SendEmail只会对某些记录执行操作。我需要,即使没有任何活动在数据库中有一个触发器,将通知日期是今天和电子邮件必须发送不管。。。谢谢你的评论,不幸的是,显而易见的选择不是我想要的。好的,谢谢你的澄清。因此,当你说“即使数据库中没有任何活动”时,你的意思是,即使没有人使用Access应用程序,这些电子邮件也需要定期发送(比如,每天一次)(即,电子邮件过程应完全独立于用户交互的任何前端代码)?否,为了防止其中一个记录的日期是今天,将发送电子邮件,告知此记录已过期,并提供一些信息,说明它是什么记录。感谢您的回复。我放弃了作为后端访问的想法,现在是MSSQL。问题-如何定义一个触发器,该触发器将在表中某个字段的日期为今天或更少时触发我?谢谢大家!@DisplayName请注意,我在回答中提供的解决方案在SQL Server数据库中的效果与在Access数据库中的效果一样。你真正需要做的就是改变你的想法。