Set objOutlook = CreateObject("Outlook.Application")

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • LorettaD
    New Member
    • May 2019
    • 1

    Set objOutlook = CreateObject("Outlook.Application")

    I keep getting this error ,
    Set objOutlook = CreateObject("O utlook.Applicat ion").
    I do not work in IT but no one seems to know how to fix this error. Someone please help me? I am the only one having this issue with trying to use the data base when I get to the sending the email. Someone said because I have both Micro soft office 15 & 16 on my computer its confused will that cause this issue If the developer only has the 15 version? Maybe I am wrong but it seems this issue has to do with outlook and If I have this issue others will end up with it in the future trying to use this data base.
    Run-time error'-2147319779(8002 801d)':

    Automation error
    Library not registered

    Then when I click on debug the below message pops up.

    Code:
    Option Compare Database
    Dim Hold_ID As Long
    Dim Finance_Approval_Required As Boolean
    
    
    
    Public Function GetPath()
        getpath2
    End Function
    
    Public Sub getpath2()
      DbPath = Application.CurrentProject.Path
    End Sub
    
    Function Transfer_Text_to_Table(Spec_Name As String, Table_Name As String, FileIn_Name As String)
     
    Dim FilePath_Name As String
     
      getpath2
      FilePath_Name = DbPath & "\" & FileIn_Name
    
    DoCmd.TransferText acImportDelim, Spec_Name, Table_Name, FilePath_Name
        
    End Function
    
    Public Function Excel2Access(Table_Name As String, Spreadsheet_Name As String)
    Dim FilePath_Name As String
    
      getpath2
      
      FilePath_Name = DbPath & "\" & Spreadsheet_Name
    
    
      DoCmd.TransferSpreadsheet acImport, 8, Table_Name, FilePath_Name, True
    
    
    End Function
    Public Function Run_CC_EmailM(Email_Type As String, Email_ID As Long)
        
        Call Run_CC_Email(Email_Type, Email_ID)
    End Function
    
    Public Sub Run_CC_Email(Email_Type As String, Email_ID As Long)
    ' On Error GoTo Err_Run_CC_Email
        
       
        Dim objOutlook As Outlook.Application
        Dim objMail As Outlook.MailItem
        
        Dim sSQL As String
        Dim DB As DAO.Database
        Dim Hold_Buyer As String
        Dim Email_Buyer As String
        Dim Hold_bodyLine1 As String
        Dim Hold_CCRequest_info As String
        Dim Hold_CCRequest_Count_Results As String
        Dim Hold_Form As String
        
        Dim Hold_Date_Entered As String
        Dim Hold_Date_Closed As String
        Dim Hold_Request_by As String
        Dim Hold_Part_Nbr As String
        Dim Hold_Part_Description As String
        Dim Hold_Reason As String
        Dim Hold_Comments As String
        Dim Hold_StdCost As Double
        Dim Hold_Supplier As String
        Dim Hold_Supply_Type As String
        Dim hold_Item_Status As String
        Dim hold_Planner As String
        Dim Hold_AdHoc_Scheduled As String
        Dim Hold_CC_Status As String
        Dim Hold_Cycle_Count_Comments As String
        Dim Hold_Finance_comments As String
        Dim Hold_Adjust_Transfer As String
        Dim sTitle As String, sFile As String, sErr As String
        Dim rstDist As DAO.Recordset
        Dim RstCCRequest As DAO.Recordset
        
        Set DB = CurrentDb
        
    
        Set RstCCRequest = DB.OpenRecordset("TblCycleCountRequest", dbOpenDynaset)
            RstCCRequest.FindFirst "[ID] = " & Email_ID
        
            Hold_Part_Nbr = Nz(RstCCRequest![Part Nbr], " ")
            Hold_Part_Description = Nz(RstCCRequest![Description], " ")
            Hold_Reason = Nz(RstCCRequest![Reason for Request], " ")
            Hold_Comments = Nz(RstCCRequest![Request_Comments], " ")
            Hold_StdCost = Nz(RstCCRequest![Standard Cost], " ")
            Hold_Supplier = Nz(RstCCRequest![Supplier], " ")
            hold_Item_Status = Nz(RstCCRequest![Item Status], " ")
            hold_Planner = Nz(RstCCRequest![Planner Code], " ")
            Hold_Date_Entered = Nz(RstCCRequest![Date Entered], " ")
            Hold_CC_Status = Nz(RstCCRequest![CCReq_Status], " ")
            Hold_AdHoc_Scheduled = Nz(RstCCRequest![Adhoc/Scheduled], " ")
            Hold_Supply_Type = Nz(RstCCRequest![Supply Type], " ")
            Hold_Date_Closed = Nz(RstCCRequest![CC_Date_Closed], " ")
            Hold_Request_by = Nz(RstCCRequest![Requested By], " ")
            Hold_Buyer = Nz(RstCCRequest![Buyer], " ")
            Hold_Finance_comments = Nz(RstCCRequest![Finance Comments], " ")
            
            If Nz(RstCCRequest![Adjust_Transfer], " ") = 1 Then
                Hold_Adjust_Transfer = "Adjust Oracle"
            Else
                If Nz(RstCCRequest![Adjust_Transfer], " ") = 2 Then
                    Hold_Adjust_Transfer = "Transfer to REV/CCP"
                Else
                    Hold_Adjust_Transfer = Nz(RstCCRequest![Adjust_Transfer], " ")
                End If
           End If
                    
            Hold_Cycle_Count_Comments = Nz(RstCCRequest![Cycle_Count_Comments], " ")
            
            
       RstCCRequest.Close
       Set RstCCRequest = Nothing
     
       'Prelims
       DoCmd.SetWarnings False
       DoCmd.Hourglass True
      
       Set DB = CurrentDb
       sFile = " "
           
    'SELECT Email_Distribution.Email_Address, Email_Distribution.Email_Buyer, Email_Distribution.Email_Initial_CC_Request
    'From Email_Distribution
    'WHERE (((Email_Distribution.Email_Buyer)="Coates, Terence D")) OR (((Email_Distribution.Email_Initial_CC_Request)=True));
    
      '  If Email_Type = "Email_Initial_CC_Request" Or Email_Type = "Email_Final_CC_Results" Then
            Email_Buyer = Hold_Buyer
      '  Else
      '      Email_Buyer = "xxxxxxxxx"
      '  End If
        
             sSQL = "SELECT Email_Distribution.Email_Address, Email_Distribution.Email_Buyer, "
             sSQL = sSQL & "Email_Distribution.Email_Initial_CC_Request "
             sSQL = sSQL & "FROM Email_Distribution "
             sSQL = sSQL & "WHERE(((Email_Distribution.Email_Buyer)='"
             sSQL = sSQL & Email_Buyer & "')) OR (((Email_Distribution."
             sSQL = sSQL & Email_Type & ")=True)"
             sSQL = sSQL & ");"
           
             Set rstDist = DB.OpenRecordset(sSQL)
             
             If rstDist.EOF = True Then
                sErr = "no entries in Email_distribution table"
                MsgBox sErr, vbInformation + vbOKOnly
             Else
                
                
                
               [B] Set objOutlook = CreateObject("Outlook.Application")
    [/B]
           'Prepare email message
                Set objMail = objOutlook.CreateItem(olMailItem)
                With objMail
    
            'Build recordset on recipients
    
                       
                rstDist.MoveFirst
                While Not rstDist.EOF
    
                'Add Recipient
            
                    With .Recipients.Add(rstDist![Email_Address])
                         .Type = olTo
                    End With
                    rstDist.MoveNext
                Wend
                          
                rstDist.Close
                Set rstDist = Nothing
              
                
        'Add the subject
                
                If Email_Type = "Email_Initial_CC_Request" Then
                    .Subject = "Initial Cycle Count Request # " _
                    & Email_ID & "          Part Number: " & Hold_Part_Nbr
                    
                    Hold_bodyLine1 = "Please perform cycle count on following Part Number: " & _
                    Hold_Part_Nbr & "    " & Hold_Part_Description & vbCrLf
                Else
                    If Email_Type = "Email_Organization_CC_Approval" Then
                            .Subject = "Organization Approval required for Cycle Count Request # " _
                             & Email_ID & "          Part Number: " & Hold_Part_Nbr
                            
                        Hold_bodyLine1 = "Counts are complete on Cycle Count request # : " & _
                        Email_ID & ".  Please review and approve in cycle count data base. " & vbCrLf
                    
                    Else
                        If Email_Type = "Email_Finance_CC_Approval" Then
                            .Subject = "Finance Approval required for Cycle Count Request # " _
                             & Email_ID & "          Part Number: " & Hold_Part_Nbr
                         
                             
                         Hold_bodyLine1 = "Counts are complete on Cycle Count request # : " & _
                         Email_ID & ".  Variance is greater than $2,500.  Please review and approve in cycle count data base. " & vbCrLf
                    
                        Else
                             If Email_Type = "Email_Final_CC_Results" Then
                                 .Subject = "Final results for Cycle Count Request # " _
                                 & Email_ID & "          Part Number: " & Hold_Part_Nbr
                                
                                                         
                                 Hold_bodyLine1 = "Counts and adjustments are complete on Cycle Count request # : " & _
                                 Email_ID & ".  Below are results: " & vbCrLf
                            Else
                                 If Email_Type = "Email_Make_Adjustments" Then
                                     .Subject = "Oracle adjustments required for Cycle Count Request # " _
                                    & Email_ID & "          Part Number: " & Hold_Part_Nbr
                                
                                                         
                                    Hold_bodyLine1 = "All approvals are complete on Cycle Count request # : " & _
                                    Email_ID & ".  Please make necessary adjustments in Oracle and update CC database when complete " & vbCrLf
                                End If
                            End If
                        End If
                    End If
               End If
               
                Hold_CCRequest_info = Hold_CCRequest_info & "Requested By: " & Hold_Request_by & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & "Date Entered: " & Hold_Date_Entered & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & "Reason for request: " & Hold_Reason & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & "Requester Comments: " & Hold_Comments & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & " " & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & "Buyer           : " & Hold_Buyer & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & "Std Cost       : " & Hold_StdCost & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & "Supplier       : " & Hold_Supplier & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & "Supply Type: " & Hold_Supply_Type & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & "Planner        : " & hold_Planner & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & "Item Status : " & Hold_CC_Status & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & " " & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & "Cycle Count Comments : " & Hold_Cycle_Count_Comments & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & "Finance Comments : " & Hold_Finance_comments & vbCrLf
                Hold_CCRequest_info = Hold_CCRequest_info & "Adjust or Transfer : " & Hold_Adjust_Transfer & vbCrLf
               
               
               
        'Add standard message text to body
                .Body = .Body & Hold_bodyLine1 & vbCrLf
                .Body = .Body & " " & vbCrLf
                .Body = .Body & Hold_CCRequest_info & vbCrLf
                .Body = .Body & " " & vbCrLf
                
    
       'Closure
                .Body = .Body & vbCrLf & "Thanks" & vbCrLf & vbCrLf & "Cycle Count Team" & vbCrLf
                .Body = .Body & " " & vbCrLf
                .Body = .Body & " " & vbCrLf
               
               
          'Send the mail message
                .Send
                  
                End With
       
             End If
             
        
    Exit_Run_CC_Email:
       DoCmd.SetWarnings True
       DoCmd.Hourglass False
       Exit Sub
    
    Err_Run_CC_Email:
       sErr = "Error " & Error & " / " & Err
       MsgBox sErr, vbInformation + vbOKOnly, "Error on Email subroutine"
       Resume Exit_Run_CC_Email
          
    End Sub
    
    
    
    Public Function Add_Subinventory_Recs()
        Dim RstSubinventory As Recordset
        Dim RstCCDetail As Recordset
        
        Dim DB As Database
        
         Set DB = CurrentDb
         Set RstSubinventory = DB.OpenRecordset("CC_Subinventory")
         Set RstCCDetail = DB.OpenRecordset("Tbl_CC_Detail")
         
         RstSubinventory.MoveFirst
        
         Do Until RstSubinventory.EOF
             RstCCDetail.AddNew
             RstCCDetail![CC_ID] = Forms!FrmNewCycleCountRequest![ID]
             RstCCDetail![CC_Subinv] = RstSubinventory![CC_Subinventory_Name]
             RstCCDetail.Update
             
             RstSubinventory.MoveNext
        Loop
         
        RstCCDetail.Close
        RstSubinventory.Close
        
        Set RstCCDetail = Nothing
        Set RstSubinventory = Nothing
        
    End Function
    
    Public Function Calc_Count_Totals()
        Dim RstCCDetail As DAO.Recordset
        Dim RstMisc As DAO.Recordset
        Dim DB As DAO.Database
        Dim Tot_Oracle As Double
        Dim Tot_Actual As Double
        Dim Tot_Variance As Double
        
        Dim No_more_Match As Boolean
        Dim Count_complete As Boolean
        Dim New_Stat As String
        Dim Hold_Finance_Limit
        Dim Tot_Variance_Val As Double
        
        
        Total_Oracle = 0
        Total_Actual = 0
        Total_Variance = 0
        Total_Variance_Value = 0
        No_more_Match = False
        Count_complete = True
        
          Set DB = CurrentDb
          
          Set RstMisc = DB.OpenRecordset("Misc_Parameters", dbOpenDynaset)
          RstMisc.MoveFirst
          Hold_Finance_Limit = RstMisc![Finance_approve_limit]
          RstMisc.Close
          Set RstMisc = Nothing
        
        
          Set RstCCDetail = DB.OpenRecordset("Tbl_CC_Detail", dbOpenDynaset)
                          
          Hold_ID = Forms!FrmCycleCountRequest![ID]
          RstCCDetail.FindFirst "CC_ID = " & Hold_ID
          
          If RstCCDetail.NoMatch Then
            Forms!FrmCycleCountRequest!Frm_CC_Detail![TxtTotOracle] = Total_Oracle
            Forms!FrmCycleCountRequest!Frm_CC_Detail![TxtTotActual] = Total_Actual
            Forms!FrmCycleCountRequest!Frm_CC_Detail![TxtTotVariance] = Total_Variance
            Forms!FrmCycleCountRequest!Frm_CC_Detail![TxtTotVarianceVal] = FormatCurrency(Total_variance_val, 2)
                    
            Forms!FrmCycleCountRequest!Frm_CC_Detail![Lbl_Count_Complete].Visible = False
          
          Else
            Do While No_more_Match = False
             
                Total_Oracle = Total_Oracle + RstCCDetail![CC_Oracle_Qty]
                Total_Actual = Total_Actual + RstCCDetail![CC_Actual_Qty]
                Total_Variance = Total_Variance + RstCCDetail![CC_Variance_Qty]
                Total_variance_val = Total_variance_val + RstCCDetail![CC_Variance_Value]
                    
                If Count_complete = True Then
                    If IsNull(RstCCDetail![CC_Complete_Date]) Then
                        Count_complete = False
                    End If
                End If
                
                 RstCCDetail.MoveNext
                 
                 If RstCCDetail.EOF Then
                    No_more_Match = True
                 Else
                    If RstCCDetail![CC_ID] <> Hold_ID Then
                        No_more_Match = True
                    End If
                End If
            Loop
                  
            Forms!FrmCycleCountRequest!Frm_CC_Detail![TxtTotOracle] = Total_Oracle
            Forms!FrmCycleCountRequest!Frm_CC_Detail![TxtTotActual] = Total_Actual
            Forms!FrmCycleCountRequest!Frm_CC_Detail![TxtTotVariance] = Total_Variance
            Forms!FrmCycleCountRequest!Frm_CC_Detail![TxtTotVarianceVal] = FormatCurrency(Total_variance_val, 2)
          
          'Hide Finance Approval fields if variance value is less 5han specified Limit
            
            If Abs(Total_variance_val) >= Hold_Finance_Limit Then
                Finance_Approval_Required = True
                If Count_complete = True And (Forms!FrmCycleCountRequest![CCReq_Status] = "Counts Approved- Pending Finance Approval" _
                 Or Forms!FrmCycleCountRequest![CCReq_Status] = "Counts Approved- Pending Oracle Adjustment" _
                 Or Forms!FrmCycleCountRequest![CCReq_Status] = "CC Completed") Then
                    Call Hide_Display_Finance_Approve("Display")
                Else
                    Call Hide_Display_Finance_Approve("Hide")
                End If
            Else
                Finance_Approval_Required = False
            End If
              
                
            If Forms!FrmCycleCountRequest![CCReq_Status] = "Count in Process" And Count_complete = True Then
                Forms!FrmCycleCountRequest!Frm_CC_Detail![Lbl_Count_Complete].Visible = True
                New_Stat = "Complete"
                Call Manage_Status(New_Stat)
            End If
            
               
            
            
        End If
        
        RstCCDetail.Close
        Set RstCCDetail = Nothing
         
    End Function
    
    Public Function CCDetail_Calc_Variance()
        Forms!FrmCycleCountRequest!Frm_CC_Detail![CC_Variance_Qty] = _
        Forms!FrmCycleCountRequest!Frm_CC_Detail![CC_Oracle_Qty] - Forms!FrmCycleCountRequest!Frm_CC_Detail![CC_Actual_Qty]
        
        Forms!FrmCycleCountRequest!Frm_CC_Detail![CC_Variance_Value] = _
        Forms!FrmCycleCountRequest!Frm_CC_Detail![CC_Variance_Qty] * Forms!FrmCycleCountRequest![Standard Cost]
        
    End Function
    
    Public Function Manage_Status(Change As String)
        Dim RstCCRequest As Recordset
        Dim DB As Database
        
    '    Set DB = CurrentDb
    '    Set RstCCRequest = DB.OpenRecordset("TblCycleCountRequest")
                
                
        Select Case Change
            Case "InProcess"
                Status_Hold = "Count in Process"
            Case "Complete"
                Status_Hold = "Initial Counts Complete/Pending Approval"
                If MsgBox("OK to send email requesting Mgmt approval? ", vbInformation + vbYesNo) = vbNo Then
                    Cancel = True
                Else
                    Forms!FrmCycleCountRequest![CCReq_Status] = Status_Hold
                    Call Run_CC_Email("Email_Organization_CC_Approval", Hold_ID)
                    Call Hide_Display_Mgmt_Approve("Display")
                    Call Hide_Display_Finance_Approve("Hide")
                    Call Hide_Display_Adjust("Hide")
                
                End If
            Case "Approved-Mgmt"
                Status_Hold = "Counts Approved- Pending Finance Approval"
                If MsgBox("OK to send email requesting Fiance approval? ", vbInformation + vbYesNo) = vbNo Then
                    Cancel = True
                Else
                    Forms!FrmCycleCountRequest![CCReq_Status] = Status_Hold
                    Call Run_CC_Email("Email_Finance_CC_Approval", Hold_ID)
                    Call Hide_Display_Mgmt_Approve("Display")
                    Call Hide_Display_Finance_Approve("Display")
                    Call Hide_Display_Adjust("Hide")
                  
                  End If
            Case "Approved_Final"
            Status_Hold = "Counts Approved- Pending Oracle Adjustment"
            If MsgBox("OK to send email requesting Oracle adjustment? ", vbInformation + vbYesNo) = vbNo Then
                   Cancel = True
                Else
                    Forms!FrmCycleCountRequest![CCReq_Status] = Status_Hold
                    Call Run_CC_Email("Email_Make_Adjustments", Hold_ID)
                    Call Hide_Display_Mgmt_Approve("Display")
                    Call Hide_Display_Finance_Approve("Display")
                    Call Hide_Display_Adjust("Display")
    
                 End If
            Case "Done"
                Status_Hold = "CC Completed"
                Forms!FrmCycleCountRequest![CCReq_Status] = Status_Hold
                Call Run_CC_Email("Email_Final_CC_Results", Hold_ID)
            Case Else
                MsgBox ("Case Else")
            End Select
                   
    End Function
    
    
    Public Function Lock_Counts()
         '    Forms!FrmCycleCountRequest!Frm_CC_Detail.Locked = True
    End Function
    
    
    
    Public Function Lock_Approvals()
    '      Forms!FrmCycleCountRequest![CC_Approval_Initials].Locked = True
    '      Forms!FrmCycleCountRequest![Finance_Approve_Initials].Locked = True
    '      Forms!FrmCycleCountRequest![MFG Adjust].Locked = True
    '      Forms!FrmCycleCountRequest![US2 Adjust].Locked = True
            
    End Function
    
    
    
    Public Function Calc_Actual_Total()
        
        Dim RstActDetail As DAO.Recordset
        Dim DB As DAO.Database
        Dim Tot_Actual As Long
        Dim No_more_Match As Boolean
        Dim Hold_ID As String
        Dim Hold_Subinv As String
        
        Tot_Actual = 0
        No_more_Match = False
        
          Set DB = CurrentDb
          
          Set RstActDetail = DB.OpenRecordset("Actual_Subinv_Count_Detail", dbOpenDynaset)
    
                          
          Hold_ID = Forms!Actual_Subinv_Count_Detail![TxtCC_ID]
          Hold_Subinv = Forms!Actual_Subinv_Count_Detail![TxtSubInv]
          
          RstActDetail.FindFirst "[Actual_ID] =  '" & Hold_ID & "' AND Actual_Subin = '" & Hold_Subinv & "'"
          
          If RstActDetail.NoMatch Then
            
            Forms!Actual_Subinv_Count_Detail![TxtAct_Det_Tot] = Tot_Actual
          Else
            Do While No_more_Match = False
             
            Tot_Actual = Tot_Actual + RstActDetail![Actual_Count]
            
            RstActDetail.MoveNext
                 
            If RstActDetail.EOF Then
                    No_more_Match = True
                 Else
                    If RstActDetail![Actual_ID] <> Hold_ID Or RstActDetail![Actual_Subin] <> Hold_Subinv Then
                        No_more_Match = True
                    End If
                End If
        
            
            Loop
         
        Forms!Actual_Subinv_Count_Detail![TxtAct_Det_Tot] = Tot_Actual
                
         
         End If
    
    
        RstActDetail.Close
        Set RstActDetail = Nothing
       
    End Function
    
    
    Public Function Hide_Display_Mgmt_Approve(Action As String)
     Dim True_False As Boolean
        
        If Action = "Hide" Then
            True_False = False
        Else
            True_False = True
        End If
            
        Forms!FrmCycleCountRequest![CC_Approval_Initials].Visible = True_False
        Forms!FrmCycleCountRequest![CC_Approval_Date].Visible = True_False
        Forms!FrmCycleCountRequest![Label66].Visible = True_False
    
    End Function
    
    Public Function Hide_Display_Finance_Approve(Action As String)
     Dim True_False As Boolean
        
        If Action = "Hide" Then
            True_False = False
        Else
            True_False = True
        End If
    
                Forms!FrmCycleCountRequest![Finance_Approve_Initials].Visible = True_False
                Forms!FrmCycleCountRequest![Finance_Approve_Date].Visible = True_False
                Forms!FrmCycleCountRequest![TxtFinance_Comm].Visible = True_False
                Forms!FrmCycleCountRequest![Frame70].Visible = True_False
                Forms!FrmCycleCountRequest![Label67].Visible = True_False
    
    
    End Function
    
    Public Function Hide_Display_Adjust(Action As String)
        Dim True_False As Boolean
        
        If Action = "Hide" Then
            True_False = False
        Else
            True_False = True
        End If
    
                Forms!FrmCycleCountRequest![MFG Adjust].Visible = True_False
                Forms!FrmCycleCountRequest![US2 Adjust].Visible = True_False
                Forms!FrmCycleCountRequest![Adjustments Complete].Visible = True_False
    End Function
    
    
    
    Public Function Process_Mgmt_Approval()
        If IsNull(Forms!FrmCycleCountRequest![CC_Approval_Date]) Then
          If Not IsNull(Forms!FrmCycleCountRequest![CC_Approval_Initials]) Then
                Forms!FrmCycleCountRequest![CC_Approval_Date] = Date
                      
                If Finance_Approval_Required = True Then
                    Call Manage_Status("Approved-Mgmt")
                Else
                    Call Manage_Status("Approved_Final")
                End If
          
          End If
    End If
    
    
    End Function
    Last edited by gits; May 10 '19, 01:02 PM. Reason: added code tags to that bunch of code
  • twinnyfo
    Recognized Expert Moderator Specialist
    • Nov 2011
    • 3665

    #2
    LorettaD,

    Welcome to Bytes!

    My hunch is that the MS Office 15 & 16 may be the issue. I can't tell which references your code is looking for. When you click on debug (which, from a DBA perspective, you should never be able to get there as a user) and your VBA editor opens, if you go to Tools | References, it will tell you whick MS Outlook Object Library the DB is looking for. You can share that with us, if you wish.

    Honestly, though, this should not be your place to fix this DB. Whoever built it should be the one to ensure all users are able to perform their requisite tasks. There are different way to automate Outlook--which can be helpful, particularly if certain users have different versions of MS Office.

    Not sure I hepped a whole heap, but maybe this could point your IT folks in the right direction of fixing this issue for you.

    Let us know how you come along....

    Comment

    • ADezii
      Recognized Expert Expert
      • Apr 2006
      • 8834

      #3
      Change Code Line# 153
      Code:
      Set objOutlook = CreateObject("Outlook.Application")
      to
      Code:
      Set objOutlook = New Outlook.Application
      and see what happens.

      Comment

      • zmbd
        Recognized Expert Moderator Expert
        • Mar 2012
        • 5501

        #4
        LorettaD

        + Can you open Outlook on your PC directly; if so, what version of Outlook opens on your PC?

        + What version of Access opens on your PC?

        What can happen with multiple versions of Office on a PC is that the installation can become corrupted, especially with Outlook - it is intended to have only one version installed. Microsoft's on documentation points this out.

        Comment

        Working...