Private Sub btnCreateAppointment_Click()
On Error GoTo Err_btnCreateAppointment_Click
'First Save the Current Record
DoCmd.RunCommand acCmdSaveRecord
'Exit the procedure if the appointment has already been added to the Outlook Calendar
If Me.ApptAddedtoOutlook = True Then
MsgBox "This appointment has already been added to the Outlook Calendar.", vbOKOnly, "Crate & Pack"
Exit Sub
Else
Dim olObj As Outlook.Application
Dim olAppt As Outlook.AppointmentItem
Dim strLocation As String
Dim strContact As String
Dim strSQL As String
Dim db As DAO.Database
Dim rst As DAO.Recordset
Set olObj = CreateObject("Outlook.Application")
Set olAppt = olObj.CreateItem(olAppointmentItem)
If Not IsNull(Me.ClientAptNumber) Then
strLocation = (Me.ClientAptNumber & " - " & Me.ClientStreetAddress & ", " & Me.ClientCityName & ", " & Me.ClientState & " " & Me.ClientZipCode)
Else
strLocation = (Me.ClientStreetAddress & ", " & Me.ClientCityName & ", " & Me.ClientState & " " & Me.ClientZipCode)
End If
If Not IsNull(Me.ClientPhone2) Then
strContact = (Me.ClientPhone1 & " " & Me.ClientPhoneType1 & " " & Me.ClientPhone2 & " " & Me.ClientPhoneType2)
Else
strContact = (Me.ClientPhone1 & " " & Me.ClientPhoneType1)
End If
Set db = CurrentDb()
Set rst = db.OpenRecordset("SELECT tblOrderDetails.Quantity, tblOrderDetails.ServiceType, tblOrderDetails.ServiceDetails" & _
"FROM tblOrderDetails INNER JOIN tblOrderDetails ON tblOrders.OrderNumber = tblOrderDetails.OrderNumber" & _
"WHERE (((tblOrderDetails.ServiceType) <> 'Trip Charge' Or (tblOrderDetails.ServiceType) <> 'Tax Exempt')" & _
"And ((tblOrderDetails.OrderNumber) = '&[Forms]![frmOrders]![OrderNumber]&'))" & _
"ORDER BY tblOrderDetails.ServiceType;", dbOpenDynaset)
strSQL = ("SELECT tblOrderDetails.Quantity, tblOrderDetails.ServiceType, tblOrderDetails.ServiceDetails" & _
"FROM tblOrderDetails INNER JOIN tblOrderDetails ON tblOrders.OrderNumber = tblOrderDetails.OrderNumber" & _
"WHERE (((tblOrderDetails.ServiceType) <> 'Trip Charge' Or (tblOrderDetails.ServiceType) <> 'Tax Exempt')" & _
"And ((tblOrderDetails.OrderNumber) = '&[Forms]![frmOrders]![OrderNumber]&'))" & _
"ORDER BY tblOrderDetails.ServiceType")
With rst
Do Until rst.EOF
.MoveFirst
strSQL = .Fields(0) & vbTab & _
.Fields(1) & " - " & _
.Fields(2) & vbCrLf
DoCmd.SendObject acSendNoObject, , , , , , , strSQL, False, False
.MoveNext
Loop
End With
With olAppt
.Start = Me.ServiceDate & " " & Me.ApptTime
.Duration = Me.ApptDuration
.Subject = (Me.CustNumber & " - Service Appointment - " & Me.OrderNumber & " " & Me.ClientUserlastName & ", " & Me.ClientUserFirstName)
.Location = strLocation & " " & strContact
If Me.ApptReminder = True Then
.ReminderSet = True
.ReminderMinutesBeforeStart = Me.ReminderMinutes
End If
.RequiredAttendees = "[EMAIL="wayne0765@hotmail.com"]myemail[/EMAIL]"
.Body = strSQL
.Save
End With
End If
'Release the Outlook object variables
Set olObj = Nothing
Set olAppt = Nothing
Set rst = Nothing
Set db = Nothing
'Set the Added to Outlook flag, save the record, and display a message
Me.ApptAddedtoOutlook = True
DoCmd.RunCommand acCmdSaveRecord
MsgBox "Appointment Added", vbOKOnly, "Crate & Pack"
Exit Sub
Exit_btnCreateAppointment_Click:
Exit Sub
Err_btnCreateAppointment_Click:
MsgBox Err.Description, vbOKOnly, "Crate & Pack"
Resume Exit_btnCreateAppointment_Click
End Sub