복붙노트

[SQL] MS 액세스 날짜 트리거 에뮬레이션

SQL

MS 액세스 날짜 트리거 에뮬레이션

나는 (SQL 서버와의 경험이)에 액세스 할 수 완전히 새로운입니다.

나는 2010 MS Access에서의도를 가능하면 확실하지 않다 : 그 기록에 대한 이메일을 보낼 필요 - table.dateField 중 하나가 오늘 이전 인 경우.

어떤 결과를 가져 오지 않는 광범위한 파고는, 그에 해당하지 가능하지만, 원 그룹의 의견을 보인다. 감사합니다

해결법

  1. ==============================

    1.당신이 테이블에 쿼리 말을 실행해야한다는 것을 의미하고, 그 쿼리가 문제가되는 각 행에 대하여 이메일을 보내는의 실행을 관리하는 경우 - 나는 당신이 많은 행운이있을 것이다 것 같아요;

    당신이 테이블에 쿼리 말을 실행해야한다는 것을 의미하고, 그 쿼리가 문제가되는 각 행에 대하여 이메일을 보내는의 실행을 관리하는 경우 - 나는 당신이 많은 행운이있을 것이다 것 같아요;

    당신은 액세스로부터 이메일 창을 열 수 있습니다, 그러나 이것은 그 자체로 이메일을 전송하지 않습니다.

    당신은 당신의 백엔드 무엇을 사용하고 있습니까? 그것은 유연하고 백엔드에 대한 SQL 서버를 사용하는 경우에 당신은 필요한 이메일을 보낼 수있는 저장 프로 시저를 호출하는 실제 트리거를 사용할 수 있습니다.

    이 밖에, 모든 나는 것, 수행하는 생각할 수

    도움이 되었기를 바랍니다

  2. ==============================

    2.마이크로 소프트 Access 응용 프로그램은 내장 기능을 자동으로 테이블의 레코드의 상태에 따라 데이터베이스 및 전송 이메일 메시지를 검색 할 필요가 없습니다. 그러나, 이러한 기능은 Access 데이터베이스에 저장된 정보에 대해 "가능하지"는 것을 의미하지 않는다. 사실, 이러한 기능을 구현하는이 단순하게 될 수있다 :

    마이크로 소프트 Access 응용 프로그램은 내장 기능을 자동으로 테이블의 레코드의 상태에 따라 데이터베이스 및 전송 이메일 메시지를 검색 할 필요가 없습니다. 그러나, 이러한 기능은 Access 데이터베이스에 저장된 정보에 대해 "가능하지"는 것을 의미하지 않는다. 사실, 이러한 기능을 구현하는이 단순하게 될 수있다 :

    다음 VBScript 코드는 Windows에서 예약 된 작업으로 (통해 cscript.exe를) 매일 아침 실행할 수 있습니다. 그것은 [환자]라는 이름의 테이블을 스캔하고 일이 생일이있는 각 사람에게 "생일 축하"메시지를 보내드립니다.

    Option Explicit
    
    Dim con  ' As ADODB.Connection
    Dim rst  ' As ADODB.Recordset
    Dim msg  ' As CDO.Message
    
    Set con = CreateObject("ADODB.Connection")  ' New ADODB.Connection
    con.Open _
            "Provider=Microsoft.ACE.OLEDB.12.0;" & _
            "Data Source=C:\Users\Gord\Desktop\Database1.accdb;"
    Set rst = CreateObject("ADODB.Recordset")  ' New ADODB.Recordset
    rst.Open _
            "SELECT FirstName, Email " & _
            "FROM Patients " & _
            "WHERE Month(DOB) = Month(Date()) " & _
                "AND Day(DOB) = Day(Date())", _
            con
    Do Until rst.EOF
        Set msg = CreateObject("CDO.Message")  ' New 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("Email").Value
        msg.From = "admin@example.com"
        msg.Subject = "Happy Birthday!"
        msg.TextBody = "Hi, " & rst("FirstName").Value & ". We hope you have a great birthday today!"
        msg.Send
    
        Set msg = Nothing
        rst.MoveNext
    Loop
    rst.Close
    Set rst = Nothing
    con.Close
    Set con = Nothing
    
  3. from https://stackoverflow.com/questions/19572156/ms-access-date-triggers-emulation by cc-by-sa and MIT license