MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Integração Outlook

    avatar
    guidopignatti
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 10/09/2018

    Integração Outlook Empty Integração Outlook

    Mensagem  guidopignatti em 11/3/2020, 13:27

    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:

    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

      Data/hora atual: 4/12/2020, 08:22