Tenho um código abaixo para integração do access com o outlook. Está dando certo desde então.
No trecho abaixo, em questão, acredito que está dando erro pois tem processo que o [NOME CLIENTE] (que é uma lista) possui vários clientes. Quando é um cliente só, o código está dando certo, mas quando são vários não.
Como posso resolver isso? Obrigado.
Trecho:
pnome = Forms!frm_Compromissos![NOME CLIENTE].Column(2)
[...]
With objItem
.Start = CDate(Me.DataVencimento) + CDate(Me.Horario)
'.Duration = Me.txtDuration * Me.ogDuration
.Subject = Me.Categorias.Column(1) & ": - " & pnome & " - " & Me.Assunto & vbNullString
.Body = Me.Descricao & vbNullString
Segue o códio completo:
No trecho abaixo, em questão, acredito que está dando erro pois tem processo que o [NOME CLIENTE] (que é uma lista) possui vários clientes. Quando é um cliente só, o código está dando certo, mas quando são vários não.
Como posso resolver isso? Obrigado.
Trecho:
pnome = Forms!frm_Compromissos![NOME CLIENTE].Column(2)
[...]
With objItem
.Start = CDate(Me.DataVencimento) + CDate(Me.Horario)
'.Duration = Me.txtDuration * Me.ogDuration
.Subject = Me.Categorias.Column(1) & ": - " & pnome & " - " & Me.Assunto & vbNullString
.Body = Me.Descricao & vbNullString
Segue o códio completo:
- Código:
Private Sub Form_AfterUpdate()
On Error GoTo Err_Form_AfterUpdate
Dim objOl As Outlook.Application
Dim objItem As Outlook.AppointmentItem
Dim blnOlRunning As Boolean
Dim pnome As String
pnome = Forms!frm_Compromissos![NOME CLIENTE].Column(2)
On Error Resume Next
blnOlRunning = True
Set objOl = GetObject(, "Outlook.Application")
If Err <> 0 Then
Set objOl = CreateObject("Outlook.Application")
blnOlRunning = False
Err.Clear
End If
On Error GoTo 0
Set objItem = objOl.CreateItem(olAppointmentItem)
With objItem
.Start = CDate(Me.DataVencimento) + CDate(Me.Horario)
'.Duration = Me.txtDuration * Me.ogDuration
.Subject = Me.Categorias.Column(1) & ": - " & pnome & " - " & Me.Assunto & vbNullString
.Body = Me.Descricao & vbNullString
If Len(Me.DataVencimento & vbNullString) > 0 Then 'Len(Me.txtReminder & vbNullString) > 0 Then (texto original)
.ReminderSet = True '.ReminderMinutesBeforeStart = Me.txtReminder * Me.ogPeriod (texto original)
.ReminderMinutesBeforeStart = 60
Else
.ReminderMinutesBeforeStart = 0
.ReminderSet = False
End If
.Save
End With
If blnOlRunning = True Then
' display the new item
objItem.Display
Else
objOl.Quit
End If
Exit_Form_AfterUpdate:
Set objItem = Nothing
Set objOl = Nothing
Exit Sub
Err_Form_AfterUpdate:
Select Case Err
Case 0
Case Else
MsgBox Err.Description
Resume Exit_Form_AfterUpdate
End Select
End Sub
Última edição por guidopignatti em 12/2/2021, 16:08, editado 1 vez(es)