簡體   English   中英

為記錄集范圍創建一個日歷事件

[英]Create One Calendar Event for Recordset range

我想弄清楚如何添加一個循環,該循環只會在每個 Markdown 結束日期創建一個 Outlook 日歷事件。

在我的表中,包號 6772457 在我的所有品牌優惠之間共享 Markdown 結束日期日期 2/9/2022 上午 8 點。 我想找到一種方法來為所有這些品牌優惠創建一個條目。

從邏輯上講,我在弄清楚如何進行循環以查看不同日期的多個包裝編號並創建事件時遇到了問題。

注意:記錄集可能有多個具有不同日期的包號,我想嘗試做到這一點,以便每個帶有日期的包號都有一個日歷事件。 我當前的代碼如下。

任何想法或朝着正確的方向推動將不勝感激!

包號 品牌優惠 Markdown 結束日期
6772457 W6 2/9/2022 上午 8:00:00
6772457 V6 2/9/2022 上午 8:00:00
6772457 S6 2/9/2022 上午 8:00:00
6772457 R6 2/9/2022 上午 8:00:00
6772457 P6 2/9/2022 上午 8:00:00
Private Sub Process_InSeason_Click()
Dim olobj As Outlook.Application
Dim oloappt As Outlook.AppointmentItem
Dim myOptionalAttendee As Outlook.Recipient
Dim PackNum As String
Dim rs As Dao.Recordset

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Define objects
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Appt = [Forms]![In Season MD Tracking]![InS_tbl_Original].[Form]![Markdown End Date].Value
Appt = DateSerial(Year(Appt), Month(Appt), Day(Appt))
Appt = Appt + TimeSerial(8, 0, 0)

PackNum = [Forms]![In Season MD Tracking]![InS_tbl_Original].[Form]![Pack_Number].Value

Set rs = CurrentDb.OpenRecordset("InS_tbl_Original")
Set olobj = CreateObject("Outlook.Application")
Set oloappt = olobj.CreateItem(olAppointmentItem)
Set myOptionalAttendee = oloappt.Recipients.Add("")
myOptionalAttendee.Type = olOptional

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Save records and turn on Error Control
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'DoCmd.RunCommand acCmdSaveRecord
On Error GoTo Add_Err

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Validate if Markdown End date is future date
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If rs.Fields("Markdown End Date").Value > Date Then

With oloappt
        .RequiredAttendees = myOptionalAttendee
        .Subject = "InSeason TEST" 'PackNum & " TEST"
        '.Body =
        .MeetingStatus = 1
        .ResponseRequested = True
        .Start = Appt
        .Duration = 10
        .ReminderSet = True
        .ReminderMinutesBeforeStart = 1440
        .Save
        '.Display
        .Send
        .Close (olSave)
End With
DoCmd.RunCommand acCmdSaveRecord
MsgBox "Appointment Added!"

Else 'do nothing
End If

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'End process and clean up
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set oloappt = Nothing
Set olobj = Nothing

Exit Sub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Error validation
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Add_Err:
MsgBox "oops error found " & Err.Number & vbCrLf & Err.Description
Exit Sub

End Sub

我想到了。 為了完成這項工作,我在我的表中創建了一個查詢,該查詢將刪除重復的包號。 從那里我查看了查詢記錄。 對於試圖通過 Access 設置 outlook 事件的任何人,我想讓此代碼保持活動狀態。 希望這有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM